(完整word版)基于Java的猜拳小游戏设计

合集下载

人机猜拳小游戏

人机猜拳小游戏

Java程序设计基础实验报告班级:学号:姓名:实验题目:猜拳小游戏实验要求:用java编写一个人机对战的猜拳小游戏。

人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。

有基本的UI界面。

实验内容:1、问题分析过程:实验针对java的具体应用,设计了猜拳小游戏。

根据游戏的规则,玩家可以和电脑进行对战。

成学的主要功能是使用标准的JDK进行编译和运行。

定义玩家自己选择性出拳,电脑随机出拳,赢的记10分,输的记0分,平局都记10分。

本程序设计了Game、Person、Player、等多个类,通过程序设定的规则来实现游戏。

(登陆界面)(初始界面)(游戏界面)2、主要实现代码:******************************oString();"="+playerName);etName());etName());造函数的特点:* A:函数名和类名相同* B:函数没有返回类型,即使void也不行* 2.构造函数什么时候被执行:在用户实例化对象时编译器自动调用的,用户无法调用* 3.构造函数完成什么样的工作:在用户实例化对象时完成实例变量(被static的变量)的初始化工作**/public LoginFrame() {etScreenSize();etResource[index]);return new ImageIcon(url);}/*** 根据选手索引的猜拳状态创建ImageIcon对象* @param player_index 选手索引* @param state 猜拳状态,0:初始状态,1:赢状态;2:平局;3:输状态* @return ImageIcon对象*/public ImageIcon getPlayerIcon(int player_index,int state){URL url=getClass().getResource[player_index][state]);return new ImageIcon(url);}public static String getResult(Player userPlayer,Player computerPlayer){count++;int differ=()();int state=0;etPlayerIcon, 0));jContentPane = new JPanel();(null);etMorraIcon (new Game().getMorraIcon ;(new Game().getPlayerIcon(img_index, + "");+ "");+ "");}/*** 恢复游戏初始状态*/private void setInit() {=false;=0;本类型的默认值: byte(1) 0 short(2) 0 int(4) 0 long(8) 0 * char(2) '\0' boolean(2) false* float(4) double* 2.引用类型的默认值:null** 基本类型和引用类型的区别:* 基本类型是在栈内存中存放数据值* 引用类型是在栈内存中存放引用地址,在堆内存中存放数据值的* @author hsj* @version**/public class Person {private String name;private int age;public Person(String name, int age) {super();= name;= age;}public Person() {例化Person类型的对象Person p1=new Person("张三",20);用display()函数完成成员变量的输出工作//段落注释的快捷键:ctrl+shift+o/*();();*/}}3、实验心得体会:通过这次java实验。

java猜拳小游戏课程设计

java猜拳小游戏课程设计

java猜拳小游戏课程设计一、课程目标知识目标:1. 让学生掌握Java基础语法,包括变量声明、数据类型、运算符和条件语句。

2. 使学生了解猜拳游戏的逻辑规则,并将其转化为程序代码。

3. 帮助学生理解面向对象编程的基本概念,如类、对象和方法的定义。

技能目标:1. 培养学生运用Java编写简单程序的能力,尤其是控制流程和逻辑判断。

2. 提高学生运用面向对象编程方法解决问题的能力,如设计类和对象,以及调用方法。

3. 培养学生调试和优化程序的能力,以实现更高效的猜拳游戏。

情感态度价值观目标:1. 激发学生对编程的兴趣,培养其主动探索和解决问题的热情。

2. 培养学生团队合作精神,通过小组讨论和分享,共同优化猜拳游戏。

3. 引导学生认识到编程在现实生活中的应用价值,激发其将所学知识应用于实际问题的意识。

针对课程性质、学生特点和教学要求,本课程目标将分解为以下具体学习成果:1. 学生能够独立编写并运行一个简单的Java猜拳游戏程序。

2. 学生能够在程序中正确使用变量、数据类型、运算符、条件语句和面向对象编程方法。

3. 学生能够通过小组合作,优化猜拳游戏程序,提高游戏体验。

4. 学生能够表达对编程的兴趣,积极参与课堂讨论,分享编程心得和经验。

二、教学内容1. Java基本语法回顾:变量声明、数据类型、运算符、条件语句。

- 教材章节:第2章 Java语言基础2. 面向对象编程基本概念:类、对象、方法。

- 教材章节:第4章 面向对象编程基础3. 猜拳游戏逻辑规则介绍:游戏规则、胜负判断。

- 教材章节:第6章 Java编程实例4. 编写猜拳游戏程序:设计类和对象,实现游戏逻辑。

- 教材章节:第6章 Java编程实例5. 程序调试与优化:调试技巧、性能优化。

- 教材章节:第7章 程序调试与优化6. 团队合作与分享:小组讨论、成果展示。

- 教材章节:附录 团队合作与沟通教学内容安排与进度:1. 课时1:Java基本语法回顾,面向对象编程基本概念介绍。

猜拳游戏

猜拳游戏

#include<stdio.h>#include<string.h>#include<conio.h>#include<stdlib.h>const char*menu[]={"请出拳","1.石头","2.剪刀","3. 布","4.退出游戏"};int showMenu(void);void inputSelectItem(int choose);void inputSelectItem(int choose){int number;number=rand()%3;if(choose==1){{if(number==0) printf("电脑出石头:平手\n");if(number==1) printf("电脑出剪刀:你赢了\n");if(number==2) printf("电脑出布:你输了\n");} getch();system("cls");}else if(choose==2){{if(number==0) printf("电脑出石头:你输了\n");if(number==1) printf("电脑出剪刀:平手\n");if(number==2) printf("电脑出布:你赢了\n");} getch();system("cls");}else if(choose==3){{if(number==0) printf("电脑出石头:你赢了\n");if(number==1) printf("电脑出剪刀:你输了\n");if(number==2) printf("电脑出布:平手\n");} getch();system("cls");}else if(choose ==4)exit(1);else { {printf("请输入正确的选择!");printf("按任意键清屏并返回主菜单\n");}getch();system("cls");}}int showMenu(void){int i, length, choose;char* space = " m ";printf("\n\n");for(i = 0; i < sizeof(menu)/sizeof(char*); i++)/*sizeof(menu)=4(sizeof(char*))*/{length = strlen(space) - (80 - strlen(menu[i]))/2;printf("%s%s\n\n", space + length, menu[i]);if(i == 0)printf("\n\n");}fflush(stdin);printf("请选择:");scanf("%d", &choose);return choose;}void main(void){while(1)inputSelectItem(showMenu());}。

猜拳游戏java课课程设计

猜拳游戏java课课程设计

猜拳游戏java课课程设计一、教学目标本节课的学习目标为:知识目标:使学生掌握Java猜拳游戏的基本原理和实现方式,理解面向对象编程的基本概念。

技能目标:培养学生运用Java语言进行程序设计的能力,能够独立完成简单的猜拳游戏程序。

情感态度价值观目标:培养学生对计算机编程的兴趣和好奇心,提高学生解决问题的自信心。

二、教学内容本节课的教学内容主要包括:1.Java猜拳游戏的基本原理和实现方式。

2.面向对象编程的基本概念和应用。

3.Java语言的基本语法和操作方法。

教学大纲安排如下:1.第一课时:讲解猜拳游戏的基本原理和实现方式,让学生了解猜拳游戏的逻辑结构。

2.第二课时:介绍面向对象编程的基本概念,通过实例讲解如何运用面向对象思想设计猜拳游戏。

3.第三课时:教授Java语言的基本语法和操作方法,让学生能够独立编写简单的猜拳游戏程序。

4.第四课时:对学生的猜拳游戏程序进行讲解和评价,让学生了解自己的学习成果和不足之处。

三、教学方法本节课采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解猜拳游戏的基本原理和实现方式,让学生了解猜拳游戏的逻辑结构。

2.讨论法:分组讨论如何运用面向对象思想设计猜拳游戏,促进学生之间的交流与合作。

3.案例分析法:分析优秀的猜拳游戏程序,让学生了解实际编程中的技巧和方法。

4.实验法:让学生动手编写猜拳游戏程序,培养学生的实际编程能力。

四、教学资源本节课的教学资源包括:1.教材:《Java编程思想》2.参考书:《Java核心技术》3.多媒体资料:猜拳游戏案例分析视频4.实验设备:计算机、网络设施以上教学资源能够支持教学内容和教学方法的实施,丰富学生的学习体验。

五、教学评估本节课的评估方式包括:1.平时表现:通过课堂参与、提问、讨论等方式评估学生的学习态度和积极性。

2.作业:布置相关的猜拳游戏编程作业,评估学生的编程能力和理解程度。

3.考试:期末进行Java编程考试,考察学生对猜拳游戏和相关知识的掌握程度。

c猜拳小游戏课程设计

c猜拳小游戏课程设计

c 猜拳小游戏课程设计一、课程目标知识目标:1. 学生能够理解猜拳小游戏的基本规则和逻辑。

2. 学生能够掌握运用简单的条件语句和循环语句进行程序设计。

3. 学生能够运用所学的编程知识,独立编写并调试一个简单的猜拳小游戏程序。

技能目标:1. 学生能够运用计算机编程语言解决问题,培养计算思维能力。

2. 学生能够通过编写程序,提高逻辑思维和问题解决能力。

3. 学生能够通过小组合作,提高团队协作能力和沟通能力。

情感态度价值观目标:1. 学生对计算机编程产生兴趣,树立学习计算机科学的自信心。

2. 学生能够积极参与课堂讨论,勇于提出问题和分享观点,培养探究精神。

3. 学生在编程实践中,体验团队合作的成功和喜悦,培养积极向上的学习态度。

课程性质:本课程为信息技术课程,旨在通过猜拳小游戏的设计与实现,让学生掌握基本的编程知识和技能,培养计算思维和解决问题的能力。

学生特点:本课程针对五年级学生,他们对新鲜事物充满好奇心,具备一定的逻辑思维能力,但编程经验有限。

教学要求:课程要求教师以生动有趣的方式讲解编程知识,注重实践操作,让学生在动手实践中掌握编程技能。

同时,注重培养学生团队合作能力和积极的学习态度。

通过本课程的学习,学生能够达到上述课程目标,为后续学习打下坚实基础。

二、教学内容1. 猜拳游戏规则介绍:通过讲解猜拳游戏的基本规则,使学生理解游戏的胜负逻辑。

相关教材章节:《信息技术》五年级下册第四章第一節2. 编程基础:回顾并巩固变量、数据类型、运算符等基本概念,为编写猜拳程序打下基础。

相关教材章节:《信息技术》五年级下册第三章3. 条件语句和循环语句:讲解条件语句和循环语句的用法,使学生能够运用这些语句编写猜拳游戏的逻辑。

相关教材章节:《信息技术》五年级下册第四章第二节4. 猜拳游戏编程实践:a) 设计程序框架:指导学生设计猜拳游戏的基本框架,包括玩家输入、电脑随机出拳、判断胜负等模块。

b) 编写代码:引导学生逐步编写猜拳游戏代码,并进行调试。

猜拳游戏策划书模板3篇

猜拳游戏策划书模板3篇

猜拳游戏策划书模板3篇篇一《猜拳游戏策划书模板》一、游戏名称猜拳游戏二、游戏类型休闲娱乐三、游戏目的通过猜拳游戏,增加玩家之间的互动和娱乐性,同时锻炼玩家的反应能力和决策能力。

四、游戏规则1. 游戏开始前,玩家需要选择自己的出拳手势(石头、剪刀、布)。

2. 游戏开始后,玩家同时出示自己的出拳手势,根据石头剪刀布的规则判断胜负。

3. 石头胜剪刀,剪刀胜布,布胜石头。

4. 如果双方出拳相同,则为平局,需要重新出拳。

5. 游戏可以进行多轮,直到一方达到胜利条件。

五、游戏流程1. 玩家进入游戏后,选择自己的出拳手势。

2. 系统随机匹配对手,开始游戏。

3. 玩家和对手同时出示出拳手势,系统判断胜负。

4. 如果胜利,玩家可以获得积分或奖励;如果失败,玩家可以选择重新挑战或退出游戏。

5. 游戏结束后,系统显示玩家的游戏成绩和排名。

六、游戏界面设计1. 游戏界面简洁明了,易于操作。

2. 玩家可以通过按钮选择出拳手势。

3. 游戏界面显示玩家和对手的出拳手势以及胜负结果。

4. 游戏界面还可以显示玩家的积分、排名等信息。

七、游戏音效设计1. 游戏音效轻松愉悦,增加游戏的趣味性。

2. 游戏音效包括出拳音效、胜利音效、失败音效等。

八、游戏难度设计1. 游戏难度适中,适合不同年龄段的玩家。

2. 游戏可以设置不同的难度级别,玩家可以根据自己的实际情况选择。

九、游戏盈利模式1. 游戏可以通过广告投放、内购等方式实现盈利。

2. 广告投放可以在游戏界面中展示相关广告,内购可以提供一些虚拟道具或增值服务。

十、游戏推广渠道1. 游戏可以通过社交媒体、游戏平台、应用商店等渠道进行推广。

2. 可以利用社交媒体进行宣传,吸引玩家关注和。

3. 可以在游戏平台上发布游戏,提高游戏的曝光率。

4. 可以在应用商店中进行推广,提高游戏的量和评分。

十一、游戏维护和更新1. 游戏需要定期进行维护和更新,修复漏洞和优化游戏性能。

2. 游戏更新可以增加新的功能、道具、关卡等,提高游戏的趣味性和可玩性。

猜拳游戏策划书模板3篇

猜拳游戏策划书模板3篇

猜拳游戏策划书模板3篇篇一猜拳游戏策划书模板一、游戏名称猜拳游戏二、游戏类型休闲娱乐三、游戏目的通过猜拳游戏,增强玩家之间的互动和娱乐性,提高玩家的反应能力和判断力。

四、游戏规则1. 基本规则:猜拳游戏是一种简单的互动游戏,通常由两个人进行。

玩家通过手势表示出石头、剪刀或布,然后根据规则判断胜负。

2. 手势规则:石头:握拳,表示坚固和稳定。

剪刀:伸出食指和中指,表示剪刀的形状。

布:张开手掌,表示柔软和包容。

3. 胜负规则:石头胜剪刀:石头可以砸断剪刀。

剪刀胜布:剪刀可以剪断布。

布胜石头:布可以包裹石头。

平局:如果双方出的手势相同,则为平局,需要重新出拳。

4. 游戏流程:玩家 A 和玩家 B 面对面站立,准备开始游戏。

玩家 A 先出拳,玩家 B 随后出拳。

根据胜负规则判断胜负,如果一方获胜,则游戏结束;如果平局,则重新出拳,直到一方获胜为止。

五、游戏界面设计1. 游戏主界面:显示游戏名称和游戏图标。

显示玩家 A 和玩家 B 的头像和昵称。

显示猜拳的手势按钮,包括石头、剪刀和布。

显示游戏结果,包括胜负和平局。

2. 游戏设置界面:可以设置游戏难度,包括简单、普通和困难。

可以设置游戏音效和音乐。

可以查看游戏帮助和规则说明。

六、游戏音效设计1. 出拳音效:当玩家出拳时,播放相应的出拳音效,如石头的撞击声、剪刀的剪断声和布的飘动声。

2. 胜利音效:当玩家获胜时,播放胜利音效,如欢呼声和掌声。

3. 失败音效:当玩家失败时,播放失败音效,如叹息声和鼓励声。

4. 平局音效:当玩家平局时,播放平局音效,如提示音和笑声。

七、游戏难度设计1. 简单难度:玩家 A 和玩家 B 的出拳顺序是固定的,玩家可以通过记忆出拳顺序来提高获胜的概率。

2. 普通难度:玩家 A 和玩家 B 的出拳顺序是随机的,玩家需要通过观察和判断来提高获胜的概率。

3. 困难难度:玩家 A 和玩家 B 的出拳顺序是随机的,并且玩家 A 和玩家 B 可以使用一些策略来提高获胜的概率,如故意出平局来消耗对方的体力和耐心。

Java猜拳小游戏(剪刀、石头、布)

Java猜拳小游戏(剪刀、石头、布)

Java猜拳⼩游戏(剪⼑、⽯头、布)1、第⼀种实现⽅法,调⽤Random数据包,直接根据“1、2、3”输出“剪⼑、⽯头、布”。

主要⽤了9条输出判断语句。

import java.util.Random;import java.util.Scanner;public class caiquan{public static void main(String[] args){Random r=new Random();int diannao=r.nextInt(3)+1;Scanner s=new Scanner(System.in);System.out.println("=========猜拳⼩游戏=========");System.out.println("请输⼊1、2、3,1代表剪⼑,2代表⽯头,3代表布");int fangke=s.nextInt();if(diannao==1&&fangke==1){System.out.println("电脑出的是剪⼑,你出的是剪⼑,平局");}if(diannao==1&&fangke==2){System.out.println("电脑出的是剪⼑,你出的是⽯头,你赢了");}if(diannao==1&&fangke==3){System.out.println("电脑出的是剪⼑,你出的是布,电脑赢了");}if(diannao==2&&fangke==1){System.out.println("电脑出的是⽯头,你出的是剪⼑,电脑赢了");}if(diannao==2&&fangke==2){System.out.println("电脑出的是⽯头,你出的是⽯头,平局");}if(diannao==2&&fangke==3){System.out.println("电脑出的是⽯头,你出的是布,你赢了");}if(diannao==3&&fangke==1){System.out.println("电脑出的是布,你出的是剪⼑,你赢了");}if(diannao==3&&fangke==2){System.out.println("电脑出的是布,你出的是⽯头,电脑赢了");}if(diannao==3&&fangke==3){System.out.println("电脑出的是布,你出的是布,平局");}if(fangke!=1&&fangke!=2&&fangke!=3){System.out.println("只能输⼊1、2、3");}}} 2、第⼆种实现⽅法,不调⽤Random数据包,换成Math.random(),把“1、2、3”换成“剪⼑、⽯头、布”再输出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录绪论............................................... 错误!未定义书签。

一、背景与意义..................................... 错误!未定义书签。

二、设计原理与方案................................. 错误!未定义书签。

一)方案....................................... 错误!未定义书签。

