猜拳小游戏
需求
与电脑对战,选择要对战的电脑角色。自己用数字模拟出拳。输出对战场次以及胜负比分。
源码
类Test
public class Test {
public static void main(String[] args) {
GuessFist g =new GuessFist();
g.start();
}
}
类Person
import java.util.Scanner;
public class Person {
String name;
int score;
int count;
public int showFist() {
Scanner input = new Scanner(System.in);
System.out.print("请出拳(1、剪刀 2、石头 3、布):");
int fist;
fist = input.nextInt();
switch(fist) {
case 1:
System.out.println("您出的是,剪刀");
break;
case 2:
System.out.println("您出的是,石头");
break;
case 3:
System.out.println("您出的是,布");
break;
default:
System.out.println("您的出拳不正确!");
break;
}
return fist;
}
}
类computer
public class Computer {
String name;
int score;
int count;
public int showFist() {
int fist = (int)(Math.random()*3+1);
switch (fist) {
case 1:
System.out.println(name+"出的是:剪刀");
break;
case 2:
System.out.println(name+"出的是:石头");
break;
case 3:
System.out.println(name+"出的是:布");
break;
default:
break;
}
return fist;
}
}
类GussFist
import java.util.Scanner;
public class GuessFist {
Computer computer = new Computer();
Person person = new Person();
public void start() {
Scanner input = new Scanner(System.in) ;
System.out.println("******欢迎加入游戏世界******");
System.out.println("**************************");
System.out.println("***** 猜拳开始 *****");
System.out.println("**************************");
System.out.println();
System.out.println("出拳规则:1、剪刀 2、石头 3、布");
System.out.println("请选择对战角色(1、普京 2、特朗普 3、安倍)");
int role = input.nextInt();
switch(role) {
case 1:
computer.name = "普京";
break;
case 2:
computer.name = "特朗普";
break;
case 3:
computer.name = "安倍";
break;
default:
break;
}
System.out.print("请输入你的姓名:");
person.name = input.next();
System.out.println(person.name+"VS"+computer.name);
System.out.println();
System.out.println("要开始吗(Y/N):");
String isBegin = input.next();
System.out.println();
if(isBegin.equals("Y")) {
String answer = "Y";
while(answer.equals("Y")) {
int pFist = person.showFist();
int cFist = computer.showFist();
//判断输赢
if((pFist==1 &&cFist==3)
||(pFist==2&& cFist == 1)
||(pFist==3&& cFist == 2)){//人赢
System.out.print("恭喜,您赢了");
person.score++;
person.count++;
computer.count++;
}else if((pFist == 1 && cFist==2)
||(pFist==2 && cFist==3)
||(pFist==3 && cFist==1)) {
System.out.print("很遗憾,"+computer.name+"赢了!");
computer.score++;
person.count++;
computer.count++;
}else {
System.out.println("平局!");
person.count++;
computer.count++;
}
System.out.println();
System.out.print("是否下一轮(Y/N):");
answer = input.next();
if(answer.equals("N")) {
System.out.println("----------------------------------------------");
System.out.println(computer.name+"\tVS\t"+person.name);
System.out.printf("对战次数:%d",person.count );
System.out.println();
System.out.println("姓名\t" + "得分");
System.out.println(person.name +"\t"+ person.score);
System.out.println(computer.name+ "\t"+ computer.score);
}
}
}
}
}