ひろじいべーしっくch 第27回の動画の解説・補足。(0-027)
ここでは、サンプルプログラム「なんちゃって株式?」の説明のほか、ちょっとAI解説を紹介します。
プログラム
今回のプログラムはこちら。(公開キー443E4X1、LOAD“N27_KABUSIKI”)
このゲームはプラスキーでの実行後、所持金10万円からスタートし、A社とB社の株価変動が動き出します。パネルには100株単位と500株単位の売買が行える枠が描かれており、そこをタッチすると取引が行われます。購入するには所持金が0以下になると制限がかかります。また、所有する株式以上の売却はできません。なるべく単価(株価)が安い時期に購入し、なるべく単価(株価)が高い時期に売却すれば儲けが多くなります。なるべく儲けを多くすることを目標にするゲームです。

このブログにおいてはなるべく専門用語を使用せずに非常に短く簡潔に説明しています。
一部の内容を省略している箇所があります。
詳細を知りたい方は公式リファレンス等も参照してください。
GPAINT
GPAINT 開始点X,開始点Y[,塗りつぶし色]
GPAINT 開始点X,開始点Y[,塗りつぶし色,境界色]
グラフィックページを塗りつぶす
・境界色省略時、開始点座標にある色の範囲を塗る。
引数
開始点X,Y
塗りつぶしを開始する座標
塗りつぶし色
塗りつぶしに使用する色
・色コードの説明はGCOLORを参照。
・省略するとGCOLORで設定した色を使用する。
境界色
塗りつぶしの境界として見る色
・省略時は塗りつぶし色と異なる色をすべて境界として見る。
例
GPAINT 200,120,RGB(255,0,0),RGB(0,0,0)
動作の説明

以下は、おおまかな動作の説明です。
なお、今回は変数の説明と配列の説明もしておきます。
変数名 | 内容 |
T0 | 通常の時間の管理用。60を超えるとTを1増やして0にする。 |
T | グラフの進行管理用。Tが38を超えるとEND |
TF | タッチパネルの連続入力防止用のフラグ(カウンタ) |
AF | タッチパネルの種類の管理用 |
MA | 所持金 |


(注意)動画内で説明していますが、本来ならグラフ1~3を元にすべて4種類の反転等のグラフに展開していく方がゲーム上の仕様としては明確になります。ところが、このプログラムではこの様にはなっていません。
このままでも充分楽しめますが、グラフ1~3を元にすべて4種類の反転等のグラフに展開していく仕様にするには、グラフ4~6は3種類しかないため、これをグラフ4~7に、グラフ7~11は5種類となっていることから8~11に変更して下さい。
この説明については動画の10分29秒で解説しています。

以下、グラフのデータの全4種類です。なお、実際にグラフで再現される際には、プチコン4では値がプラスの方が下方に表現されるため、このグラフの上下さかさまになります。
グラフ1

グラフ2

グラフ3

グラフ4


「A社のグラフを描く。B社のグラフを描く」の際の補足の図が以下の3つです。
基本の図

上昇時は配列DCを用いて、色は緑(RGB(100,200,0))

下降時は配列DCを用いて、色は赤(RGB(100,0,0))



A社の場合のそれぞれのパターンにおける取引成立の条件の全て

B社の場合のそれぞれのパターンにおける取引成立の条件の全て

取引成立時のそれぞれの計算。上段が株式数の計算。下段が所持金の計算です。

実行画面

補足
今回は、ちょっとAI解説を紹介します。
袋とじ1(ChatGPT3.5)
動画の20分18秒

袋とじ2(wrtn)

動画の23分56秒

袋とじ3(KLING AI)
動画の25分31秒

袋とじ4(Runway Gen-2)

動画の28分14秒

まとめ
1. タッチパネルの連続入力防止の対策に注目。
タッチパネルのセンサーは敏感であることから、単に命令の羅列でプログラムを組んでいくと、少し触っても何回も触ったことと同じ処理になりやすい。そこで最初の1回目だけを拾って処理をする(変数TFの初期値を0にしておき、タッチがあった時に変数TFを1にする。その後サブルーチンを抜けた時にTFを2以上にしておき、連続入力の心配が解消される程度の時間が確保できた段階でTFを0に戻す)工夫が大事になっていきます。
2. AIの進化に注目
「AIでプログラミングの知識がなくてもプログラムの生成ができる」という宣伝文句を聞いたことがあるが、やはりその生成されたプログラムに不備があった場合には、扱う人間側にデバッグ作業や修正箇所の判断がゆだねられる。プログラミングの知識がなければAIへの修正の指示もできない。「プログラミングの学習は不要」と「プログラミングの知識を学んでAIをあくまでも道具として管理する」とは意味が真逆である。あなたはどちらを選びますか。
コメント