JavaScript 中的石頭剪刀布
每個開發人員都從他們生活中的某個地方的 Hello world
開始。剪刀石頭布是開發者在學習任何程式語言時構建的。但是編寫多個案例成為開發人員的頭疼問題。所以在這篇文章中,我們將學習石頭剪刀布遊戲背後的邏輯。
JavaScript 中的石頭剪刀布
這是一個有趣和流行的孩子們玩的遊戲。它的邏輯也是如此。那麼我們先來了解一下這個遊戲的規則。
- 一個選擇玩石頭的玩家會攻擊另一個選擇剪刀的玩家,因為石頭會壓碎剪刀或有時會倒角剪刀。
- 選擇玩石頭的玩家輸給了玩紙的玩家,因為紙蓋住了石頭。
- 決定玩紙的玩家將輸給剪刀玩家,因為剪刀剪紙。
所以規則被清除;現在,讓我們編寫遊戲的邏輯。我們建立了一個物件,其中鍵作為個人選擇,值作為第二選擇。例如,如果使用者輸入是搖滾,而計算機的選擇也是搖滾,那麼它就是平局。
let choicesObject = {
'rock' : {
'rock' : 'draw',
'scissor' : 'win',
'paper' : 'lose'
},
'scissor' : {
'rock' : 'lose',
'scissor' : 'draw',
'paper' : 'win'
},
'paper' : {
'rock' : 'win',
'scissor' : 'lose',
'paper' : 'draw'
}
}
現在我們可以使用上述物件作為全域性規則,並使用函式預測遊戲結果。
function checker(input){
var choices = ["rock", "paper", "scissor"];
var num = Math.floor(Math.random()*3);
let computerChoice = choices[num];
let result
switch(choicesObject[input][computerChoice]){
case 'win':
result = "YOU WIN";
break;
case 'lose':
result = "YOU LOSE";
break;
default:
result = "DRAW";
break;
}
console.log(result);
document.getElementById('result').textContent = result;
}
在上述函式中,我們將使用者選擇作為輸入,並將使用者輸入與使用 switch case 的計算機生成的選擇進行比較。如果沒有任何條件匹配,則認為已繪製。現在讓我們接受使用者的選擇並列印結果。
<button onClick="checker('rock')">Rock</button>
<button onClick="checker('paper')">Paper</button>
<button onClick="checker('scissor')">Scissor</button>
<p id="result">
</p>
當你執行上面的程式碼時,它會列印出類似這樣的內容。結果可能因計算機的選擇而異。
輸出:
YOU LOSE
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn