2020-07-27

長男プログラム(でゲーム)を作りたいと言い出したので、Javascriptの書き方とブラウザでの動作確認を軽く教えた

次男も感化されたようで長男の真似をし始め、今は簡易な動作HTMLファイルであれば作れるようになっている

ある日、二人の空気が険悪だった(大喧嘩したあとの空気だった)

まずは長男事情を訊いてみると、とあるプログラム方針対立したとのこと

それは「じゃんけんゲーム」だった

画面でグーチョキパーのいずれかを選びボタンを押すと、相手(CPU)の「手」と勝敗が表示されるというものだった

次男はまずCPUの「手」を乱数で決定し、画面に入力された「手」と比較して勝敗(と引き分け)を決める、素直な処理だった

長男はそれに飽きたのか、まずは乱数で「勝ち」「負け」「引き分け」を乱数最初に決めてしまい、その後で結果に応じたCPUの「手」を決定するというロジックだった

次男はこれが気に入らなかったらしい

「兄ちゃんのはじゃんけん勝負してない」「勝ち負けを最初に決めてしまうなら意味がない」と

長男は「結果は同じなんだからこれで問題ない」と突っぱねる

これの堂々巡りだった

嫁は「あなたが教えたんだからあなたが収拾しなさい」と呆れ顔

