Java猜拳小游戏程序设计实验报告_游戏程序设计实验报告
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 cla StartGame { public static void main(String[]args){
Game start = new Game();//实例化游戏类
start.initial();//调用初始化方法
start.startGame();//调用游戏开始方法
start.showResult();//调用游戏结果显示方法
} } import java.util.*;public cla 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 cla 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(“---------------欢
迎
进
入
游
戏
世
System.out.println(”tt******************************“);
System.out.println(”tt**
^_^ 猜拳,Start ^_^
**“);
System.out.println(”tt*****************************“);
界--------------n”);
System.out.println(“nn出拳规则: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
System.out.println(“结果:你果然是高手,” + computer.name + “佩服!”);
}
else{
System.out.println(“结果:呵呵,笨笨,下次加油哦!”);
}
System.out.println(“-----------------------”);} } public cla 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、实验心得体会:
从本次课程设计的完成中,我发现我有很多不足的地方,最突出的是所掌握的知识太少,学到的知识应用不到实践中。后来通过看书查找相关资料,完成课程设计任务。
程序设计语言是程序设计的工具,如果想有效的设计程序,正确的应用程序表达算法,必须准确应用程序设计语言;学习程序设计,必须要多读程序,并试着自己编写程序,多上机调试程序代码。