fx-5800P【ゲーム】:もぐら叩き~まとめ~
fx-5800Pでもぐら叩き
e-Gadget
fx-5800P で作る「もぐら叩き」ゲームのまとめ:
コード修正 2014/03/20
fx-FD10 proに関する記述追加 2014/09/28
コード誤記修正 2016/05/12
fx-CG20 に関する記述修正 2017/01/04
fx-CG50 に関する記述追加 2017/07/24
追記 2017/08/06
追記 2020/05/30
fx-FD10 proに関する記述追加 2014/09/28
コード誤記修正 2016/05/12
fx-CG20 に関する記述修正 2017/01/04
fx-CG50 に関する記述追加 2017/07/24
追記 2017/08/06
追記 2020/05/30
普通のプログラム作成の記事と異なり、多少冗長な内容になっており、(1)~(8)で、徐々にプログラムを作ってゆく様子を複数の記事で紹介した。
最終的なプログラムは、本ページの一番下に掲載した。またこれを一部改善したもの、および各機種へ移植したものを プログラムライブラリに収録している。[2017/08/06 追記]
▶ プログラムライブラリ - もぐら叩き (fx-5800P)
▶ プログラムライブラリ - もぐら叩き (fx-9860GII)
▶ プログラムライブラリ - もぐら叩き (fx-CG20 / fx-CG50)
以下の記事は作りながら書いているので、プログラミング本のように最終形を想定した進め方になっていない。途中でロジックの変更や、バグ対策や、変数の変更など、実際にどうやって完成させたかをそのまま書いている (fx-5800P版)。
fx-5800P【ゲーム】:もぐら叩き(1)
fx-5800P【ゲーム】:もぐら叩き(2)
fx-5800P【ゲーム】:もぐら叩き(3)
fx-5800P【ゲーム】:もぐら叩き(4)
fx-5800P【ゲーム】:もぐら叩き(5)
fx-5800P【ゲーム】:もぐら叩き(6)
fx-5800P【ゲーム】:もぐら叩き(7)
fx-5800P【ゲーム】:もぐら叩き(8)
fx-5800P に搭載されているプログラミング言語は、Casio Basic というカシオの味付けをした BASIC言語 だ。
特に、もぐら叩きのようなゲームを作る際に特に重要かつ必要なものは、以下の機能だろう。
1) 広い表示画面
2) Getkeyコマンドによる、リアルタイムキー入力監視機能
3) Locateコマンドによる、柔軟な表示機能
4) 真 (0以外) と 偽 (0) による条件判定
さらに、昔のプログラム電卓に搭載されていた BASIC と異なり、構造化プログラミングの考えでコーディング可能な点も特筆できる。昔のプログラム電卓やポケコンに搭載されていた BASIC は行番号と GOTO コマンドでプログラムの流れを作っていたが、現在の Casio Basic は Goto コマンドを使わずに制御構造を作れるので、上から下へのシンプルな直線構造のコードの中に、1まとまりの処理ブロック1本に繋げる、いわゆるブロック構造にできるので、分かりやすくバグの入りにくいコードが書けるようになっている。
これらの機能が、fx-5800P を魅力的にしている。
CASIOの電卓の中で、上記を満たすプログラミング言語を搭載されているのは、下記のモデルだ。
・fx-9860Gシリーズ: グラフ関数電卓(生産終了)
取扱説明書
・fx-9860G IIシリーズ: グラフ関数電卓(生産終了)
メーカーサイト / 取扱説明書
・fx-9860GIII: グラフ関数電卓 (現行品、ヨーロッパ専用モデル)
メーカーサイト / 取扱説明書
・fx-9750GIII: グラフ関数電卓 (現行品、北米専用モデル)
メーカーサイト / 取扱説明書
・fx-CG20 / fx-CG10: カラーグラフ関数電卓(生産終了)
メーカーサイト / 取扱説明書
・fx-FD10 pro:土木測量向けプログラム関数電卓 (現行品)
メーカーサイト / 取扱説明書
・fx-CG50:カラーグラフ関数電卓 (現行品 - 2017/10/20 国内発売)
メーカーサイト / 取扱説明書
・fx-5800P: プログラム関数電卓(現行品)
メーカーサイト / 取扱説明書







