awkでライフゲーム(リアルタイム処理)

awk

以前のブログの記事で、ライフゲームのアルゴリズムを紹介しました。 utthi-fumi.hatenablog.com utthi-fumi.hatenablog.com 今回はawkでライフゲームをリアルタイムで動くプログラムを作りたいと思います。 BEGIN{ # [2]定数を定義 FIELD_WIDTH = 12; # [2-…

awkでRPGゲーム

awk

ゲームでプログラミングとなると、大抵はjavascriptで作ることが多いと思います。 キーボード操作やマウス操作が絡んできますからね。 awkでも、リアルタイムでキーボード操作ができれば、ゲームを作ることができます。 キーボード操作そのものはシェルスク…

ライフゲーム

ライフゲーム 碁盤の目の上に、いくつかの石(生命体)を適当に配置する。これらの生命体は、以下に述べる簡単なルールに従って生き続ける。 それを見て楽しむという単純なゲームである。 盤面では、どの場所も縦・横・斜めに8個の場所と隣り合っているが、…

値の交換

変数a,bの値を交換するには、 a = b;b = a; /* 駄目 */ では駄目である。余分な変数tempを使って temp = a;a = b; b = temp; とする。あるいはビットごとの排他的論理和を使って b ^= a; a ^= b; b ^= a; としてもよい。 #include<stdio.h> void swap(int *x, int *y)</stdio.h>…

簿記3級仕訳問題80本ノック(その1)

table,blockquote{ display:none; } 10問ずつ掲載しております 末尾の答えを押すと、解答と解説が表示されます。 問題 1 土地100,000円を購入し、仲介手数料2,000円、登記料3,000円とともに小切手を振り出して支払った。 借方科目 金額 貸方科目 金額 土地…

サインカーブ

キャンバス // { let canvas = document.getElementById("graph"); ctx = canvas.getContext("2d"); paint(); }); function drawLine(x0, y0, x1, y1) { ctx.beginPath(); ctx.moveTo(x0, y0); ctx.lineTo(x1, y1); ctx.stroke(); } function paint() { ctx.…

サイン、コサインカーブ

三角関数 中心角の移動に応じて、sin/cosカーブをアニメーションで描画してみました。 キャンバス // { let canvas = document.getElementById("graph"); ctx = canvas.getContext("2d"); ctx.font = "24px sans-serif"; setInterval(tick, 10); }); functio…

三角関数

中心角とsin/cosの値を表示するアプリを作成 JavaScriptでは、Math.sin(),Math.cos()という関数が用意されているので、それを利用させてもらった。 中心角=0度 キャンバスの表示内容を説明する代替テキストです。 // 以下ソース <p><input id="theta" max="360" min="0" type="range" value="0" /> 中心角=<span id="degree">0</span>度<br /> <canvas id="graph" width="600" height="600">キャンバスの表</canvas></p>…

シンプルゲーム(重力加速度)

前回のjavascriptの重力加速度を参考にシンプルなゲームを作成しました。 マウスを押すと対象物が上に上がり、マウスを離すと対象物が下がるというシンプルなものです キャンバスの表示内容を説明する代替テキストです。 // down) { clearInterval(timer); }…

重力加速度(javascriptで実装)

重力には逆らえない。 遠投した時の軌道を書いてみた。

加速度(javascriptで実装)

加速度とは「単位時間あたりにどのくらい速度が変化するか」を表します。 加速度をjavascriptで実装してみます。

速度2(javascript実装)

前回に引き続き、速度の計算をjavascriptで実装してみる。

速度(javascript実装)

canvasの知識やゲーム作成の勉強を兼ねて、ブログに残しておきます。 まずは速度から。 一定の速度で右方向へ移動する単純なアプリからはじめよう。

円周率

php

円周率をプログラミングで出してみます。 phpだと、

アルゴリズム入門(フィボナッチ数列)

awk

フィボナッチ数列とは「直前の2つの項を足し合わせてできる数列のことで 【1,1,2,3,5,8,13,21・・・】 と無限に続きます。(1+1=2、1+2=3,2+3=5,3+5=8,・・・) このフィボナッチ数列をプラグラムで求めてみましょ…

ワシの.vimrc

vim

新たにlubuntu20.04をインストールしたので、ワシの.vimrcも再設定 防備録として 最低限の設定のみ "--------------------------------------------------------------------------- " 検索の挙動に関する設定: " " 検索時に大文字小文字を無視 (noignorecas…

アルゴリズム入門(素数)

awk

素数は、1とその数以外に約数を持たない数のことです。 ある数が素数かどうかを判定するには、約数の個数を調べます。 約数は、その数以下の自然数で割って、割り切れるか調べると求められます。 「10」の約数を見つけるには、1から順に10まで割ってみればい…

アルゴリズム入門(基数変換)

awk

私達人間は0〜9の10個の数字を使った10進数を使うことが一般的です。 それに対し、コンピュータは2進数で動いています。 2進数は0と1の2つの数字だけを使った表現する方法です。 つまり、0,1,10,11,100,101,110,111,1000,・・・のように桁が増えていきます。…

アルゴリズム入門(自動販売機でお釣りを計算)

awk

今回は、単純な自動販売機を考えてみます。 自動販売機は、投入した金額と購入したい商品の金額を比較して、投入した金額が商品の金額と同じ、または投入した金額のほうが多ければ商品を購入出来ます。 そして、投入した金額のほうが多かった場合はお釣りを…

アルゴリズム入門(FizzBuzz)

awk

企業がプログラマを採用する場面で「プログラムを書けるプログラマ」を見分けるためのテストとして知られる問題にFizzBuzzがあります。 これは、次のようなプログラムを作成する問題です。 1から100までの数を順に出力するプログラムを作成しなさい。 ただし…

ライフゲーム

awk

ライフゲームです。 ルールは下記のウィキペディアをご参照下さい。 ja.wikipedia.org #!/usr/bin/awk -f BEGIN{ N = 22; # 縦方向 M = 78; # 横方向 a[N / 2][M / 2] = a[N / 2 - 1][M / 2] = a[N / 2 + 1][M / 2]\ = a[N / 2][M / 2 - 1] = a[N / 2 - 1][m…

円周率を近似できる分数

awk

小学校で学ぶ円周率。 無限に続く循環しない小数で、既約分数で表せないということはよく知られています。 一方で、ゆとり教育において「円周率を3として計算する?」といった事が話題になりました。 実際には「3.14」が多く使われていますが、古くから分数…

ハノイの塔

awk

ハノイの塔でプログラミングするというのは、比較的よく見られますね。 最近ですと、FIzzBuzzでしょうか。 再帰の勉強になるということで、awk版を作成してみました。 #!/usr/bin/awk -f # ハノイの等 BEGIN{ ARGC == 2 ? n = ARGV[1] : n = 3; printf("円盤…

Term::ReadLine::Gnu インストール

久々のperlネタ パソコンで電卓を叩く時、私は perl -de 0; とするのですが、残念ながらperlのデバッガにはデフォルトでヒストリー機能がついていない。 Term::ReadLine::Gnuをcpanから入れると、ヒストリー機能が使えるのだが、インストールするのに手間取…

実力だけでは駄目なのよ

司馬遼太郎著 「義経」読了。 義経 中学生の頃に、何となく社会で覚えたが全く覚えていないので、読んでみた 源義経の戦は天才。 しかし、政治力はまるで子供。 この両極端な性格ゆえに、兄者である頼朝から毛嫌いされ、その理由もわからずに最終的には自害…

結局分かりませんでした

竜馬がゆく 「竜馬がゆく」読了。 司馬遼太郎の小説は、割と気合を入れて読まなければいけない。 読了するのに、やたら時間がかかる。 スイスイとは読めませんね。 以前、高知に住んでいながら、全然坂本龍馬の事を知らなかった。 勉強がてら、この本を買っ…

一発で決まる多数決

awk

久しぶりのawkネタ じゃんけんで出す手を使った多数決を考えます。 それぞれ出せる手は「グー」「チョキ」「パー」のいずれかです。 このとき、一番多くの人が出した手が勝つことになります。 例えば、6人で行うときは表1のように1回で勝者が決まる場合もあ…

志高く 孫正義正伝 新版 (実業之日本社文庫) 「志高く 孫正義正伝」読了。 孫正義、ご存知ソフトバンクの創業者であり、現会長。 彼がどのようにして、ソフトバンクを作ったのか。そしてどのようにしてソフトバンクを成長させたのかが分かる1冊。 志なくして…

awkでテトリス

awk

awkネタ 以前どっかのサイトに載せられていたawkで作ったテトリス。 これでテトリスが出来るのだからすげー。 ぜひ遊んでみてください。 # $Id: awktris.awk,v 1.4 2006/01/31 23:14:42 tnn Exp $ # awktris - tetris in 19 lines of code, or 1516 bytes. #…

誰かに必要とされる幸福感

コンビニ人間 コンビニ人間読了。 何でも合理的に考える主人公。 世間とのギャップに戸惑いながらもコンビニでバイトすることで、自分と世間のギャップを埋めていく。 店長から自分が必要とされていることを感じ、コンビニでバイトを続ける。 コンビニでバイ…