如何让程序记录“石头-剪刀-布”的分数?游戏

How do I make the program keep track of the score of a "stone-paper-scissors" game?

本文关键字:游戏 剪刀 程序 记录 石头      更新时间:2023-09-26

我正在使用Javascript编写代码。

http://www.programmingbasics.org/en/beginner/random.html(请按'下一步',直到你到达'石头剪刀布'部分。

这是我目前创建的代码:

while(true){you = choose("Make your choice", "rock", "paper", "scissors");
com = random(3);
if (com == 1){show("rock");}
if (com == 2){show("paper");}
if (com == 3){show("scissors");}
w = "you win";
l = "you lose";
d = "draw";
cs = 0;
ys = 0;
if (com == 1){
if (you == 1){show(d);
cs = cs + 0;
ys = ys + 0;}
if (you == 2){show(w);
ys = ys + 1;}
if (you == 3){show(l);
cs = cs + 1;}
}
if (com == 2){
if (you == 1){show(l);
cs = cs + 1;}
if (you == 2){show(d);
cs = cs + 0;
ys = ys + 0;}
if (you == 3){show(w);
ys = ys + 1;}
}
if (com == 3){
if (you == 1){show(w);
ys = ys + 1;}
if (you == 2){show(l);
cs = cs + 1;}
if (you == 3){show(d);
cs = cs + 0;
ys = ys + 0;}
}
show("Computer score: "+cs);
show("Your score: "+ys);
if (cs == 3){break;}
if (ys == 3){break;}
}

其中'cs' =电脑分数'ys' =你的分数

如何在开始新游戏时跟踪分数?

谢谢。

在函数外部定义变量,否则它们将在每次循环时被设回零:

var cs = 0;
var ys = 0;
while(true){you = choose("Make your choice", "rock", "paper", "scissors");
com = random(3);
if (com == 1){show("rock");}
if (com == 2){show("paper");}
if (com == 3){show("scissors");}
w = "you win";
l = "you lose";
d = "draw";
if (com == 1){
if (you == 1){show(d);
cs = cs + 0;
ys = ys + 0;}
if (you == 2){show(w);
ys = ys + 1;}
if (you == 3){show(l);
cs = cs + 1;}
}
if (com == 2){
if (you == 1){show(l);
cs = cs + 1;}
if (you == 2){show(d);
cs = cs + 0;
ys = ys + 0;}
if (you == 3){show(w);
ys = ys + 1;}
}
if (com == 3){
if (you == 1){show(w);
ys = ys + 1;}
if (you == 2){show(l);
cs = cs + 1;}
if (you == 3){show(d);
cs = cs + 0;
ys = ys + 0;}
}
show("Computer score: "+cs);
show("Your score: "+ys);
if (cs == 3){break;}
if (ys == 3){break;}
}

因为您在While()中定义了cs = 0; ys = 0;,它们在每个周期上都被重置。将它们移出while循环。

要使int增加1,可以使用i++(或i-减少)而不是i = i + 1;

cs = cs + 0;不做任何事