二)设计思路................................... 错误!未定义书签。

三)系统分析................................... 错误!未定义书签。

四)程序概要设计............................... 错误!未定义书签。

五)工作流程图................................ 错误!未定义书签。

六)程序框图.................................. 错误!未定义书签。

七)程序中所用类说明.......................... 错误!未定义书签。

八)程序运行效果及存在的问题................... 错误!未定义书签。

三、项目实现....................................... 错误!未定义书签。

一)程序用到的类库简介......................... 错误!未定义书签。

二)游戏主程序设计............................. 错误!未定义书签。

三)主界面PigPanel类......................... 错误!未定义书签。

四)具体实现.................................. 错误!未定义书签。

四、运行结果....................................... 错误!未定义书签。

一)结果截图................................... 错误!未定义书签。

二)系统在调度中经常出现的问题................. 错误!未定义书签。

五、心得........................................... 错误!未定义书签。

六、总结语......................................... 错误!未定义书签。

七、参考文献 (19)绪论:面向对象(OOP)的程序设计认为:现实世界是由一组彼此相关并互通信息的实体——对象(Object)组成的。

不管是一所学校、一个班级;一辆汽车、一张桌子;还是一个窗体、一个按钮,都可视作对象。

一个对象包含两部分内容:描述对象状态的数据和描述对象行为或功能(方法)的编码。