どうしたもの

  • ガイジの嫁と子はガイジ

  • 長男が正しい 次男の言い分を認めることは足し算かけ算の順序に正誤をつけるのと同じ

    • いやじゃんけんロジックとして正しいのは次男だよ。 長男の「じゃんけん風ゲーム」は人間の入力をトリガーとしているからじゃんけん風として成り立つが、システムはじゃんけんでは...

      • 結局、運勝負のくじ引きじゃん

        • ?じゃんけんがクジ引きかどうかの話じゃなくて、じゃんけんゲームにより近いのはどちらかって話では?

  • 現段階ではどちらも正しい。 今後の開発計画として、グリコじゃんけんを作ったり、軍艦じゃんけん(グリンピース)を作るつもりなら次男のほうが修正工数は少ない。

    • 後の展開として敵キャラクターを設定してキャラ毎の勝率を操作したくなったら長男方式の方がやりやすいぞ

  • この場合は次男も長男も正しい、ではないか? 解の方式はひとつではなく複数あることを納得させればアルゴリズムの組み立て方にも幅が出ましょう。 探索法とかサンプルもありますし...

  • 自分ならどう書くか言った方が早い 俺なら乱数予想ゲームまでにはする

  • 飽きたのではなく手を決める前にPCの手を知り得る事が気に食わなかったのでは?

  • 次は3つ並べ ゲームを作らせろ。 CPUと人が交互に操作するゲームを作らせれば、 いきなり勝敗を乱数で決めることはできなくなるやろ。

  • 次男のゲームは普通に有効。だが、長男のゲームは某炭酸飲料のCMみたいなシーンで有効。次男くんには、見た目は似ていても、求められる場面が違えば異なる解法があり、正解は一つで...

  • 長男は数学、次男は物理向き

  • いまの時点では、両方正しいでしょ。 「答えは一つじゃない」を実感として学習させるいい機会だよ。   兄が裏ルート的な問題解決もあることを自力で発見したこと素晴らしく この方...

  • 長男の実装は自由意志がないよな

  • 思考実験をするのに非実在の子供作ってお人形さん遊びやめろ

  • お人形遊びはQiitaでやってろ

  • 俺のゲームも確率で勝率決めてるわ ちなみに最高難易度は10パー×5パーを引かないとダメージを与えることすらできない

  • うんち

  • ゲーセンにあるじゃんけんゲームやつ長男方式でしかも勝ちが33%より低く設定されてる 期待値と景品表示法の話を教えるのに丁度いい機会かもしれんね

  • 制作していたゲームの重大なミスに気が付いたわ 嘘増サンキューな お前は俺を救った

  • あいこならかち ぐーでかったら 3ポイント ちょきでかったら2ポイント パーならマイナス1ポイント というルールでも そうやって実装するか? ちなみにこれでルールが2つ ...

    • 弟子に教える場合のマンツーマン教育で 自分の技を弟子へと教えていく

  • 長男も次男も正解。じゃんけんゲームに2人目のCPUを登場させてみては?ロジックはまた変わるかと

  • 長男も次男も正しい。今後どういう拡張をしていくかによって効率が変わるってはなしを すぐにしてやれない時点でお察しって感じの日記

  • うんち、思考問題だろうけど 大昔、MC68000のアセンブラでアーケードゲーム書いてたオイラが正解を言うと 長男のが正解 ゲーム会社の入社試験でこっちのロジックを出す子だったら採用 ...

  • すべからく処理は素直に表現すべし。計算資源が問題にならないような程度の処理なら、これが正しいと思う。処理する内容が複雑になった場合に「どうやっているのか」の意味が通り...

  • RPGツクールを20年間作り続けて1本も完成させていない俺から言わせれば次男が正解。 これから先どんどん湧いてくるアイデアによって拡張していくことになるので結果からの逆算で...

    • RPGツクールとプログラミングは全然違うのですが……

    • 完成しないなら、不正解じゃん 次男アウト―

    • それは仕様書内を固める方式で作ってないだけでは

    • プログラミング出来ない奴も、ゲーム完成できないやつもそうだが 最初から全て盛り込んだものを作ろうとしてエターナル。 最初は簡単なサンプルを作って、得た技術を使ってどんどん...

  • もっと複雑になれば話は違うけど このレベルならどちらの三択も同値だから 結果は変わらないよって言っちゃだめなのかな あとは次男の考え方ならサイコロとか 扱うものが大きくな...

  • 長男側の考えは間違いで危険 勝ち負けを決めるのと、手出しを決めることの確率が同じであるなら良いが 組み合わせが増えれば増えるほど、乖離が出てくる 仕様として「如何なるゲ...

  • 弟のはプレイヤーを楽しませるもの 兄のは自分が悦に浸るためのもの、世界の神になった気分を味わえるとでも言えばいいのか 他の人も指摘してるようにギャンブルとかで胴元が必ず得...

    • 逆に純粋にランダムだと純粋な偶然で失敗が続く可能性もあって プレイヤーはそういう偶然を「乱数がクソ」と認識してしまうから たまたま失敗が続いた時は適当なところで自動成功す...

    • これは頭悪すぎて草

  • 実際プログラムにすると、両者がどうなるか実際に書いてみた // 共通const Win = 1, Lose = 2, Draw = 0;const Gu = 0, Choki = 1, Pa = 2;function ShowHand(text, hand){ console.log(text + ['グー', 'チョキ', 'パー'][hand]...

    • 一家無理心中すれば全部解決

    • 問題が単純だからそうなってしまうんだけど、 弟さんの考え方だと、 人間の出し手3種類xCPUの出し手3種類の9種類を考える必要がある。 一方、兄さんの考え方だと、 人間の出し手3種...

    • なるほど。配列で手と勝敗を管理して3に収めるのか。すごいな。

  • どちらにも利点があるように思える。 この先、このただの確率ゲームをどう面白くしていくか考える場合、 長男方式は圧倒的に弱いじゃんけんスライムや圧倒的に強いじゃんけん帝王...

    • そう考えると、よりじゃんけんの楽しみ方に近いのは弟の実装に思える

  • 昔の麻雀ゲーだとまじめに処理を組むのではなく、NPCがインチキする実装だったりすることがあったらしいな。

  • プレイヤー別に勝敗と継続率のログを取って機械学習AIに、一番継続率の高くなる勝率に適時最適化するようにすればええんや

    • ものすごい基本的な話だな。 その増田の作戦が最上位のやり方と同じだってわかるから、最上位に勝てるアルゴリズムを増田を見つけた時はやればいい。

  • プログラムをディスアセンブルして、シードを見つければいい。これで じゃんけんの手を出すプログラムなら100%こちらがかつ。 勝敗を決めた場合は、そういうやりかたをしている...

    • 逆に言えばプレイヤーがチート行為をしても勝率33%を維持できるのだから優秀じゃないか

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん