[英]Windows batch card game not working properly, don't know how to fix
因此,對於我們的計算機科學課程,我們不得不編寫一個隨機生成卡的程序,我決定分批進行挖掘,因為在大型noob XD上,我有信心可以做到,因為我對此非常有經驗。 即使批處理絕對不是一個好的“語言”,如果您要稱呼它的話。 通過一些辛勤的工作,我能夠自己解決大多數問題。 但是,我仍然遇到一些我不知道如何解決的問題。
我不知道如何解決的最大問題是...
如果這個問題過於籠統,我感到很抱歉,但是我真的不知道該如何總結。
這是我的紙牌游戲的鏈接: http : //pastebin.com/t2S3yWk5
這是我們的問題:
1)創建一個程序,該程序將生成兩個隨機數-一個映射到西服(心,鑽石,棍棒或黑桃)的隨機數,一個映射到卡上的隨機數(Ace,2、3 ..... Jack,Queen,王)
*Mine is slightly different, it generates two different suits based on two random numbers.*
2)創建一個程序,該程序將生成一張隨機卡片,然后要求用戶選擇“更高”,“更低”或“退出”。 如果玩家選擇“更高”,則下一張紙牌必須具有更高的價值,否則玩家將被淘汰。 下層也是如此。
3)擴展前一個程序,用戶將在游戲開始時選擇一個王牌套裝。 如果卡牌是王牌,那么無論卡牌的價值如何,游戲都會繼續進行。 該程序將保留分數並將分數保存到高分文件中。 用戶還將能夠顯示當前的高分文件。
我想嘗試自己做(上面列出的)這些東西。 我只需要幫助嘗試修復現有程序。
我希望,如果您閱讀此書,可以對我的一些問題給我一些建議或提供解決方案。 提前致謝! :3
好消息; 您的代碼沒有什么超級錯的,只是一堆看起來很多的小事情。 我只能假設一些錯誤的錯誤和丟失的變量是通過復制和粘貼復制的。
文字顯示不正確
我假設這是您的代碼而不是AI的注釋所產生的“訪問被拒絕”錯誤。 這是因為>
和<
用於輸出重定向,因此您添加的表情符號試圖在您無權訪問的位置創建文件。 要么擺脫它們(推薦),要么使用^
使它們轉義( ^>:)
)。
數字(我用於AI和卡片生成的基礎)有時未在變量中正確定義
%random% %% 5
得出集合0、1、2、3、4中的數字之一。您當前沒有if
語句來說明如果隨機選擇0會發生什么。 if
選擇0,則添加if
語句或使代碼返回到該部分的頂部。
積分系統無論我做什么都拒絕工作
你要踢自己...
您的set
語句缺少分配部分。 SET /A %p1p% + 2
應該是SET /A p1p=%p1p% + 2
依此類推(或者,如果您認為更好,則set /a p1p+=2
)。
如果有時候我只是略微平緩而決定崩潰,而我跳過“超時”或“暫停”
我無法復制它,但是當我刪除這些語句時,代碼似乎運行良好。
即使某些“ 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相同)。
您需要在:pc1的末尾進行某種goto
,以使:pc2在:pc1完成后不會自動運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.