数据和编码紧密结合,共同构成一个对象。

面向对象的程序设计有三大特性:封装性、继承性和多态性。

计算机技术的应用正在朝着网络化的方向阔步前进,万维网成为世界上最大的信息中心。

但目前外围网上的内容仍多为文本、图像、声音等静态信息,Java为其提供了简便并且功能强大的编程接口,开发人员利用这些编程接口可以向Web 增加动态性、交互性内容,这使得Web页面翻开了新的一页。

Java是一种跨平台的面向对象的语言,这就允许开发人员生成独立于平台的应用程序,用Java编写的程序可以在许多硬件平台上运行而不需要重新编译。

Java具有很多优点:简单、面向对象、可移植、与硬件无关、强健安全、具有很高的性能,此外还对多线程、动态性提供了支持。

Java采用面向对象技术,所有的Java程序都是对象,通过封装性实现了模块化和信息隐藏,通过继承性实现了代码的复用,使得用户可以根据自己的需要创建自己的类库。

Java最强大的是网络方面的应用,本课程设计不涉及网络方面的应用。

一、背景与意义游戏是全球最大的娱乐经济项目之一,已经被命名为“第九艺术”。

而由“游戏”派生出来的职业,除了软件开发外,游戏包装宣传推广、攻略指导、网络游戏管理员和职业游戏玩家等,已成为了一系列专门的岗位。

虽然说中国的游戏行业开始逐步的迈入了正轨,但是现今,游戏人才出现严重的瓶颈时期,高校的扩招、金融危机的侵袭直接影响着我们最关心的就业问题,但是另一方面游戏人才的缺乏又直接制约着行业的发展,这就更加严格了对社会培训机构的稳定性和正规性的要求。

在我国,游戏人才培养体系还未健全,部分开设了相关专业的高校,游由于理论和实践的脱离无法完全满足网游公司对人才的需求。

所以,就中国目前的市场分析来看,加强游戏产业必须在多渠道人才培养体系上加快突破,尽快建立起多渠道人才培养体系,来满足社会对游戏人才的需求。

通过Java程序设计的一些重要理论基础来实现“人机猜拳小游戏”的功能。

通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果,逐步建立正确的全局观念。

通过本次程序设计,我掌握了Java语言的基本运用,提高了理论结合实际能力。

二、设计原理及方案程序总体介绍和设计要求程序使用J2SE语言编写,使用标准JDK平台编译和运行。

程序使用已创建的PairOfDice类,设计并实现一个类来玩游戏。

根据游戏规则玩家将和电脑进行比赛。

创建小游戏,实现电脑与玩家之间互动猜拳这主要功能,通过按钮的方式,与电脑进行猜拳游戏,电脑随机出拳并能显示设置的图片,增加美观。

一)方案:1)界面的左侧是电脑或者玩家的名字,让界面看起来一目了然。

2)系统界面的中间是电脑或者玩家出拳的图片。

图片可以生动形象得表示出电脑或者玩家出的拳,显示的图片在对话框中也相得益彰。

在图片的下方会显示,人机猜拳以后的输赢。

3)界面的右侧是三个剪刀石头布的按钮。

玩家通过按钮出拳,电脑随机出拳,猜拳的输赢结果在下方显示。

二)设计思路:在设计游戏时,我们要充分考虑到剪刀石头布游戏的特性,以及多种技术的实现:⑴构造创建服务器端和客户端⑵创建输入输出流⑶编写服务器端处理数据的线程方法⑷绘制游戏界面⑸绘制界面上的提示采用此方法设计使程序简洁明了,使绘制游戏界面时简单化,更加易于游戏的实现,程序也更易于读懂。

如java中得到输入输出流的方法://调用客户端的getInputStream()方法Inputs=newBufferedReader(newInputStreamReader(client.getInputStream()));通过调用此方法获取从服务器得到的数据调用客户端的getOutputStream()方法,通过此方法把客户端的数据传输给服务器。

三)系统分析Java程序编辑器是:图形界面、线程、流与文件等技术的综合应用。

图形界面的实现:考虑到简单、实用、高效等特点,就选择了AWT来完成实现,在选择组件上,文本编辑区就选用了TaxtArea作为主要的部件。

线程实现文件自动保存:在相关的参考书上查阅到在Time类中有一个schedule方法可以在后台自动完成一定的功能,而且调用起来相当简单,于是就用了Time类中的schedule方法来实现文件自动保存及备份功能。

文件操作的实现:利用了字符文件流FileReader和FileWriter类来实现。

由于Java的特性,可能用任何一个编辑器来编辑,于是就将Windows中的记事本作为模仿对象,根据实现情况删减了其中的一些功能,如自动换行,设置字体,打印等功能。

在设计类的时候,考虑到简单明了,就用了两个类,一个主类和一个默认属性类作为程序的整体框架,所有的对象和方法都是在默认属性类中创建和实现的,以及为各组件注册事件监听程序也是在默认属性类中实现的。

主类完成对象的实例化及显示。

这们设计的优点是:条理清晰,容易理解,容易修改。

这样设计的缺点是:不利于共享类中的方法。

四)程序概要设计1)功能需求分析一个剪刀石头布游戏,根据一般的常识,首先要有两个人,两个人同时出,然后,根据双方的出拳,决定谁是赢者,虽然想起来这个游戏很简单,但如何实现,还是有一定难度的。

实现这个时针时涉及到几个技术问题:1.双方如何出拳2.如何同时出拳3.如何判断哪方赢了4.如何显示结果剪刀石头布游戏,都是通过两个人同时出拳,然后根据双方出的拳,判定哪方是赢家。

