bitterharvest’s diary

A Bitter Harvestは小説の題名。作者は豪州のPeter Yeldham。苦闘の末に勝ちえた偏見からの解放は命との引換になったという悲しい物語

2014-11-01から1ヶ月間の記事一覧

RSA暗号の公開鍵を求める

1.RSA暗号 最近、記事の下に「RSA暗号を生成せよ」という広告がある。この記事の下にもあるのではないかと思うが、そこには次のことが書かれている。RSA暗号を生成せよ。適当な素数\(p\)と\(q\)、下の条件を満たす自然数\(e\) 条件1: \(0 条件2: \(gcd((p-…

素数を求める

1.エラトステネスの篩 素数を求める方法で、よく知られているのはエラストテネスの篩(ふるい)である。原理は次のようになっている。 1.2から始まる自然数のリストを用意する。 2.また、素数が求まっていたとする。 3.素数のリストは、自然数のリス…

骨付きラムと野菜のグリル

1.ラム 羊の肉はマトン、仔羊の肉はラムである。日本では羊の肉も仔羊の肉もあまり広くは受け入れられていない。例外は、北海道でジンギスカン鍋で羊の肉が使われる。最初に、羊の肉を食べたのはやはり北海道である。羊の肉で思い出となっているのは火鍋で…

YampaとOpenGL(GLUT)で簡単なシューティングゲームを作成する―付録

1.データ型 シューティングゲームの主要な部分の説明は終わったので、ここでは、このゲームのために定義したデータ型やタイプを説明する。プログラムは次のようになっている。 module Types where import FRP.Yampa type Pos = (Double, Double) type Vel …

YampaとOpenGL(GLUT)で簡単なシューティングゲームを作成する―メインプログラム

1.概略 ゲームを構成するプログラムの説明がほぼ終了したので、それらをまとめてゲームのプログラムとして機能させるメインプログラムを見ていく。Yampaではreactimateという関数を用意している。これを働かせるためには、初期化ルーチン、入力ルーチン、…

YampaとOpenGL(GLUT)で簡単なシューティングゲームを作成する―グラフィックス

1.概略 ゲームの出力を行うのはグラフィックスである。広く利用されているのはOpenGLである。その簡易版はGLUTである。また、最近ではSDL(Simple DirectMedia Layer)も広く利用されている。このシューティングゲームではGLUTを用いる。ゲームの進行状況を…

YampaとOpenGL(GLUT)で簡単なシューティングゲームを作成する―登場者の信号関数

1.概略 ゲームプログラムの登場人物、このシューティングゲームでは石二つと鳥一羽、の振舞いを定義しなければならない。どの石も同じ振舞いをすることにすると、ここでは、石と鳥の二種類の振舞いを定める必要がある。Yampaでは登場者の振舞いは信号関数…

YampaとOpenGL(GLUT)で簡単なシューティングゲームを作成する―プロセス(2)

5.用語の説明 説明に入る前にまず言葉の定義をしておく。ゲームの中で登場する人や物を登場者と呼ぶ。その振舞いは信号関数により定義されている。ゲームはある時間間隔で進行する。一つの時間間隔をサイクルと呼ぶ。登場者はあるサイクルを始める前にある…

YampaとOpenGL(GLUT)で簡単なシューティングゲームを作成する―プロセス(1)

1.プロセスの概略 Yampaを用いてのゲームは、reactimateを用いるが、reactimateは前にも記述した通り、init,input,output,processで構成されている。今回の記事では、この中のprocessについて説明する。ここで説明するゲームは極めて簡単なゲームで、石を…

グラーシュ

1.チェコの思い出 2年ほど前にチェコの首都プラハに1週間程度滞在したことがある。夕方になると、ビールを飲みがてら夕飯をとりに、地元の人達で賑わっているレストランを訪れた。ある時、母親と子供二人のテーブルに目が留まった。母親が子供の一人にパイ…

YampaとOpenGL(GLUT)で簡単なシューティングゲームを作成する―概略

1.Yampaでのゲーム作成 Yampaでのゲームの作成の概略はMeisinger作成の下図のとおりである。 この図をフローチャートで示したのがMeisinger作成の下図である。 ゲームのプログラムは、Yampaが用意しているreactimateという関数を利用する。これは4つの部分…

修善寺 虹の郷 菊花まつり

1.菊を愛でる 伊豆の修禅寺にある虹の郷で「菊花まつり」が開催されていたので見学に行ってきた。かってはお祭りに合わせて、全国各地で、菊の花を愛でる会があったが、現在は洋花に押されて豪華な菊の花を見る機会が減ったように思う。伊豆に滞在中の一日…

Yampaでゲームを定式化する―Haskanoidの信号関数

1.Haskanoidでの信号関数 パックマンでは信号関数はオブジェクトと入力の対を得てオブジェクトの新しい状態を得ていた。Haskanoidでも原理は同様である。信号関数はオブジェクトごとに用意され、信号関数への入力は、キーボード、マウス、Wiiリモートプラ…

Yampaでゲームを定式化する―Haskanoidのオブジェクト

1.動作画面 Haskanoidの操作画面は次のようになっている。 この画面が出てくるまで、インストール時に様々な障害に出会うことと思うが、最も生じやすいエラーは、画像や音声のデータがないと言われることだと思う。Haskanoidはこれらのデータをdata(小文字…

Yampaでゲームを定式化する―Haskanoid紹介

1.Yampaの生い立ち Yampaは前にも説明した通り、関数型リアクティブ・プログラミング(Functional Reactive Programming)の概念に基づいて離散的なシステムと連続的なシステムの両方を扱えるハイブリッドなプログラミングで、ドメイン特化言語である。Yampa…

Yampaでゲームを定式化する―概略

1.懐かしいパックマン Yampaを用いてのゲームの作成方法は、Gerold Meisinger (University of Applied Sciences Upper Austria) の学位論文「Game-Engine-Architektur mit funktional-reaktiver Programmierung in Haskell/Yampa」やそれに関連する学会論…