🌸 「なでしこ」
>
🍯 「貯蔵庫」
🍯 なでしこ3貯蔵庫
🌟新規
📒一覧
🔌
🔍検索
🚪ログイン
ログイン
していません。
[
📌文法
] [
🎨命令一覧
]
[編集モード] マルバツゲーム(人対人)
アドベントカレンダー7日目。
プログラム:
(→大)
(→textarea)
(→左右に配置)
#---宣言----- 定数 ゲーム画面=描画中キャンバス。 定数 マス幅=100。 定数 [アキ,マル,バツ]=[-1,0,1] 変数 [手数,手番]=[0,0]。 変数 局面=空配列。 #勝敗判定 定数 パターン=[[0,1,2],[3,4,5],[6,7,8],[0,3,6],[1,4,7],[2,5,8],[0,4,8],[2,4,6]]。 定数 [引き分け,継続]=[-1,-2] 定数 マルバツ=["⭕","❌"] 変数 ゲーム中=はい。 #----------------------------------------------- 画面描画。 番号を0から8まで繰り返す。局面[番号]=アキ。。。 #---イベント----- ゲーム画面をマウス押した時には もし、ゲーム中がいいえならば、戻る。 列=(マウスX/マス幅)の整数部分。 行=(マウスY/マス幅)の整数部分。 番号=行*3+列。 もし、局面[番号]がアキでなければ、戻る。 局面[番号]に手番を代入。 番号に手番をマルバツ描画。 0.1秒後には #chromeで描画より先にダイアログが上がっちゃうの防ぐため 勝敗判定して結果に代入。 もし、結果が継続ならば、 手数=手数+1。手番=手数%2。 違えば、 結果で終局。 ここまで。 ここまで。 ここまで。 #---関数---------- #描画 ●画面描画 4に線太さ設定。黒色に線色設定。 2回 [マス幅*回数,0]から[マス幅*回数,マス幅*3]へ線描画。 [0,マス幅*回数]から[マス幅*3,マス幅*回数]へ線描画。 ここまで。 ここまで。 ●(番号に記号を)マルバツ描画 定数 [マル中点,マル半径,バツ始点,バツ終点,記号太さ]=[50,30,20,80,10] x=番号を3で割った余りにマス幅を掛ける。 y=番号を3で割って、それの整数部分にマス幅を掛ける。 「#DD3344」に線色設定。空に塗り色設定。記号太さに線太さ設定。 もし、記号がマルならば、 [x+マル中点,y+マル中点]にマル半径の円描画。 違えば、もし、記号がバツならば、 [x+バツ始点,y+バツ始点]から[x+バツ終点,y+バツ終点]まで線描画。 [x+バツ始点,y+バツ終点]から[x+バツ終点,y+バツ始点]まで線描画。 ここまで。 ここまで。 #勝敗判定 ●勝敗判定 パターンを反復 変数[a,b,c]=対象。 もし、(局面[a]≠アキ)かつ(局面[a]=局面[b])かつ(局面[a]=局面[c])ならば、局面[a]で戻る。#全部同じ記号(マル(0)かバツ(1))なので、その手番の側が勝ち。 ここまで。 もし、手数が8以上ならば、 引き分けで戻る。#勝者が出ずに8マス全て埋まっている。 違えば、 継続で戻る。 ここまで。 ここまで。 ●(結果で)終局 もし、結果が引き分けならば、 「引き分け。」を言う。 違えばもし、結果>引き分けならば、 「{マルバツ[結果]}の勝ち。」を言う。 ここまで。 ゲーム中は、いいえ。 ここまで。
▶ 実 行 [F9]
クリア
一時保存
デバッグ
ブレイクポイント:
→ 再開
↓ 一行次へ
×
キャンバス: 幅
× 高
9967aa9dbc09fa5536b9334c78b26006
860
上書き保存
表示ページ
→直前に実行(または一時保存)した内容を復元
なでしこバージョン: v
素材のアップロード
ログイン
するとファイルをアップロードできます。