🌸 「なでしこ」
>
🍯 「貯蔵庫」
マルバツゲーム(人対人)
🌟新規
📒一覧
🔌
🔍検索
🚪ログイン
マルバツゲーム(人対人) 📖
アドベントカレンダー7日目。
プログラム:
(→大)
#---宣言----- 定数 ゲーム画面=描画中キャンバス。 定数 マス幅=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マス全て埋まっている。 違えば、 継続で戻る。 ここまで。 ここまで。 ●(結果で)終局 もし、結果が引き分けならば、 「引き分け。」を言う。 違えばもし、結果>引き分けならば、 「{マルバツ[結果]}の勝ち。」を言う。 ここまで。 ゲーム中は、いいえ。 ここまで。
プログラムを実行
⭐ 雪乃☆雫 作
(
関連URL
)
タイトル:
マルバツゲーム(人対人)
ライセンス:
CC0 (著作権破棄)
タイプ:
wnako
タグ:
アドベントカレンダー2021
,
ゲーム
利用バージョン:
3.2.30
作成日時:
2021/12/06 17:21 (編集: 2022/11/28 14:29)
公開の投稿
⭐⭐
ログイン
して★を付けよう!
Twitterへ投稿
📝作品を編集
作品公開情報
📍この作品のURL:
📍アプリ(即時実行)のURL:
📍アプリ(実行ボタンあり)のURL:
📍ブログパーツ:
上記HTML↑をブログに貼り付けることでアプリを埋め込めます。
📍ライブラリ直リンク - 『!「***」を取込』で使うとき:
📍なでしこハブ (最新版の反映は1日後):
ソースの確認
編集履歴の確認
通報数:
0
通報って何?