自己教育開発者ジャーナル、33日目:トッププロジェクト、ロック紙はさみConcect.


今日.

計画.
ゲーム、ロック紙はさみのためのルールは次のとおりです
  • ロックは、はさみ
  • を打ちます
  • はさみは、紙
  • を打ちます
  • 紙は、ロック
  • を打ちます
    ユーザーとコンピュータが同じオプションを選ぶならば、それはタイに終わります.
    ユーザーとコンピュータが5ラウンドの各々のためにネクタイを得るならば、誰も勝ちません、そして、彼らは再び遊ぶことができます.

    擬似コード
    ユーザーがロック、紙、またははさみを入力すると
    コンピュータの選択を得るためにコンピュータ機能を呼び出します
    ユーザーの選択とコンピュータ選択を比較する
    ユーザーが勝利した場合、プレーヤーの勝利に番号を追加
    コンピュータが勝つならば、コンピュータ勝利に数を加えてください
    5ラウンド再生を続ける
    つのラウンドの後に、勝者または敗者を決定するためにコンピュータ勝利にプレーヤー勝利を比較してください

    分割して征服する
    コンピュータplay ()から始まると、関数はロック、紙、はさみをランダムに返します.これを行うには、JavaScriptで使用するランダム関数があるかどうかを確認してみました.私は数学を見つけた.random ()は0から(1)までの数(排他的)で返されます.数学.float ()と算術演算子を使用して、返される数値を変更できます.
    // return number between 0 - 2 inclusive
    Math.floor(Math.random() * 3);
    
    私は数学を使用することができますので、ロック、紙、はさみを特定の数を表すことができます.random ()関数ですが、コンピュータのプレイ()はロック、紙、はさみを返します.私は今この実装を試してみて、それをテストします.

    私は、条件文が単純であるので、三項演算子を使用しようと決めました.0から2までの間の乱数を生成し、0 =ロック、1 =紙、2(または他)=はさみを生成しました.私はまた、値が変更されるのでconstの代わりに変数宣言letを使用することを決めました.私は、コンソールで結果を記録し、期待通りに動作しました.

    次に、私は2つのパラメータ、プレイリスト選択とコンピュータ選択をして、勝者または敗者を返すロック紙はさみの1ラウンドを演じる機能を書き始めました.

    最後に関数Game ()を書きます.機能はループし、5ラウンドのロック、紙、はさみを再生します.5ラウンドの最後に、この関数は勝者か敗者を返します.
    私はゲームを実装していたので、私はgameround ()関数が動作しないということに気づきました.

    get ()関数の場合は、ループの繰り返しごとにgameround ()の結果を追跡するために、変数、playerwin、およびcomputerwinsを追加しました.結果がネクタイだった場合、スコアや勝利は更新されません.私はまた、正しいゲーム入力の配列と、それらの入力が有効でない場合、ユーザーを再プロンプトにwhileループが含まれています.つのラウンドの終わりには、プレーヤーとコンピュータの勝利は、勝者や敗者を返すように比較されます.



    資源
    The Odin Project
    https://www.w3schools.com/js/js_random.asp
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator