fx-CG50 への移植 - もぐら叩き

2017/07/28
ソースリスト差し替え 2017/08/29
表現を一部変更 2017/10/05


fx-CG50 を入手したので、fx-5800P プログラム - もぐら叩きを 移植してみました。Casio Basic の機能は fx-CG50 と fx-CG20 とで完全互換なので、どちらでも遊べます。


目 次

1. ファイル構成

2. 主な変更点

3. プログラムのダウンロード

4. おわりに


ファイル構成

移植後も2つのファイルで構成されるのは、fx-5800P バージョンと同じ。
  • 最初に起動するメインルーチンのファイル名 WHACK-A-MOLE は12文字。fx-5800P はファイル名最大12文字だが、fx-CG50 (fx-CG20 や fx-9860GII も) は最大8文字。そこでファイル名を短くして WHACKAMO に変更。
  • WHACKAMO から呼び出されるサブルーチン (ゲーム本体) WAM は同じファイル名でOK。

主な変更点

fx-5800P からの移植での主な変更ポイント;
  • キーコードの変更
  • Locate の位置を指定するパラメータを画面サイズに合わせて変更 (画面デザインの変更)
  • カラー表示
  • 配列変数を行列に変更
  • 処理速度が格段に速いので、もぐらの動作を遅くしないと、速すぎて遊べない。そこで、ゲーム進行の中心に使っているカウンタ C (カウントダウンループの実行回数) に係数 (重み係数) をかけて、Cと大小比較してチェックする各種イベントの発生を遅らせた。この係数 Wait を新たなパラメータとして新設した。
  • fx-5800P に対する fx-CG50 処理速度向上は、内部計算とテキスト表示で異なる。つまり内部計算とテキスト表示の重み付けは Wait 係数で一律に対処できない。そこで各処理のバランスをとるために各種パラメータのデフォルト値を見直して対応。
  • 設定画面は大幅に書き直し。fx-5800P の便利な旧来の命令 ? が、fx-CG20 / CG50 のCasio Basicには実装されておらず、代わりに ?→ 命令を使うと、設定値入力の際に現在の設定値が表示されない。ゲーム設定を変更する微妙なところは現在の設定値は必ず表示させたいので、それを実現するために e-Gadget 特製 入力ボックス 2.1G を使い、さらに全設定パラメータを、画面スクロールなしで、1画面で表示・変更できるようにした。
ゲーム本体 (WAM) のロジックは fx-5800P 版と全く同じなので、詳しくは もぐら叩きの記事 を参照ください。
WAM について、追加や変更した部分を赤文字で示し、fx-5800P 版と fx-CG50 版のプログラムを並べると、同じプログラム構造で必要なところだけ追加や変更していることが分かると思います。


[2017/10/05 修正]
Comparison_WAM2  

メインルーチンの WHACKAMO は、各種パラメータの変更の機能を入力ボックスを利用する方針にしたので、プログラムの構造を大幅に変更しました。fx-CG50 用のプログラムコードを以下に示します。

fx-CG20 Whack-a-Mole ソースリスト


プログラムのダウンロード

fx-CG50 / 20 だけでなく、fx-9860G シリーズ用にも移植しました。各機種ごとのプログラムは、以下からダウンロード;
おわりに

fx-CG50 の概要 に書いたように、この電卓はキーの構造に問題があって、テンキーまわりの大きなキーは右端を軽く叩く程度だと接点が導通しなくてキーの取りこぼしが発生します。全体的にとても良くまとめられているのに、こんな設計 or 製造不良は本当に勿体ないと思います。改善品との無償交換 (リコール) してもよいくらいの不具合だと思います (先ずあり得ないとは思いますが...)。

fx-CG50 の概要 で、キーを頻繁に叩くゲームでは致命的だろう...と書いたので、それを実際に試すために、もぐら叩き ゲームを fx-CG50 に移植しました。

実際にテンキー入力の取りこぼしのために関数電卓として使っている際には頻繁に支障がでます。ところが、このゲームに限っては思ったよりも影響が少なかったと正直に言っておきます。というのも、比較的強くキーを叩くことが多いためです。しなしながらこのキーの不具合に関しては、慣れの問題で片付けられるものではないと思います。




応援クリックをお願いします。励みになるので...
にほんブログ村 IT技術ブログ 開発言語へ


 


keywords: プログラム関数電卓、fx-CG50、クロックアップ、Ptune3

リンク集 | ブログ内マップ
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

インサイドCasio Basic プロジェクト

2016/05/01
更新 2017/10/03

項目を追加・修正したら、本エントリーを更新します。


比較的プログラミング経験のある人の役に立つように、fx-5800P、fx-9860GII そして fx-CG20/10 の Casio Basic の要点を辞書のように簡潔にまとめる作業を始めています。

fx-5800P、fx-9860GII、fx-CG20 の Casio Basic を徹底的に解剖した結果、取扱説明書に書かれていない重要な内容にUNDOCUMENTED マークを付けているのが特徴です。「文書になっていない」、「取説に書いていない」という意味です。


sentaro様の作品である、アドイン版 Casio Basic のインタープリタ版 C.Basic のマニュアルやコマンドリファレンスをまとめるための下準備の意味もあります。C.Basic は Casio Basic に準拠しているのが特徴で、さらに独自拡張機能を追加した仕様なので、準拠している部分はインサイド Casio Basic がカバーします。その上で、C.Basic の独自拡張機能をまとめる予定です。

英文と和文の両方で進めています。

 Inside Casio Basic (ブログ、英文)

Inside Casio Basic (e-Gadget ホームページ、英文)

 インサイドCasio Basic (ブログ、和文)


これまで公開してきた Casio Basic コマンドリファレンス は、主に fx-5800P 向けのものですが、fx-960GII、fx-CG20、fx-CG50 向けの内容も含めます。今あるコマンドリファレンスは、Casio Basic入門と連動して作ったものですが、プログラミング経験者向けの インサイド Casio Basic では、より客観的でそれ自体で完結するような書き方にしようと思っています。

上記のページから、各項目へリンクしていますが、リンク先の各項目は、敢えて古い日付にして、ブログの新着に表示されないようにし、他の記事の邪魔にならないようにしています。新しい項目を追加したり修正した時は、上記のトップページの日付を最新に更新します。


内容や英語表現でお気づきの点があれば、是非ともご意見やアドバイスをお聞かせください。


応援クリックをお願いします。励みになるので...
にほんブログ村 IT技術ブログ 開発言語へ


 

関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム電卓は、プログラムを作って、使ってナンボ!

プログラム電卓を実際に使って気づいたこと、自作プログラム、電卓での Casio Basic, C.Basic そして Casio Python プログラミングについて書いています。

なお管理人はカシオ計算機の関係者ではありません。いつでもどこでもプログラミングができるプログラム電卓が好きな1ユーザーです。


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR