🌸 「なでしこ」
>
🍯 「貯蔵庫」
トランプゲーム「ぶたのしっぽ」(マイナビ連載より)
🌟新規
📒一覧
🔌
🔍検索
🚪ログイン
トランプゲーム「ぶたのしっぽ」(マイナビ連載より) 📖
トランプゲーム「ぶたのしっぽ」です。マイナビなでしこ連載77回目のプログラムです。
プログラム:
(→大)
#-------------------------------------------------- # トランプ「ぶたのしっぽ」 #-------------------------------------------------- # [解説] マイナビ連載 77回目のプログラムです # [URL] https://news.mynavi.jp/techplus/article/nadeshiko-77/ #-------------------------------------------------- # プログラム内で使う変数一覧 豚カード=[] # 裏返しに置いてあるカードの一覧 自分手札=[] # 自分の手元にあるカード 相手手札=[] # 対戦相手(コンピューター)の手元にあるカード 山札=-1 # 山札の先頭にあるカード 山札一覧=[] # 山札に重ねたカードの一覧 #-------------------------------------------------- カード種類=["♥","♦","♣","♠"] カード数字=["A","2","3","4","5","6","7","8","9","10","J","Q","K"] カード色=["pink","red","green","black"] #-------------------------------------------------- 豚ボタン一覧=[] # ボタンのオブジェクトを管理 画面作成処理。 新規ゲーム。 ●新規ゲームとは 豚カード=カードシャッフル後取得。 山札=豚カード[0] 山札一覧=[山札] 豚カード[0]=-1 自分手札=[] 相手手札=[] カード画面表示 ここまで。 ●画面作成処理とは DOM親要素に『 <style> #buta{ font-size:1.0em; line-height:1.8em; } #buta button { width: 3em } </style> <div id="buta"><h1 id="yamafuda" style="font-size:2em;">*</h1> <div id="buta-card"></div> <div id="info" style="font-size:1.3em;">-</div> <div id="info2" style="color:gray;">-</div></div>』をHTML設定。 「#buta-card」にDOM親要素設定。 「<div id="turn">カードを選択してね</div>」のラベル作成。 IDを0から51まで繰り返す: B=「?」のボタン作成。 B["data-id"]=ID Bをクリックした時には: (対象["data-id"])の豚カード処理 豚ボタン一覧[ID]=B もし、ID%5=4ならば、改行作成。 ここまで。 ●カードシャッフル後取得とは カード=0から51までの配列連番作成。 カードを配列シャッフル それはカード ここまで。 ●カード画面表示とは # 豚カードを描画 山札ラベル=山札を番号ラベル変換 「#yamafuda」へ「山札:{山札ラベル}」をHTML設定。 Cを0から51まで繰り返す: NO=豚カード[C] ラベルは「?」 もし、NO=-1ならば、ラベル=「_」 豚ボタン一覧[C]にラベルをHTML設定。 「#info2」に「 現在の山札: {山札一覧の要素数}枚<br> 自分の手札: {自分手札の要素数}枚<br> 相手の手札: {相手手札の要素数}枚」をHTML設定。 ここまで ●(IDの)豚カード処理とは もし(豚カード[ID]=-1)ならば戻る。 「自分」がIDのカード選択。 「#turn」に「対戦相手のターン」をHTML設定。 相手カード選択処理。 「#turn」に「カードを選択してね」をHTML設定。 ここまで。 ●(番号を)番号ラベル変換とは T=INT(番号÷13) N=番号%13 「<span style="color:{カード色[T]}"> {カード種類[T]}{カード数字[N]}</span>」を戻す。 ここまで ●(誰がIDの)カード選択とは 番号=豚カード[ID] 山札ラベル=山札を番号ラベル変換。 取得ラベル=番号を番号ラベル変換。 T=INT(番号÷13) N=番号%13 T山札=INT(山札÷13) N山札=山札%13 判定=「」 もし(T=T山札)または(N=N山札)ならば もし、誰=「自分」ならば 判定=「 → 😿 残念...」 自分手札=自分手札と山札一覧を配列足す 違えば 判定=「 → 😊 やった!」 相手手札=相手手札と山札一覧を配列足す ここまで。 山札一覧=[] ここまで。 カード画面表示。 山札=番号 豚カード[ID]=-1 「#info」に「山札:{山札ラベル} {誰}:{取得ラベル} {判定}」をHTML設定。 豚ボタン一覧[ID]に取得ラベルをHTML設定。 山札一覧に山札を配列追加。 2秒待つ 「#info」に「-」をHTML設定。 ここまで。 ●相手カード選択処理 # クリア判定 残数=0 豚カードを反復: もし、対象≠−1ならば、残数=残数+1 もし、残数=0ならば 自分枚数=自分手札の要素数 相手枚数=相手手札の要素数 もし、自分枚数=相手枚数ならば 判定=「引き分け」 違えば、もし、自分枚数<相手枚数ならば 判定=「勝利!」 違えば 判定=「敗北」 ここまで。 カード画面表示。0.1秒待つ。 「ゲームクリア!判定は...{判定}」と言う。 新規ゲーム。戻る。 ここまで。 # カード選択 オンの間: ID=52の乱数 もし(豚カード[ID]=-1)ならば、続ける。 抜ける。 「相手」がIDのカード選択。 カード画面表示。 ここまで。
プログラムを実行
⭐ クジラ飛行机 作
(
関連URL
)
タイトル:
トランプゲーム「ぶたのしっぽ」(マイナビ連載より)
ライセンス:
MIT (
改変可/表示
)
タイプ:
wnako
タグ:
ゲーム
利用バージョン:
3.4.19
作成日時:
2023/04/09 17:32 (編集: 2023/04/11 10:27)
公開の投稿
⭐
ログイン
して★を付けよう!
Twitterへ投稿
📝作品を編集
作品公開情報
📍この作品のURL:
📍アプリ(即時実行)のURL:
📍アプリ(実行ボタンあり)のURL:
📍ブログパーツ:
上記HTML↑をブログに貼り付けることでアプリを埋め込めます。
📍ライブラリ直リンク - 『!「***」を取込』で使うとき:
📍なでしこハブ (最新版の反映は1日後):
ソースの確認
編集履歴の確認
通報数:
0
通報って何?