2)性能需求分析准确性:在实现此的过程中,我们要考虑到,双方是否能同时地出拳,还要就是如何去判断,准确地知道哪方是赢家.简洁性:在实现此的过程中,我们要考虑到,怎样使游戏界面更简单,让人更容易明白它怎样去玩。

五)工作流程图:图1 工作流程图六)程序框图游戏程序框图如图2所示图2 游戏程序框图七)程序中所用类说明:(1)用户自定义类类名:SmallGame作用:实例化对象主要成员变量:Frame myFrm // 定义主窗体TextArea myText // 定义文本编辑区Button BfontOK, Bfind, Breplace, Bnext, Bcancel //定义和创建各按钮Label Lf Lr, Ls //定义和创建各标签MenuBar Mbbar //定义和创建主菜单Menu Mfile,Medit,Mformation,Mhelp //定义和创建主菜单中的选项Toolkit toolKitClipboard myCB //剪切板对象FileDialog myFDlg //定义文件对话框主要成员方法:public void init() //初始化各部件菜单的定义和事件的监听public void displayEdit ()//显示窗体及调用Time 中的schedule 方法 public void windowClosing () //关闭窗体public void save //保存文件方法.内部类类名:KeyEvents作用:实现菜单的事件的响应功能继承的父类:KeyAdapter主要成员变量:无成员方法:actionPerformed()、keyPressed()(2)用户自定义类与Java 类的继承关系图如下:图3 子类及其父类继承关系图(3)类中成员及作用Service 类成员: ThreadServicgetInputStream Start Run Random get O utputStrea mReadlineString data; //接收数据BufferedReader inputs;// 读取数据PrintStream outputs;//输出数据Socket client;//定义套接字Client类成员:String data;//接收数据Socket client = null;//定义套接字BufferedReader inputs = null;// 读取数据 BufferedReader key = null;// 缓冲数据PrintStream outputs = null;//输出数据八)程序运行效果及存在的问题(1)运行效果图剪刀石头布游戏效果如图4所示:图4游戏效果图(2)存在的问题此游戏界面简洁明了,但还是有许多问题的,比如说这个界面不是GUI 的,所以操作性不强,也不美观,而且处理数据的random函数也有问题,它可能出现相同的结果,不能成为真正意义上的随机,所以这个小游戏还是有许多问题的,我会进一步的改进它。

相关文档
最新文档