我一直在Pascal写这个刽子手程序,我一直在看这个问题并且无处可去。我最初认为输入也是enter the received OTP
,但后来有点response.sendRedirect
,但事实并非如此。当我输入\n
时会发生什么,它会通过循环并完成所有操作,但是它会在没有任何内容或新行字符或不可见的情况下再次通过。我已经尝试确保write()
只获得一个字符,但这使得它与不可见字符循环多次。
如果有人可以提供任何关于这里出错的信息,那就太棒了。谷歌实际上并不是一次非常大的帮助
无论如何,感谢您提供的任何东西。
a
答案 0 :(得分:1)
如果您将读取(猜测); 替换为 readln(guess); ,则每个循环只能获得一个字符。
如果你用char的 word = array [1 .. 11]替换 word = array [0 .. 11] char; ; (或者交替摆脱不必要的'word'类型并将猜测设置为字符串),从1到11运行你的循环,并用<替换猜测[counter-1]:= guess; < strong>猜测[counter]:= guess; ,你的程序不会有访问越界数组位置的错误。
也可能很好(当你最终退出重复循环时)提供一些输出文字告诉玩家他们是赢了还是输了游戏......
...你也可以替换三行写('你有');写(6-错); writeln('错误的猜测留下!'); ,单行 writeln('你有',6 - 错误,'错误的猜测!');