我正在经历Odin项目。有一项作业需要我创建石头,纸和剪刀游戏。我目前遇到的问题是知道何时结束游戏。
while (computerScore < 3 || playerScore < 3) {
let answer = prompt('Rock, Paper, or Scissors');
console.log(playRound(answer, computerPlay()));
console.log("Computer has " + computerScore + " points and you have " + playerScore + " points.")
}
如果您在上方看,则看到我有一个循环,如果计算机或播放器的分数小于3,该循环会不断循环,但是只有当两个播放器都击中3时,循环才会停止。电脑或播放器都达到了3分。
playRound是一个可以检查谁获胜的功能,也会为获胜者得分增加1分。
感谢您的帮助!
答案 0 :(得分:1)
只要两个玩家的值都小于{3},就继续进行下去。
如果一名玩家的得分为3,则退出循环。
while (computerScore < 3 && playerScore < 3) {
// ...
}
答案 1 :(得分:1)
要扩展一些告诉您如何解决它的答案,我想指出为什么您的代码不起作用。
当前,您的代码指出,如果玩家的分数小于3或计算机的分数小于3,请执行while循环。请记住,只要条件的计算结果为true
,while就会循环运行。
因此,如果计算机的得分为3,而玩家的得分为2,则您的情况当前将评估为true,因为玩家的得分小于3。
您需要使用&&
运算符,以便当一名玩家的得分达到3时您的情况为假。
let computerScore = 3;
let playerScore = 2;
//computerScore < 3 = false;
//playerScore < 3 = true;
//while(false || true) evaluates to true
while(computerScore < 3 || playerScore < 3){
//code will always run as long as one of the players' scores is < 3
}
//while(false && true) evaluates to false
while(computerScore < 3 && playerScore < 3){
//code will stop running when either player's score reaches 3
}
答案 2 :(得分:0)
如果您想在任何情况下停止循环,请使用<ManageScreens>:
transition: NoTransition()
January:
name: 'january'
id: january
canvas.before:
Color:
rgba: 0, 0, 0, 1
Rectangle:
size: self.size
pos: self.pos
RelativeLayout:
Label:
text: "January"
font_size: 20
pos_hint: {'center_x': 0.5, 'center_y': 0.88}
GridLayout:
pos_hint: {'top': 0.85}
row_default_height: 75
row_force_default: True
cols: 7
rows: 5
spacing: 10
padding: 10
CalendarButt:
text: ''
CalendarButt:
text: ''
CalendarButt:
text: '1'
CalendarButt:
text: '2'
而不是 SELECT
e.PartitionByDeviceId,
e.deviceid,
e.UnixTime,
e.MessageParsedTimestamp,
e.Latitude,
e.Longitude,
e.ObdVIN,
e.Address,
ST_WITHIN(createpoint(e.latitude,e.longitude), arrayElement.ArrayValue.geometry)
as Inbound
FROM geoinput as e
CROSS JOIN georef as event
CROSS APPLY GetArrayElements(event.features) AS arrayElement
&&
答案 3 :(得分:0)
只需使用||
:
while (computerScore < 3 && playerScore < 3) {
let answer = prompt('Rock, Paper, or Scissors');
console.log(playRound(answer, computerPlay()));
console.log("Computer has " + computerScore + " points and you have " + playerScore + " points.")
}
答案 4 :(得分:0)
您要让游戏继续进行,如果任一玩家的年龄低于3。
您正在寻找这种逻辑:
如果播放器少于3个,计算机小于3个,则继续。
while (player < 3 && computer < 3) {
//play game
}