失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > c语言猜拳游戏实训报告 Java猜拳小游戏程序设计实验报告.doc

c语言猜拳游戏实训报告 Java猜拳小游戏程序设计实验报告.doc

时间:2019-12-06 16:13:28

相关推荐

c语言猜拳游戏实训报告 Java猜拳小游戏程序设计实验报告.doc

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、 实验心得体会:

从本次课程设计的完成中,我发现我有很多不足的地方,最突出的是所掌握的知识太少,学到的知识应用不到实践中。后来通过看书查找相关资料,完成课程设计任务。

程序设计语言是程序设计的工具,如果想有效的设计程序,正确的应用程序表达算法,必须准确应用程序设计语言;学习程序设计,必须要多读程序,并试着自己编写程序,多上机调试程序代码。

展开阅读全文

如果觉得《c语言猜拳游戏实训报告 Java猜拳小游戏程序设计实验报告.doc》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。