我写了一个程序,它随机打网球,并返回一系列分数。在程序的最后我有一个while循环,这是不正常的。我有一个函数,它执行所有随机点并将其推送到数组,所以这是循环
while(true){
lvl();
if(p1>=3){
if(g1>=2){
scr.push("Player 1 win");
return false
}
}
if(p2>=3){
if(g2>=2){
scr.push("Player 2 win");
return false
}
}
}
如果我离开它是真的(真的),唯一的条件就是我的计算机粉碎,如果我把它改成更像是在(p1< 10)的东西,它无论如何都会运行循环,直到p1是9,不用担心if语句,它必须在某些条件下终止循环。我怎样才能解决这个问题?对于信息g1 = p1-p2(并且对于p2也具有相同的信息)。同时在玩游戏时,即使满足所有停止信号,它也会继续播放,直到p1 = 9
[ [ 'Love-all' ],
[ 'Fifteen', 'Love' ],
[ 'Thirty', 'Love' ],
[ 'Thirty', 'Fifteen' ],
[ 'Forty', 'Fifteen' ],
[ 'Forty', 'Thirty' ],
[ 'Deuce' ],
[ 'Advantage player 1', 'Forty' ],
[ 'Deuce' ],
[ 'Advantage player 1', 'Advantage player 2' ],
[ 'Advantage player 1', 'Advantage player 2' ],
[ 'Advantage player 1', 'Advantage player 2' ],
[ 'Advantage player 1', 'Advantage player 2' ],
[ 'Advantage player 1', 'Advantage player 2' ],
[ 'Advantage player 1', 'Advantage player 2' ] ]
这是控制台显示的内容
答案 0 :(得分:0)
您的计算机崩溃了,因为您可能正在使用100%的CPU利用率或接近该值。你通常不希望while(true)
没有某种delay
,因为那里的CPU并不是在同一个线程中一直计算某些东西。此外,您希望使用while(true)
语句而不是break
语句退出return
。