为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Java猜拳小游戏程序设计实验报告

2019-02-04 12页 doc 33KB 238阅读

用户头像

is_105949

暂无简介

举报
Java猜拳小游戏程序设计实验报告Java程序设计实验报告 班级:          学号:      姓名:          实验题目:猜拳小游戏 实验要求: 用java编写一个人机对战的猜拳小游戏。人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。有简单的操作界面。 实验内容: 1、问题分析过程: (1)首先分析猜拳游戏本身的玩法: 人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。 (2)用面向对象的思想来分析: 在游戏过程中有几个对象组成 人 电脑 游戏规则 抽象出3个类:Person、Computer、Game Person类有哪些属性和行...
Java猜拳小游戏程序设计实验报告
Java程序设计实验报告 班级:          学号:      姓名:          实验题目:猜拳小游戏 实验要求: 用java编写一个人机对战的猜拳小游戏。人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。有简单的操作界面。 实验内容: 1、问题分析过程: (1)首先分析猜拳游戏本身的玩法: 人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。 (2)用面向对象的思想来分析: 在游戏过程中有几个对象组成 人 电脑 游戏规则 抽象出3个类:Person、Computer、Game Person类有哪些属性和行为呢? 属性:名字name,输赢次数(比分)score 行为:出拳ShowFirst()  选择性 Computer类有哪些属性和行为呢? 属性:名字name,输赢次数(比分)score 行为:出拳showFist()  随机 Game类有哪些属性和行为呢? 属性:游戏的双方(person、computer)、对战局数count 行为:产生角色initial()、游戏规则startGame()、显示比赛结果showResult()、统计                                            比赛结果calcResul() 2、主要实现代码: import java.util.*; public class StartGame { public static void main(String[]args){ Game start = new Game();//实例化游戏类 start.initial();        //调用初始化方法 start.startGame();        //调用游戏开始方法 start.showResult();        //调用游戏结果显示方法 } } import java.util.*; public class Person { String name;//名字属性 int score;//积分属性 //出拳方法 public int showFist(){ System.out.print("\n请出拳:1.剪刀2.石头3.布(输入相应数字):"); Scanner input = new Scanner(System.in); int num = input.nextInt(); String fist = "";//保存出拳 switch(num){ case 1: fist = "剪刀"; break; case 2: fist = "石头"; break; case 3: fist = "布"; break; } System.out.println(name + "出拳:" + fist); return num; } } import java.util.*; public class Game { //Person person;            //甲方 //Computer computer;        //乙方 int count;                //对战次数 Person person = new Person();        //实例化用户类 Computer computer = new Computer();    //实例化计算机类 //初始化方法 public int initial(){ count = 0; return count; } //游戏开始方法 public void startGame(){ //显示游戏开始界面 System.out.println(" ---------------欢  迎  进  入  游  戏  世  界--------------\n"); System.out.println("\t\t******************************"); System.out.println("\t\t**    ^_^ 猜拳,Start ^_^    **"); System.out.println("\t\t*****************************"); System.out.println("\n\n出拳规则:1.剪刀 2.石头 3.布"); //选择计算机角色 System.out.print("请选择对方角色:1.刘备 2.孙权 3.曹操:"); Scanner input = new Scanner(System.in); int num = input.nextInt(); switch(num){ case 1: computer.name = "刘备"; break; case 2: computer.name = "孙权"; break; case 3: computer.name = "曹操"; break; } //输入用户角色名 System.out.print("请输入你的姓名:"); person.name = input.next();            //显示对战双方 System.out.print(person.name + "  VS  " + computer.name + "  对战\n"); //开始游戏 System.out.print("\n要开始吗?(y/n)"); String con = input.next(); int perFist;//用户出的拳 int compFist;//计算机出的拳 if(con.equals("y")){//判断是否开始 String answer = "y"; while("y".equals(answer)){//循环条件是是否开始下一轮 //出拳 perFist = person.showFist();//调用用户出拳方法 compFist = computer.showFist();//调用计算机出拳方法 //裁决 if((perFist == 1 && compFist == 1) || (perFist == 2 && compFist == 2) || (perFist == 3 && compFist == 3)){ System.out.println("结果:和局,真衰!\n");        //平局 } else if((perFist == 1 && compFist == 3) || (perFist == 2 && compFist == 1) || (perFist == 3 && compFist == 2)){ System.out.println("结果:恭喜, 你赢了!\n");        //用户赢 person.score++;                                //累计用户积分 } else{ System.out.println("结果说:^_^,你输了,真笨!\n");//计算机赢 computer.score++;                            //累计计算机积分 } count++;//累计对战次数 System.out.print("是否开始下一轮(y/n):"); answer = input.next(); } } }                //比较得分情况的方法 public void showResult(){ System.out.println("------------------------------------------------------"); System.out.println(computer.name + "  VS  " + person.name); System.out.println("对战次数:" + count); System.out.println("\n姓名\t得分\n" + person.name + "\t" + person.score + "\n" + computer.name + "\t" + computer.score + "\n"); //比较积分 if(computer.score == person.score){ System.out.println("结果:打成平手,下次再和你一分高下!"); } else if(computer.score < person.score){ System.out.println("结果:你果然是高手," + computer.name + "佩服!"); } else{ System.out.println("结果:呵呵,笨笨,下次加油哦!"); } System.out.println("------------------------------------------------------"); } } public class Computer { String name;//名字属性 int score;//积分属性 //出拳方法 public int showFist(){ int num = (int)(Math.random()*3) + 1; String fist = ""; switch(num){ case 1: fist = "剪刀"; break; case 2: fist = "石头"; break; case 3: fist = "布"; break; } System.out.println(name + "出拳:" + fist); return num; } } 运行界面: 3、实验心得体会: 从本次课程设计的完成中,我发现我有很多不足的地方,最突出的是所掌握的知识太少,学到的知识应用不到实践中。后来通过看书查找相关资料,完成课程设计任务。 程序设计语言是程序设计的工具,如果想有效的设计程序,正确的应用程序达算法,必须准确应用程序设计语言;学习程序设计,必须要多读程序,并试着自己编写程序,多上机调试程序代码。
/
本文档为【Java猜拳小游戏程序设计实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索