自己教育開発者ジャーナル、33日目:トッププロジェクト、ロック紙はさみConcect.
3438 ワード
今日.
計画.
ゲーム、ロック紙はさみのためのルールは次のとおりですロックは、はさみ を打ちますはさみは、紙 を打ちます紙は、ロック を打ちます
ユーザーとコンピュータが同じオプションを選ぶならば、それはタイに終わります.
ユーザーとコンピュータが5ラウンドの各々のためにネクタイを得るならば、誰も勝ちません、そして、彼らは再び遊ぶことができます.
擬似コード
ユーザーがロック、紙、またははさみを入力すると
コンピュータの選択を得るためにコンピュータ機能を呼び出します
ユーザーの選択とコンピュータ選択を比較する
ユーザーが勝利した場合、プレーヤーの勝利に番号を追加
コンピュータが勝つならば、コンピュータ勝利に数を加えてください
5ラウンド再生を続ける
つのラウンドの後に、勝者または敗者を決定するためにコンピュータ勝利にプレーヤー勝利を比較してください
分割して征服する
コンピュータplay ()から始まると、関数はロック、紙、はさみをランダムに返します.これを行うには、JavaScriptで使用するランダム関数があるかどうかを確認してみました.私は数学を見つけた.random ()は0から(1)までの数(排他的)で返されます.数学.float ()と算術演算子を使用して、返される数値を変更できます.
![](https://s1.md5.ltd/image/21e7f2435eb4ada54b444776823a99ab.png)
私は、条件文が単純であるので、三項演算子を使用しようと決めました.0から2までの間の乱数を生成し、0 =ロック、1 =紙、2(または他)=はさみを生成しました.私はまた、値が変更されるのでconstの代わりに変数宣言letを使用することを決めました.私は、コンソールで結果を記録し、期待通りに動作しました.
![](https://s1.md5.ltd/image/9133940fac521452f74a8c8aa98bfaed.png)
次に、私は2つのパラメータ、プレイリスト選択とコンピュータ選択をして、勝者または敗者を返すロック紙はさみの1ラウンドを演じる機能を書き始めました.
![](https://s1.md5.ltd/image/bdaeafba672ea6c74072487f4a6bbb16.png)
最後に関数Game ()を書きます.機能はループし、5ラウンドのロック、紙、はさみを再生します.5ラウンドの最後に、この関数は勝者か敗者を返します.
私はゲームを実装していたので、私はgameround ()関数が動作しないということに気づきました.
![](https://s1.md5.ltd/image/5c30180ad069a2eba017bf7b0c2833f2.png)
get ()関数の場合は、ループの繰り返しごとにgameround ()の結果を追跡するために、変数、playerwin、およびcomputerwinsを追加しました.結果がネクタイだった場合、スコアや勝利は更新されません.私はまた、正しいゲーム入力の配列と、それらの入力が有効でない場合、ユーザーを再プロンプトにwhileループが含まれています.つのラウンドの終わりには、プレーヤーとコンピュータの勝利は、勝者や敗者を返すように比較されます.
![](https://s1.md5.ltd/image/604dc8305a70737a60863b70a3282327.png)
![](https://s1.md5.ltd/image/e0b9bb097e0686ec4f68f9471f1511da.png)
資源
The Odin Project
https://www.w3schools.com/js/js_random.asp
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator
計画.
ゲーム、ロック紙はさみのためのルールは次のとおりです
ユーザーとコンピュータが同じオプションを選ぶならば、それはタイに終わります.
ユーザーとコンピュータが5ラウンドの各々のためにネクタイを得るならば、誰も勝ちません、そして、彼らは再び遊ぶことができます.
擬似コード
ユーザーがロック、紙、またははさみを入力すると
コンピュータの選択を得るためにコンピュータ機能を呼び出します
ユーザーの選択とコンピュータ選択を比較する
ユーザーが勝利した場合、プレーヤーの勝利に番号を追加
コンピュータが勝つならば、コンピュータ勝利に数を加えてください
5ラウンド再生を続ける
つのラウンドの後に、勝者または敗者を決定するためにコンピュータ勝利にプレーヤー勝利を比較してください
分割して征服する
コンピュータplay ()から始まると、関数はロック、紙、はさみをランダムに返します.これを行うには、JavaScriptで使用するランダム関数があるかどうかを確認してみました.私は数学を見つけた.random ()は0から(1)までの数(排他的)で返されます.数学.float ()と算術演算子を使用して、返される数値を変更できます.
// return number between 0 - 2 inclusive
Math.floor(Math.random() * 3);
私は数学を使用することができますので、ロック、紙、はさみを特定の数を表すことができます.random ()関数ですが、コンピュータのプレイ()はロック、紙、はさみを返します.私は今この実装を試してみて、それをテストします.![](https://s1.md5.ltd/image/21e7f2435eb4ada54b444776823a99ab.png)
私は、条件文が単純であるので、三項演算子を使用しようと決めました.0から2までの間の乱数を生成し、0 =ロック、1 =紙、2(または他)=はさみを生成しました.私はまた、値が変更されるのでconstの代わりに変数宣言letを使用することを決めました.私は、コンソールで結果を記録し、期待通りに動作しました.
![](https://s1.md5.ltd/image/9133940fac521452f74a8c8aa98bfaed.png)
次に、私は2つのパラメータ、プレイリスト選択とコンピュータ選択をして、勝者または敗者を返すロック紙はさみの1ラウンドを演じる機能を書き始めました.
![](https://s1.md5.ltd/image/bdaeafba672ea6c74072487f4a6bbb16.png)
最後に関数Game ()を書きます.機能はループし、5ラウンドのロック、紙、はさみを再生します.5ラウンドの最後に、この関数は勝者か敗者を返します.
私はゲームを実装していたので、私はgameround ()関数が動作しないということに気づきました.
![](https://s1.md5.ltd/image/5c30180ad069a2eba017bf7b0c2833f2.png)
get ()関数の場合は、ループの繰り返しごとにgameround ()の結果を追跡するために、変数、playerwin、およびcomputerwinsを追加しました.結果がネクタイだった場合、スコアや勝利は更新されません.私はまた、正しいゲーム入力の配列と、それらの入力が有効でない場合、ユーザーを再プロンプトにwhileループが含まれています.つのラウンドの終わりには、プレーヤーとコンピュータの勝利は、勝者や敗者を返すように比較されます.
![](https://s1.md5.ltd/image/604dc8305a70737a60863b70a3282327.png)
![](https://s1.md5.ltd/image/e0b9bb097e0686ec4f68f9471f1511da.png)
資源
The Odin Project
https://www.w3schools.com/js/js_random.asp
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator
Reference
この問題について(自己教育開発者ジャーナル、33日目:トッププロジェクト、ロック紙はさみConcect.), 我々は、より多くの情報をここで見つけました https://dev.to/jennifer_tieu/self-taught-developer-journal-day-32-top-project-rock-paper-scissors-cont-40biテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol