🌸 「なでしこ」
>
🍯 「貯蔵庫」
数当て (嘘対応)
🌟新規
📒一覧
🔌
🔍検索
🚪ログイン
数当て (嘘対応) 📖
1~16の中から思い浮かべた整数がリストにあるかを7回質問し、思い浮かべた整数を (1回嘘をつかれても) 当てる。
プログラム:
(→大)
●(AでBの)ビット立とは OR(A,SHIFT_L(1,B))を戻す。 ここまで。 ●(AでBの)ビット折とは AND(A,NOT(SHIFT_L(1,B)))を戻す。 ここまで。 ●(AでBの)ビット反転とは XOR(A,SHIFT_L(1,B))を戻す。 ここまで。 ●(AでBの)ビット確認とは AND(SHIFT_R(A,B),1)が1と等しいかを戻す。 ここまで。 定数の確認位置リストは[[0,1,2],[0,2,3],[0,1,3]]。 定数の嘘位置リストは[4,5,2,6,1,3,0]。 定数のエンコードリストは空配列。 数を0から15まで繰り返す エンコードは数。 確認位置を0から2まで繰り返す 確認位置リスト@確認位置を反復 もし、エンコードで対象のビット確認ならば エンコードで(確認位置+4)のビット反転して、エンコードに代入。 ここまで。 ここまで。 ここまで。 エンコードリストにエンコードを配列追加。 ここまで。 候補リストとは変数。 現在質問とは変数。 回答とは変数。 ●状態初期化とは 候補リストは1から16までの配列連番作成。 それを配列シャッフル。 現在質問は0。 回答は0。 ここまで。 ●(POSの)質問配列取得とは 定数の質問配列は空配列。 位置を0から15まで繰り返す もし、エンコードリスト@位置でPOSのビット確認ならば 質問配列に候補リスト@位置を配列追加。 ここまで ここまで。 質問配列を配列数値ソート。 それを戻す。 ここまで。 ●(POSにANSを)回答記録とは もし、ANSならば 回答でPOSのビット立て、回答に代入。 違えば 回答でPOSのビット折り、回答に代入。 ここまで。 ここまで。 ●嘘位置取得とは 変数の確認結果は回答。 確認位置を0から2まで繰り返す 確認位置リスト@確認位置を反復 もし、確認結果で対象のビット確認ならば 確認結果で(確認位置+4)のビット反転して、確認結果に代入。 ここまで。 ここまで。 ここまで。 確認結果はSHIFT_R(確認結果,4)。 もし、確認結果が0と等しいならば NULLを戻す。 違えば 嘘位置リスト@(確認結果-1)を戻す。 ここまで。 ここまで。 ●選択候補取得とは 変数の選択結果は回答。 定数の嘘位置は嘘位置取得。 もし、それがNULLと等しく無いならば 選択結果で嘘位置のビット反転して、選択結果に代入。 ここまで。 候補リスト@AND(選択結果,15)を戻す。 ここまで。 # ------------------------------------------------------------------- ●(DOMにVALUEを)DOM表示設定とは もし、VALUEならば DOMの「ボックス表示」に「ブロック」をDOMスタイル設定。 違えば DOMの「ボックス表示」に「なし」をDOMスタイル設定。 ここまで。 ここまで。 タイトル画面は「DIV」のDOM部品作成。 それの「行揃え」に「中央」をDOMスタイル設定。 選択画面は「DIV」のDOM部品作成。 それの「行揃え」に「中央」をDOMスタイル設定。 それにオフをDOM表示設定。 結果画面は「DIV」のDOM部品作成。 それの「行揃え」に「中央」をDOMスタイル設定。 それにオフをDOM表示設定。 タイトル画面にDOM親要素設定。 「数当て」のラベル作成。 それの「文字サイズ」に「300%」をDOMスタイル設定。 2回、改行作成。 「1~16の整数の中から1個だけ思い浮かべてください。」のラベル作成。 改行作成。 「これから、提示する整数の中にそれがあるかの質問を7回します。」のラベル作成。 改行作成。 「7回のうち、1回だけ嘘をついてもかまいません。」のラベル作成。 改行作成。 「もちろん、嘘をつかなくてもかまいません。」のラベル作成。 2回、改行作成。 スタートボタンは「思い浮かべた!」のボタン作成。 選択画面にDOM親要素設定。 「質問 」のラベル作成。 質問回数ラベルは「-」のラベル作成。 「 / 7」のラベル作成。 改行作成。 DOM部品オプション["テーブルヘッダ"]はオフ。 質問テーブルは空配列のテーブル作成。 それの「ボックス表示」に「inline-table」をDOMスタイル設定。 改行作成。 「この中に思い浮かべた整数はありますか?」のラベル作成。 2回、改行作成。 肯定ボタンは「はい」のボタン作成。 否定ボタンは「いいえ」のボタン作成。 結果画面にDOM親要素設定。 「あなたが思い浮かべた整数は」のラベル作成。 2回、改行作成。 結果整数ラベルは「-」のラベル作成。 それの「文字サイズ」に「300%」をDOMスタイル設定。 2回、改行作成。 嘘位置ラベルは「-」のラベル作成。 2回、改行作成。 タイトルボタンは「最初に戻る」のボタン作成。 ●質問表示とは 質問回数ラベルに(現在質問+1)をDOMテキスト設定。 定数の質問配列は現在質問の質問配列取得。 もし、質問配列の要素数が8と等しく無いならば 「質問配列の要素数が異常です!」のエラー発生。 ここまで。 定数の表用配列は空配列。 質問配列の0…3を参照して表用配列に配列追加。 質問配列の4…7を参照して表用配列に配列追加。 質問テーブルを表用配列にテーブル更新。 ここまで。 ●質問進とは 現在質問を1増やす。 選択画面にオフをDOM表示設定。 もし、現在質問が7未満ならば 質問表示。 0.2秒待つ。 選択画面にオンをDOM表示設定。 違えば 選択候補取得して結果整数ラベルにDOMテキスト設定。 定数の嘘位置は嘘位置取得。 もし、それがNULLと等しいならば 嘘位置ラベルに「あなたは正直でしたね!」をDOMテキスト設定。 違えば 嘘位置ラベルに「あなたは{嘘位置+1}番目の質問に嘘をつきましたね!」をDOMテキスト設定。 ここまで。 1秒待つ。 結果画面にオンをDOM表示設定。 ここまで。 ここまで。 スタートボタンをクリックした時には タイトル画面にオフをDOM表示設定。 状態初期化。 質問表示。 0.2秒待つ。 選択画面にオンをDOM表示設定。 ここまで。 肯定ボタンをクリックした時には 現在質問に真を回答記録。 質問進める。 ここまで。 否定ボタンをクリックした時には 現在質問に偽を回答記録。 質問進める。 ここまで。 タイトルボタンをクリックした時には 結果画面にオフをDOM表示設定。 0.2秒待つ。 タイトル画面にオンをDOM表示設定。 ここまで。
プログラムを実行
⭐ みけCAT 作
(
関連URL
)
タイトル:
数当て (嘘対応)
ライセンス:
MIT (
改変可/表示
)
タイプ:
wnako
タグ:
-
利用バージョン:
3.7.2
作成日時:
2025/03/02 23:14 (編集: 2025/03/02 23:50)
公開の投稿
ログイン
して★を付けよう!
📝作品を編集
作品公開情報
📍この作品のURL:
📍アプリ(即時実行)のURL:
📍アプリ(実行ボタンあり)のURL:
📍ブログパーツ:
上記HTML↑をブログに貼り付けることでアプリを埋め込めます。
📍ライブラリ直リンク - 『!「***」を取込』で使うとき:
📍なでしこハブ (最新版の反映は1日後):
ソースの確認
編集履歴の確認
通報数:
0
通報って何?