用户类:
1 2 3 4 5 6 7 8 9 10 11 12 13 | package cn.puruidong.accp_12; /* * 用户类,包含输入的用户姓名 */ import java.util.*; public class yonghu { private String name ; Scanner input = new Scanner (System.in); public void show(){ System.out.println("请输入姓名:"); name = input.next(); } } |
计算机类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | package cn.puruidong.accp_12; /* * 计算机类 * 包含角色选择,及输出 */ import java.util.Scanner; public class jisuanji { int jisuanjiname ; public void showEr (){ Scanner input = new Scanner (System.in); System.out.println("请选择计算机的角色:1.刘邦;2.项羽;3.曹操"); jisuanjiname = input.nextInt(); switch (jisuanjiname){ case 1 : System.out.println("您选择与:\t刘邦对战"); break; case 2 : System.out.println("您选择与:\t项羽对战"); break; case 3: System.out.println("您选择与:\t曹操对战"); break; default : System.out.println("抱歉,火星查无此人!"); break; } } } |
游戏类,三个类放在一个文件夹中,运行Game.java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | /* * 人机对战之游戏类 * 其中包含:用户类调用+计算机类调用 * 自包含:人出拳+计算机出拳 * 来自:第十二章 */ package cn.puruidong.accp_12; import java.util.Scanner; public class Game { int random ; int chuquan; Scanner input = new Scanner (System.in); public int suiji (){ //计算机随机出拳 random = (int)(Math.random()*10%3+1); switch (random){ case 1: System.out.println("计算机出了:剪刀"); break; case 2: System.out.println("计算机出了:石头"); break; case 3: System.out.println("计算机出了:布"); break; } return random; } public int chuquan (){ //人出拳 chuquan = input.nextInt(); switch (chuquan){ case 1: System.out.println("您出了:剪刀"); break; case 2 : System.out.println("您出了:石头"); break; case 3 : System.out.println("您出了:布"); break; default : System.out.println("抱歉,输入错误!"); break; } return chuquan ; } public static void main (String[]args){ System.out.println("*******************************"); System.out.println("********猜拳\t开始*********"); System.out.println("*******************************"); Scanner input = new Scanner (System.in); jisuanji center = new jisuanji (); yonghu ren = new yonghu (); Game spr = new Game (); System.out.println("出拳规则:1.剪刀;2.石头;3,布"); String choose; ren.show(); center.showEr(); int num1 = 0 ; //记录总局数 int num2 = 0 ;//记录人胜利的局数 int num3 = 0;//记录计算机胜利的局数 do{ System.out.println("出拳规则:1.剪刀;2.石头;3,布(请出拳):"); spr.chuquan(); spr.suiji(); int panduan1 = spr.random;//定义将变量spr.random赋给常量panduan1,否则在if判断时,将重复调用random int panduan2 = spr.chuquan;//同上 if ((panduan1==1&&panduan2==3)||(panduan1==2&&panduan2==1)||( panduan1==3&&panduan2==2)){ System.out.println("恭喜,你赢了"); num2++; } else if ((panduan1==1&&panduan2==1)||(panduan1==2&&panduan2==2)||(panduan1==3&&panduan2==3)){ System.out.println("这是平局"); } else { System.out.println("o(>﹏<)o你输了真笨"); num3++; } num1++; System.out.println("请问是否进入下一轮(y/n):"); choose = input.next(); }while (!"n".equals(choose));//输入为n时,结束循环,输出结果 System.out.println("总局数:"+num1); System.out.println("人胜利的局数:"+num2); System.out.println("计算机胜利的局数:"+num3); System.out.println("平局是:"+(num1-(num2+num3))); } } |