java面向对象之人机猜拳小游戏
程序员文章站
2022-03-21 11:31:43
人机猜拳小游戏,只要用到的java面向对象的思维模式。本游戏中有游戏玩家和计算机两个参与者。玩家和计算机都有的属性是姓名和得分。共分为4个类。下图是游侠小程序控制台截图:以下是源代码:computer...
人机猜拳小游戏,只要用到的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.out.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<computer> { 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("是否进行下一轮(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面向对象的小游戏源码.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: SendKeys参考文档