<対面ゲームからコンピュータ・ゲームへ>
コンピュータ・ゲームにすると次のように内容が変わります。
インターネットに出ている戦術 (O. Kreylos, 1999) を拝借します。c言語ですが、Pythonで書き換えると右のようになります。(i, j) はユーザーが打った位置です。
|
<Python による コンピュータ側の作戦>
|
<Modula-2 によるパソコンゲーム, CornerTheQueen.MOD> XDS Modula-2/TopSpeed extension によるプログラム構成を下に示します。テキスト画面上のメインメニューで"G" を入れるとゲームが始まります。 ユーザーはキーボードから (i,j) の値を入力します。 |
<Modula-2 のゲーム画面> Queenとマス目をそれぞれ o と o で表現しています。テキスト画面なのでゲーム盤の縦横比は、1画面の行数と1行あたりの文字数で決まってしまいますが、描画プログラム Display(i,j) は簡単になります。 |
<Python によるパソコンゲーム, CornerTheQueenMainLoop.Py> pygame.py, pygwidgets.py を取り込んでグラフィックス画面上で動くプログラムです。マウス・クリックによる event には、Queen位置のユーザー入力、再スタート (リセット)、終了の三通りあります。Idle では0.5秒程度待ちます。 |
<Python のゲーム画面> Queenを●で表していますが画像に替えることもできます。左は開始前のスタンバイ画面、右はPCが勝ったときの画面です。 マス目の中を、どこでもいいからクリックすればマス目の真ん中に●が現れます。その場所がルールに従っていれば PC は上記の作戦を実行しますが、ルールに違反していれば音が鳴って●は元の位置に戻されます。ユーザー入力はやりなおしです。 |