我一直在研究java中基于文本的RPG,只是为了好玩.经过几个小时的繁琐工作,我写了几十个课程,用于武器,咒语,cmbat系统,购物系统等.我写了一个简单的课程来开始和运行游戏.所有它真正做的是显示一个主菜单,并创建一个对象,反过来创建游戏中的每个类,并开始一个新的游戏.RunGame类的代码如下:
import java.util.Scanner;
import java.util.Random;
public class RunGame {
public static void main(String []args) {
Scanner reader = new Scanner(System.in);
int choice = 0;
QueratiaMain main = new QueratiaMain(); //code stops responding after creation of this object. why?
// reader.nextLine();
System.out.println("Welcome to Queratia, a text-based RPG! Choose an option:\n1. Start New Game\n2. Exit");
choice = reader.nextInt();
if(choice == 1) {
}else
System.exit(99);
}
}
Run Code Online (Sandbox Code Playgroud)
一切都编译得很好,但是当我运行程序时,代码似乎停止在我创建QueratiaMain对象的任何行上进行.有什么想法为什么会这样做?谢谢!
更新:调试代码后,我得到了几行调试器告诉我没有找到源代码,并且某些行抛出了一个未找到的文件异常.但是,我正在Eclipse中的正常工作区工作,那么这怎么可能呢?我试图手动指定在哪里找到文件,但没有改变.关于为什么会发生这种情况的任何想法?
打开Java调试器.在main()上放置一个断点.单步执行所有代码,特别是步入QuertiaMain()构造函数.当你单步执行时,最终你会遇到一条挂起或无限循环的线路或一些阻止前进的条件.代码循环可能很明显,或者你可以在这里发布循环代码以获得更具体的帮助......