Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

パズルゲーム 「ピラミッド100」

2017/09/24 19:18:22

パズルゲーム 「ピラミッド100」

tomo

tomo

【遊び方】
1.二人で交互に石を積み上げて、合計100個の石でピラミッドを完成させてください。
2.ただし、一度に積める石は1~7個までです。
3.最後に頂上(100個目)に石を置いた人が勝ちです。

勝負が決まった後のEnterキー待ちで、1か2を入力すると、次はIchigoJamが相手をしてくれます(1:先手、2:後手)。

ラベルを使用しているので、IchigoJam BASIC ver1.2以上が必要です(ver 1.2.3で動作確認済み)

【主な使用変数】
P 現在のプレイヤの石のキャラクタコード
N 1回に積み上げた石の数(1~7個まで)
C 積み上げられる残りの石の合計数(初期値100、0になったら終わり:v1.3で仕様変更)
A 先手の積んだ石の合計
E 先手の石のキャラクタコード
B 後手の積んだ石の合計
F 後手の石のキャラクタコード
[0]~[99] ピラミッド表示用(100個分の各プレイヤの石のキャラクタコードを格納)
O ゲームモード
0:人対人 1:Ichigo(先手)対人 2:人対Neko(後手) 3:Ichigo対Neko
  ※他のプログラム実行後にこのゲームするときは、CLV:RUN で実行すること
  ※O=3の時はIchigoJam同士で永久に対戦を続けます(デモ用)

【ざっくりしたプログラム説明】
10~50  初期化と初期画面表示
    30~40 先手と後手の石のキャラクタコード設定(#E0以下にすること)
    50~ 初期ピラミッドの石のキャラクタコード設定。
       頂上はあえて!マーク。

70~90  先手の処理(入力と表示)および勝負判定
100~120 後手の処理および勝負判定

140~190 勝利者の表示と、再ゲーム待ち(ゲームモードの変更)
      190行は、本当にこれで動くのか試したかっただけ

200~280 入力サブルーチン:積み上げる石数の入力と判定
     230  人間の入力
         現在のプレイヤのキャラクタが#E0以下だったら人間と判断(18/8/13ichigov1.2.4b対応に修正)
     240~ IchigoJamの入力(計算)
         260行のWAIT文は、いかにも考えているふりをするため。
     270  入力値判定
         1~7の範囲で、合計して100を超えない値であること
     280  プレイヤが積んだ石の数だけ、配列[0]-[99]にプレイヤの石のキャラクタコードを代入する

290~450 ピラミッド表示サブルーチン
300~ タイトルとピラミッド本体の表示
     330~ 左右の地平線を表示
     370~ ピラミッド本体を表示
[0]から[99]のキャラクタコードを下段から上段へ向かって表示

PLAY

Programmers played with this program.3 programmers

ato5fun
ato5fun
2018/11/08 20:13:52
永谷 弘宣
永谷 弘宣
2018/03/07 12:48:15
Kidspod運営チーム
Kidspod運営チーム
2017/10/02 09:42:54