人机猜拳 (玩家电脑游戏测试)四个类写法
Posted xiao-ran
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人机猜拳 (玩家电脑游戏测试)四个类写法相关的知识,希望对你有一定的参考价值。
第一个类,玩家类:
import java.util.Scanner; /** * 创建玩家类 */ public class Person { Scanner input = new Scanner(System.in); /** * 定义玩家类的属性 */ String name; int score; String action; int num; /** * 定义玩家类的猜拳方法 */ public void method() { System.out.println(" 请出拳:1.剪刀 2.石头 3.布"); boolean a = true; do { num = input.nextInt(); if (num == 1 || num == 2 || num == 3) { switch (num) { case 1: action = "剪刀"; break; case 2: action = "石头"; break; case 3: action = "布"; break; } a = false; System.out.println("你出拳:" + action); } else { System.out.println("输入数字有误,请重新输入"); } } while (a); } }
第二个类,电脑类:
/** * 电脑类 */ public class Computer { /** * 定义电脑类的属性 */ String name; int score; String action; int num; /** * 定义电脑类的猜拳方法 */ public void method(){ /** *随机产生数字123 */ num=(int)((Math.random())*3)+1; switch(num){ case 1: action="剪刀"; break; case 2: action="石头"; break; case 3: action="布"; break; } System.out.println(name+"出拳:"+action); } }
第三个类,游戏类:
import java.util.Scanner; /** * 游戏类 */ public class Game { Scanner input = new Scanner(System.in); /** * 定义游戏类的属性 */ Person person = new Person();//创建玩家类的对象 Computer computer = new Computer();//创建电脑类的对象 int number; int frequency = 0; /** * 定义游戏进程的方法 */ public void process() { System.out .println("--------------------------欢迎进入游戏世界-------------------------- "); System.out.println(" ********************************"); System.out.println(" **********猜拳,开始*************"); System.out.println(" ********************************"); System.out.println(); System.out.println("出拳规则:1.剪刀 2.石头 3.布"); System.out.print("请选择对方角色(1:刘备2:孙权3:曹操):"); boolean b = true; do { number = input.nextInt(); if (number == 1 || number == 2 || number == 3) { switch (number) { case 1: computer.name = "刘备"; break; case 2: computer.name = "孙权"; break; case 3: computer.name = "曹操"; break; } b = false; } else { System.out.println("输入数字有误,请重新输入"); } } while (b); System.out.print("请输入你的姓名:"); person.name = input.next(); System.out.println(person.name + " VS " + computer.name + " 对战 "); System.out.println("要开始吗?(y/n)"); char answer = input.next().charAt(0); while (answer == ‘y‘) { person.method(); computer.method(); if (person.num == computer.num) { System.out.println("嘿嘿,和局,等着瞧吧!"); } else if (((person.num == 2) && (computer.num == 1)) || (person.num == 1) && (computer.num == 3) || ((person.num == 3) && (computer.num == 2))) { System.out.println("哇,你赢了,好厉害!"); person.score++; } else { System.out.println("^_^!!!你输了,真笨!"); computer.score++; } frequency++; System.out.println(" "); System.out.println("还要继续吗?(y/n)"); answer = input.next().charAt(0); } } /** * 定义游戏结算的方法 */ public void showResult() { System.out.println("********************************"); System.out.println(person.name + " VS " + computer.name); System.out.println("对战次数:" + frequency); System.out.println(" 姓名 得分"); System.out.println(person.name + " " + person.score); System.out.println(computer.name + " " + computer.score); if (person.score < computer.score) { System.out.println("呵呵,笨笨,下次加油!"); } else if (person.score == computer.score) { System.out.println("哇,竟然平局,我们下次一决胜负!"); } else { System.out.println("哇,你好棒啊!"); } System.out.println("********************************"); } }
测试类:
public class Demo { public static void main(String[] args) { Game play=new Game();//创建游戏类的对象 play.process();//调用游戏类的游戏进程方法 play.showResult();//调用游戏类的结算方法 } }
以上是关于人机猜拳 (玩家电脑游戏测试)四个类写法的主要内容,如果未能解决你的问题,请参考以下文章