|
|
|
จะทำให้ random โอกาสแพ้ชนะเป็นเปอเซ็นต้องทำยังไงคะ |
|
|
|
|
|
|
|
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<title>Rock Paper Scissor Game</title>
<!--Fontawesome-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.2/css/all.min.css">
<!--Google Font-->
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap" rel="stylesheet">
<!--Stylesheet-->
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<div class="scores">
<p>Computer :
<span id="computer_score">0</span>
</p>
<p>
You :
<span id="user_score">0</span>
</p>
</div>
<div class="weapons">
<button onclick="checker('rock')">
<i class="far fa-hand-rock"></i>
</button>
<button onclick="checker('paper')">
<i class="far fa-hand-paper"></i>
</button>
<button onclick="checker('scissor')">
<i class="far fa-hand-scissors"></i>
</button>
</div>
<div class="details">
<p id="user_choice"></p>
<p id="comp_choice"></p>
<p id="result"></p>
</div>
</div>
<!--Script-->
<script src="script.js"></script>
</body>
</html>
Code (JavaScript)
let [computer_score,user_score]=[0,0];
let result_ref = document.getElementById("result");
let choices_object = {
'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);
document.getElementById("comp_choice").innerHTML =
` Computer choose <span> ${choices[num].toUpperCase()} </span>`;
document.getElementById("user_choice").innerHTML =
` You choose <span> ${input.toUpperCase()} </span>`;
let computer_choice = choices[num];
switch(choices_object[input][computer_choice]){
case 'win':
result_ref.style.cssText = "background-color: #cefdce; color: #689f38";
result_ref.innerHTML = "YOU WIN";
user_score++;
break;
case 'lose':
result_ref.style.cssText = "background-color: #ffdde0; color: #d32f2f";
result_ref.innerHTML = "YOU LOSE";
computer_score++;
break;
default:
result_ref.style.cssText = "background-color: #e5e5e5; color: #808080";
result_ref.innerHTML = "DRAW";
break;
}
document.getElementById("computer_score").innerHTML = computer_score;
document.getElementById("user_score").innerHTML = user_score;
}
อยากให้อยากสุ่มธรรมดา เป็น สุ่มโดยใช้เปอเซ็นต์การแพ้ชนะต้องทำยังไงคะ เช่น ตั้งให้มีโอกาสชนะ 20% เป็นต้น
ขอบคุณล่วงหน้าค่ะ
Tag : - - - -
|
ประวัติการแก้ไข 2022-07-19 10:13:14 2022-07-19 10:13:55 2022-07-19 10:14:42 2022-07-19 10:15:34
|
|
|
|
|
Date :
2022-07-19 09:54:19 |
By :
Mirumu |
View :
547 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สุ่มโดยใช้เปอเซ็นต์การแพ้ชนะต้องทำยังไงคะ เช่น ตั้งให้มีโอกาสชนะ 20%
>>>เป่ายิ้งฉุบ มันคิด % ยังไง มันแพ้ชนะอย่างเดียวไม่ใช่เหรอ หรือ หมายถึงระดับความยากง่าย (level) ที่ user จะมีโอกาสชนะคอมฯ?
|
|
|
|
|
Date :
2022-07-19 10:58:21 |
By :
009 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (JavaScript)
let com = Math.floor(Math.random()*3); // 0 = ค้อน 1 = กระดาษ 2 = กรรไกร
let win = Math.floor(Math.random()*100)) < 1; // 1 เปอเซนต์ โอกาสชนะ
let result = win ? (com<1? 1 : (com<2 ? 2 : 0 )) ; (com<1? 2 : (com<2 ? 0 : 1 ));
|
|
|
|
|
Date :
2022-07-22 18:34:04 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|