各機種の画像の右に、対応する「もぐら叩き」プログラムのダウンロードリンクを示している。ダウンロードして転送するだけで楽しめる (fx-5800P は CcLinker を使ってダウンロードしたプログラムファイルを転送できる) ので、先ずは遊んでみてください。
完全互換でないのには理由がある。電卓の機種が異なると、ハードウェアの違いからキー配置が異なる。従って、Getkeyで得られるキーコードが異なるため、ソースレベルでの互換性は無い。これを除けば fx-5800Pのプログラムからの移植性は比較的高いと(旧来の命令の互換性については、少し注意が必要だ⇒こちらを参照)。
fx-5800P、fx-9860Gシリーズ (さらにOS載せ替えしたfx-9750Gシリーズ)、fx-CGシリーズ以外ではこのゲームは走らない。例えば、fx-72F、fx-71F 、fx-3600P、fx-3950Pなどはプログラム機能が十分でないので適用外だ。
ところで、fx-9860GII、fx-CG20、fx-CG50、fx-FD10 Pro は、1万円以上の価格だ。一方で、fx-5800P は 6千円台前半 (2017/01/01時点の Amazon価格) と格段に手軽な価格だ。この価格で、上記4つの条件を満たす言語を搭載しているのだから、改めて魅力的なマシンと言える。
※ 興味があれば、最近のCasio プログラム電卓の価格動向 をご参照。
当初は、fx-5800P のような電卓で、遊べるアクションゲームを作れるとは思っていなかった。たまたま、Goto~Lbl コマンドで、カウントタイマーを作ってみると、意外に速いことから、実際に遊べるレベルのアクションゲームを作れるかどうかを試したくなったのが、もぐら叩きを作り始めた動機だった。
パソコンで作るゲームと異なり、最初にゲーム仕様を作るのではなく、機能を追加した時にゲームとしてのスピード感を損なわないように探りつつ、様子を見ながら後付けでゲーム仕様を考えた。実際に私自身が考えたり試したりした事柄を、時系列で実況中継風に書いた結果、冗長な記事となってしまった。
できあがったゲームは、バリバリのゲーマーには物足りないのだが、普段からあまりゲームで遊ばない人間(=私)には、少しすつスキルアップして、得点が増えてゆくのが愉しい。
ご興味の有る方は、是非一度プログラムを入力して、遊んでみて欲しい。
もぐら叩きが意外にうまくいったので、最近はシューティングゲームができないものか?と、色々と動きのあるルーチンを作って遊んでみている。ひょっとしたら、何かシューティングゲームができるのかも知れない。
電卓の遅い処理速度、完全シングルタスク、広いといっても16×4 しかない画面で、動きやロジックを試しながら、遊べそうなゲームを模索してみようと思っている。
おしまい( ^o^)ノ
以下は、プログラムコード: [2016/05/15 誤記修正]
[2017/08/06 追記]
メインルーチンの3行目 Lbl 0 の下に、2行追加したものをプログラムライブラリに収録している。
追加した2行は、
While Getkey
WhileEnd
もぐら叩き: Wack -a-Mole by やす(Krtyski)

応援クリックをお願いします。励みになるので...
- 関連記事
-
-
fx-5800P 素因数分解 - さらなる高速化 2021/01/02
-
fx-5800Pで素因数分解 2020/12/24
-
fx-5800P【ゲーム】:もぐら叩き~まとめ~ 2020/05/30
-
fx-5800P 素因数分解 - 結果表示のバリエーション 2019/07/15
-
fx-5800P【ゲーム】:Hit&Blow 2018/10/30
-