java面向对象之人机猜拳小游戏

网友投稿 267 2023-02-11

java面向对象之人机猜拳小游戏

人机猜拳小游戏,只要用到的java面向对象的思维模式。本游戏中有游戏玩家和计算机两个参与者。玩家和计算机都有的属性是姓名和得分。共分为4个类。下图是游侠小程序控制台截图:

以下是源代码:

Computer.java类

package com.whf.guess.game;

/**

* @author :辰

* @version

* 创建时间:2017年2月24日 上午8:38:29

*

*/

public class Computer {

String name = "电脑";//名字

int score = 0;//积分

public int showFist() {

//产生随机数

int show = (int) ((Math.random()*10)%3+1); // 产生随机数,表示电脑出拳

//输出出拳结果并返回

switch (show) {

case 1:

System.out.println(name+"你出拳:剪刀");

break;

case 2:

System.out.println(name+"你出拳:石头");

break;

case 3:

System.out.println(name+"你出拳:布");

break;

}

return show;

}

}

Person.java 类

package com.whf.guess.game;

import java.util.Scanner;

/**

* @author :辰

* @version

* 创建时间:2017年2月24日 上午8:45:41

*

*/

public class Person {

String name = "匿名"; //名字

int score = 0; //积分

public int showFist(){

//接收用户的选择

Scanner input = new Scanner(System.in);

System.out.println("\n请出拳:1.剪刀 2.石头 3.布");

int show = input.nextInt();

//输出出拳结果,并且返回

switch (show) {

case 1:

System.outBvImr.println(name+"你出拳:剪刀");

break;

case 2:

System.out.println(name+"你出拳:石头");

break;

case 3:

System.out.println(name+"你出拳:布");

break;

}

return show;

}

}

Game.java类。包含游戏的比赛核心代码

package com.whf.guess.game;

import java.util.Scanner;

/**

* @author :辰

* @version

* 创建时间:2017年2月24日 上午8:37:06

*

*/

public class Game {

Person person ; //甲方

Computer computer;// 乙方

int count;// 对战次数

public void inital(){

person = new Person();

computer = new Computer();

count = 0;

}

//开始游戏

public void startGame(){

System.err.println("-------------欢迎进入猜拳游戏---------------");

System.out.println();

System.out.println("******************************************");

System.out.println("——————出拳规则:1.剪刀 2.石头 3.布——————————");

System.out.println("-------------》》》猜拳开始《《《------------");

System.err.println("-------------------------------------------");

Scanner input = new Scanner(System.in);

String exit="n";//退出系统

do {

inital();//初始化

//选择对手

System.out.println("选择你的对手1.马云 2.马化腾 3.马大姐 ");

int role = input.nextInt();

if (role ==1) {

computer.name="马云";

}else if (role == 2) {

computer.name="马化腾";

}else if (role == 3) {

computer.name="马大姐";

}

//游戏玩家输入姓名

System.out.println("请输入你的姓名:");

person.name=input.next();

System.out.println(person.name+" VS "+computer.name+"对战\n");

//开始游戏

System.out.println("要开始吗?(y/n)");

//开始一局游戏

String start = input.next();

int perFist;//游戏用户出拳

int comFist;//计算机出拳

while (start.equals("y")) {

//出拳

perFist = person.showFist();

comFist = computer.showFist();

//判断胜负

if ((perFist==1&&comFist==1)||(perFist==2&&comFist==2)||(perFist==3&&comFist==3)) {

System.err.println("结果:和局,真衰!\n");//平局

}else if ((perFist==2&&comFist==1)||(perFist==3&&comFist==2)||(perFist==1&&comFist==3)) {

System.err.println("结果:你赢了,真帅!\n");//胜利

person.score++;

}else {

System.err.println("结果是:^_^,你输了,下载再战!\n");//计算机赢

computer.score++;

}

count++;

System.out.println("是否进行下一轮(http://y/n)");

start = input.next();

}

//显示结果

showResult();

System.out.println("\n要开始下一局吗?(y/n):");

exit = input.next();

System.out.println();

} while (!exit.equals("n"));

System.out.println("系统退出");

}

private void showResult() {

// TODO Auto-generated method stub

//显示对战次数

System.out.println("------------------------------");

System.out.println(computer.name+" VS "+person.name);

System.out.println("对战次数:"+count);

//显示最终得分

System.out.println("\n姓名\t得分");

System.out.println(person.name+"\t"+person.score);

System.out.println(computer.name+"\t"+computer.score+"\n");

//显示对战结果

int result = calcResult();

if (result==1) {

System.err.println("结果:打成平手,下次再和你一分高下");

}else if (result==2) {

System.err.println("结果:恭喜恭喜你赢得比赛");

}else

{

System.err.println("结果:不气馁,下次再来");//计算机赢

}

System.out.println("--------------------------");

}

//计算比赛结果

private int calcResult() {

// TODO Auto-generated method stub

if (person.score == computer.score) {

return 1;//战平

}else if (person.score > computer.score) {

return 2;//游戏玩家赢

}else {

return 3;//惜败

}

}

}

StartGuess.java类

package com.whf.guess.game;

/**

* @author :辰

* @version

* 创建时间:2017年2月24日 上午9:35:36

*

*/

public class StartGuess {

public static void main(String[] args) {

Game game = new Game();

game.inital();

game.startGame();

}

}

以上就是完整的人机猜拳java面向对象的小游戏源码.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信公众号平台api接口(微信公众号api接口大全)
下一篇:怎样解除聚合信息通知(怎样解除聚合信息通知铃声)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~