1、猜数字游戏实习报告猜数字游戏实习报告 (1080417405,施林劼,指导教师:陆秋) 一功能描述一功能描述 在大一上学期的第 20 周的 JAVA 实习中,我选择第一题“猜数字游戏”来帮助我达到锻 炼程序设计实践能力、 加深程序设计相关知识的认识、 提升实践动手能力和创新能力的目的。 这个小游戏我很久以前就接触过了, 所以希望自己也能编写一个类似的小游戏。 它的功 能与文曲星里的猜数字游戏类似,都是随机产生 4 个不同的 09 之间的整数,然后让玩家 依次输入 4 个不同的 09 之间的整数,游戏则给出类似“nBmA”的提示, “n”表示猜中了 多少个正确的数字, “m”表示猜中了多少个数字
2、和位置都正确的数字。 我设计的猜数字游戏主要有四个功能,即猜数字、给出答案、显示所猜结果和退出。同 时,在 GUI 界面的下半部分还有游戏的提示。玩游戏时只需在文本框中输入任意一个各数 为不相同的四位数,然后点击“确定”即可看到自己所猜的结果是否正确,如图 1 所示: 图 1 图 2 图 3 图 4 如图 2 所示,这是按下“答案”键的结果,可以显示出本次游戏的正确答案。 如图 3 所示,每次输入所猜得数之后,下面的 displayArea 会显示以精彩的次数和猜中 的情况。 如图 4 所示,在 GUI 界面中设了一个“退出”键,显得比较完整,不需要每次推出都 点击右上角的“关闭”键。 如图
3、5 所示,在这个游戏 GUI 界面的下半部分还有游戏说明 二系统设计二系统设计 1 类的设计: 这个猜数字游戏共使用了两个类,一个 Random 类和一个 guessGUI 类。 Random 主要是产生游戏所需的四位随机数, 通过定义一个名为 ran 的数组来实现, 所产生的四个随机数一起显示出来就是一个四位数。 ran0=ran1|ran0=ran2|ran0=ran3|ran1=ran2|ran1= =ran3|ran2=ran3 上面这条语句是保证所产生的四个 09 的随机数中两两不相同。 第二个类是 guessGUI,游戏的主要程序都在这个类中,包括 GUI 界面的设置,输 入数字代
4、入数组,比较数组中各个元素的大小。最后还要显示结果。 GUI 界面设置:主要设置输入文本框位置、各个按钮位置、显示信息区域位置、和 游戏说明位置。 设置文本框等 GUI 元素的位置与属性主要运用了 set, add, draw 的方法,和 AWT, Swing 等组件。 Set 主要是处理设置和输出之间的关系。 在这个猜数字游戏中设置了 GUI 界面大小、GUI 所处位置、标题和窗口属性。 add 添加了输入文本框, “确定” 、 “答案” 、 “退出”键。 Draw 在程序中写出了游戏的说明。 上面一段是四位数的输入,然后转为 String 类,供数组调用。 左边的一段使用 for 循环来比较数组 中从 String 类中提取出来的元素大小,一 共四个元素。即是 Random 中随机出来的各 数为不相同的四位数。比较每个元素与 ran 的四位数各个对位元素是否相等, 记为 m 和 n。猜数字的结果显示为 mAnB。 下图所示,在