gpt4 book ai didi

javascript - 如果用户输入了 Not Acceptable 内容,我该如何重置程序?

转载 作者:行者123 更新时间:2023-12-04 07:21:56 26 4
gpt4 key购买 nike

我正在制作一个乒乓球游戏,我要求用户在他们的 Racket 上输入。我有屏幕和一个桨显示和一些用户输入他们想要如何自定义他们的桨。但是在要求输入之后,当用户输入一些 Not Acceptable 东西时,我如何重新运行程序?
到目前为止,这是我的代码:

 

<html>
<canvas id="gameArea" width="1000" height="800"></canvas>

<script>
let canvas;
let canvasContext;
let ballX = 0;
let padH = prompt("how long would you like your paddle? 70 to 110 are good values");
let padL = prompt("how wide would you like your paddle 2? 1 to 15 are good values");
let padColor = prompt("What color paddle do you want?");
const colors = ["white","red","blue","green","purple","aqua","brown","cyan","yellow"]

handleInput(padColor,padL,padH)

window.onload = function() {
canvas = document.getElementById('gameArea');
canvasContext = canvas.getContext('2d');

setInterval(gameRender,10);
}

function handleInput(padColor,padL,padH) {
if (colors.indexOf(padColor) !== -1) {
return;
} else {
alert("that color is not supported")
}
if (70 < padH < 110) {
alert("please enter an acceptable value")
} else {
return;
}
if (1 < padL < 15) {
alert("please enter an acceptable value")
} else {
return;
}
}

function gameRender() {
ballX = ballX + 20;
canvasContext.fillStyle = 'black';
canvasContext.fillRect(0,0,canvas.width,canvas.height);
canvasContext.fillStyle = padColor;
canvasContext.fillRect(10,(canvas.height-padH)/2,padL,padH);
canvasContext.fillStyle = 'white'
canvasContext.fillRect(ballX,100,10,10)
}

gameRender()
</script>
</html>

最佳答案

您可以拥有一个功能 promptPaddle()或类似的东西,你可以再次调用:


function promptPaddle() {
let padH = prompt("how long would you like your paddle? 70 to 110 are good values");
let padL = prompt("how wide would you like your paddle 2? 1 to 15 are good values");
let padColor = prompt("What color paddle do you want?");
handleInput(padColor, padL, padH)
}

const colors = ["white", "red", "blue", "green", "purple", "aqua", "brown", "cyan", "yellow"]

function handleInput(padColor, padL, padH) {
if (colors.indexOf(padColor) === -1) {
alert("that color is not supported");
return promptPaddle();
}
if (70 < padH || padH < 110) {
alert("please enter an acceptable value");
return promptPaddle();
}
if (1 < padL || padL < 15) {
alert("please enter an acceptable value");
return promptPaddle();
}
// Got proper input, do whatever now
}

// Need to call it once to start the process
promptPaddle();
我应该提到,对每个提示分别进行这种“循环验证”可能会更好。现在,您可以输入错误的 padH但在其他方面是正确的 padLpadColor ,但只有在您输入所有 3 个值后,它才会“实际上您的第一个值已经错误,现在重新输入所有 3 个值”。

关于javascript - 如果用户输入了 Not Acceptable 内容,我该如何重置程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68444919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com