因此,对于我们的计算机科学课,我们必须编写一个随机生成卡片的程序,我决定批量生产,因为我是大量菜鸟 XD 我有信心,我可以做到这一点,因为我非常有经验。尽管批处理并不是一种好的语言'如果你要打电话给那个。我能够通过一些努力来解决大部分问题。但是,我仍然遇到一些我不知道如何解决的问题。
我最大的问题是我不知道如何解决......
对不起,如果这个问题太宽泛,但我真的不知道如何总结它。
以下是我的纸牌游戏的链接:http://pastebin.com/t2S3yWk5
以下是我们的问题:
1)创建一个程序,生成两个随机数 - 一个映射到西装(心,钻石,俱乐部或黑桃)和一个映射到卡(Ace,2,3,.....杰克) ,女王,国王)
*Mine is slightly different, it generates two different suits based on two random numbers.*
2)创建一个程序,生成随机卡,然后要求用户进入更高,更低或退出。如果玩家选择更高的牌,则下一张牌必须具有更高的价值或者玩家不在场。同样适用于Lower。
3)扩展前一个程序,用户将在游戏开始时选择一个特朗普套装。如果卡是特朗普西装卡,那么无论卡的价值如何,游戏都会继续。该程序将保持得分并将得分保存到高分文件。用户还可以显示当前的高分文件。
我想尝试自己做这些事(上面列出的)。我只是需要帮助来修复我现有的程序。
我希望如果您阅读本文,您可以给我一些建议或解决我的一些问题。提前致谢! :3
答案 0 :(得分:1)
文字未正确显示
我认为这是您的代码产生的“拒绝访问”错误,而不是AI的评论。这是因为>
和<
用于输出重定向,因此您添加的表情图标试图在您无权访问的位置创建文件。要么摆脱它们(推荐),要么使用^
来逃避它们(^>:)
)。
数字(我用于AI的基础和卡生成)有时没有在变量中正确定义
%random% %% 5
导致集合0,1,2,3,4中的一个数字。如果随机选择0,则当前没有if
语句。添加if
语句,或者如果选择0,则将代码返回到该部分的顶部。
无论我做什么,积分系统都拒绝工作
你要踢自己......
您的set
语句缺少分配部分。 SET /A %p1p% + 2
应为SET /A p1p=%p1p% + 2
等等(如果您认为看起来更好,则为set /a p1p+=2
。)
如果我跳过'TIMEOUT'或'PAUSE'
,如果有时随机只是平坦的决定让我崩溃
我无法复制它,但是当我删除这些语句时代码似乎工作正常。
某些“IF”语句未正确执行,即使它们与其他语句完全相同
您的评论显示第119-132行,其中包含分配点的if
语句。请参阅上文,了解这些不起作用的原因。
您的代码的其他一些建议
您的变量名称应该更具描述性。例如,ctog
并没有告诉我该变量应该是什么;我可以查看代码以查看它的作用,但没有任何上下文,可以做任何事情。
您应该将/i
标志添加到if语句中,以检查您放下的卡,以便C1和c1得到相同的处理。在相关说明中,您应该添加一个检查,以确定玩家何时输入C1或C2以外的内容。您甚至可以像之前一样使用choice
命令。
:pvic缺少exit
命令,所以如果你赢了,你会再次自动播放。结合你只检查LT是否等于2,不大于或等于2的事实,如果你赢了就没有办法停止游戏。关于最终游戏条件的主题,如果你绑定计算机,则没有if
声明。
cp1和num1实际上是同一个变量,没有理由同时使用这两个变量(与cp2 / num2,ap1 / num3和ap2 / num4相同)。
你需要某种goto
的末尾:pc1,这样:pc2不会自动运行:pc1完成。