1、猜数字java程序设计北方民族大学大作业报告(游戏程序设计) 系(部、中心) 计算机科学与工程学院 姓 名 胡连香 学 号 20113404 专 业 信息管理与信息系统 班 级 2011级信班 课程名称 Java语言程序设计 作业题目名称 猜数字游戏程序设计 起止时间 2013年5月22日 成 绩 指导教师签 贾艳波 游戏程序设计一、 游戏的基本规则 游戏规则如下:(1).输入一个数字,数字的范围再1-100之间,系统利用随机生成数.(2).如果玩家输入的不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入.(3).如果玩家输入的数字与随机生成数相比较,比随机生成数小.系统提示您,数字
2、太小请您重新输入.(4).如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入.(5).系统根据您猜数字的次数,自动计数.(6).直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.二、 主要思想和算法主要思想: 程序的运行将分为5个模块,并且每一个模块都相互联系。游戏的对象主要是玩家和电脑,电脑通过随机的获取一个数字作为数字比较的对象,同时玩家随意的输入一个数字与随机数进行比较,从而体现猜数字的过程。以下是5大模块的详解:1随机数的获取:玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。2 输入输出模块
3、:对玩家输入的数字进行判断和提示。如果玩家输入的不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入.。如果玩家输入的数字与随机生成数相比较,比随机生成数小.系统提示您,数字太小请您重新输入。如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入。3 判断模块:算出所用时间在玩家猜中时给出其所用时间,系统给出对其水平的判断和是否继续的提示;对玩家要求判断执行。4 自动计数模块:系统根据您猜数字的次数,自动计数.5 结果输出模块:直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.主要算法: 随机数的获取:int
4、 aa = (int) (Math.random() * 100);int count = 0;/ 计数器,统计猜测次数判断输入的数字与随机数的大小关系,并输出结果: if (guessnum aa) JOptionPane.showMessageDialog(null, 大了,请输入个小点的数字!); if (guessnum aa) JOptionPane.showMessageDialog(null, 大了,请输入个小点的数字!); if (guessnum aa) JOptionPane.showMessageDialog(null, 小了,请输入个大点的数字!); if (guess
5、num = aa) JOptionPane.showMessageDialog(null, 恭喜你,猜对了!您一共猜了 + count + 次); /是否继续?Y/N String s = JOptionPane.showInputDialog(null, 是否继续?Y/N); if (Y.equals(s) | y.equals(s) JOptionPane.showMessageDialog(null, 程序已重新开始!); go(); else if (N.equals(s) | n.equals(s) JOptionPane.showMessageDialog(null, 程序已关闭!
6、); System.exit(0);/ 退出程序 count+; /记录猜中的次数 / 添加键盘事件的空方法 public void addActionListener(Guess guess) / TODO Auto-generated method stub /添加鼠标和键盘事件的监听器class Guess extends Applet implements ActionListener Panel p1, p2, p3, p4; /游戏执行过程中的4个窗体 TestO4 b1, b2; /定义每个窗体的选择按钮 Label l1, l2; /比较结果提示 TextField t1; /
7、定义比较结果1 TextArea t2; /定义比较结果2 int num; /输入数字 public void init() setSize(230, 300); setBackground(Color.pink); l1 = new Label(这是一个猜数字程序(0-100), Label.CENTER); l2 = new Label(begin:); /游戏开始提示 t1 = new TextField(10); /获取比较结果1 t2 = new TextArea(, 10, 30); /获取比较结果2 b1 = new TestO4(); /获取选择那按钮1(确定) b2 = n
8、ew TestO4(); /获取选择那妞2 (取消) /获取新的随机数 Random rand = new Random(); num = rand.nextInt(100); /再一次添加鼠标和键盘事件监听器 b1.addActionListener(this); b2.addActionListener(this); /获取新的窗体和选择按钮,再一次添加鼠标和键盘事件 add(l1); add(l2); add(t1); add(t2); add(b1); add(b2); /添加窗体选择按钮的空方法 private void add(TestO4 b22) / TODO Auto-gen
9、erated method stub /开始执行程序 public void actionPerformed(ActionEvent j) int n; try /输入的数字与随机数比较,并输出比较结果 if (j.getSource() = b1) String s; s = String.valueOf(t1); /获取确定按钮信息 if (pareTo(1) 0) t2.setText(输入有误!n请重新输入!); n = Integer.parseInt(t1.getText(); if (n num) t2.setText(大了,请输入个小点的数字); else t2.setText(恭喜你,猜对了); Random rand1 = new Random(); num = rand1.nextInt(100); if (j.getSource() = b2) t2.setText( + num); /重新输入数字 /(如有异常)进行输入数字异常处理 catch (Exception e)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1