You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#二维猜坐标游戏未满足while循环条件就提前退出问题求助

问题根因

while循环的条件逻辑错误,只要猜对X或Y任意一个坐标,循环就会直接终止:
原条件为while (x != ranX && y != ranY)

  • 该逻辑代表只有X没猜对 且 Y也没猜对的时候,才继续循环
  • 只要某次输入猜对了X或者Y任意一个值,&&两侧的判断就会有一个不成立,整个循环条件失效,程序直接退出循环。
修复方案

修改循环条件为「两个坐标没有同时猜对就继续循环」即可,有两种等价写法可选:
第一种(可读性更高):

while (!(x == ranX && y == ranY))

第二种(逻辑等价简写):

while (x != ranX || y != ranY)
额外优化提示

当前代码生成随机坐标的逻辑random.Next(1, 4)是左闭右开区间,实际只会生成1、2、3三个值,但输入校验允许用户输入1-4,用户输入4时永远不可能猜对,建议要么把随机数范围改成random.Next(1,5),要么把输入校验的上限改成3。

内容的提问来源于stack exchange,提问作者Evenyon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:45:02