自己的版本
package day06;
import java.util.Random;
import java.util.Scanner;
public class Fist {
public static void main(String[] args) {
view();
}
//视图
public static void view() {
System.out.println("-----------");
System.out.println("猜拳游戏");
System.out.println("-----------");
SelName();
while(true) {
Judge(SelFist(),ComFist());
String a = YN();
if(a.equals("N")) {
count();
break;
}
}
}
//返回Y/N的值
public static String YN() {
Scanner input = new Scanner(System.in);
System.out.println("是否继续游戏 Y/N");
while(true) {
String a = input.nextLine();
if(a.equals("Y") ||a.equals("N")) {
return a;
}else {
System.out.println("输入错误,请重新输入:Y/N");
}
}
}
//选择角色
public static void SelName() {
Scanner input = new Scanner(System.in);
System.out.println("请选择你的角色:1.张三 2.李四 3.王五");
//判断输入是否合法
while(true) {
int name = input.nextInt();
if(name>0 && name<4) {
rename(name);
break;
}
System.out.println("输入不合法,请重新输入:1.张三 2.李四 3.王五");
}
}
//返回姓名
public static void rename(int name) {
if(name == 1) {
System.out.println("你是张三");
}else if(name == 2) {
System.out.println("你是李四");
}else {
System.out.println("你是王五");
}
}
//选择出拳
public static int SelFist() {
Scanner input = new Scanner(System.in);
System.out.println("请选择你的拳头:1.石头 2.剪刀 3.布");
//判断输入是否合法
while(true) {
int fis = input.nextInt();
if(fis>0 && fis<4) {
refist(fis);
return fis;
}
System.out.println("输入不合法,请重新输入:1.石头 2.剪刀 3.布");
}
}
//返回出拳
public static void refist(int name) {
if(name == 1) {
System.out.println("你出石头");
}else if(name == 2) {
System.out.println("你出剪刀");
}else {
System.out.println("你出布");
}
}
//电脑出拳
public static int ComFist() {
Random comp = new Random();
int com = comp.nextInt(3);
System.out.print("经过千分之1毫秒后,");
recfist(com+1);
return com+1;
}
//返回电脑出拳
public static void recfist(int f) {
if(f == 1) {
System.out.println("电脑出石头");
}else if(f == 2) {
System.out.println("电脑出剪刀");
}else {
System.out.println("电脑出布");
}
}
static int p_score = 0;
static int c_score = 0;
//判断每局谁赢
public static void Judge(int a,int b) {
if(a-b==-1 || a-b==2) {
System.out.println("你赢了!");
p_score++;
}else if(a==b) {
System.out.println("打平了!");
p_score++;
c_score++;
}else {
System.out.println("你输了!");
c_score++;
}
}
public static void count() {
System.out.println("你得分:"+p_score);
System.out.println("电脑得分:"+c_score);
if(p_score > c_score) {
System.out.println("你赢了!");
}else if(p_score < c_score) {
System.out.println("你输了!");
}else {
System.out.println("打平了!");
}
}
}
//高老师版
package day07;
import java.util.Random;
import java.util.Scanner;
public class Fist02 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
mainView(input);
}
public static void mainView(Scanner input) {
String[][] db = new String[9][2];
System.out.println("=======");
System.out.println("猜拳游戏");
System.out.println("=======");
System.out.println("注册选1 登录选2");
int a = input.nextInt();
if(a==1) {
regMethod(input,db);
}else {
logMethod(input,db);
}
}
public static void compare(Scanner input) {
String[] a = {"张三","李四","王五"};
String[] b = {"石头","剪刀","布"};
Random rd = new Random();
System.out.println("请选择角色:1张三 2李四 3王五");
int peop = input.nextInt();
System.out.println("你选择的是:"+a[peop-1]);
System.out.println("请出拳:1石头 2剪刀 3布");
int peopFist = input.nextInt();
System.out.println("你出的是:"+b[peopFist-1]);
int computerFist = rd.nextInt(3)+1;
System.out.println("电脑出的是:"+b[computerFist-1]);
if(peopFist-computerFist==-1 || peopFist-computerFist==2) {
System.out.println("你赢了!");
}else if(peopFist-computerFist==0){
System.out.println("打平了!");
}else {
System.out.println("你输了!还敢继续吗? Y/N");
String rec = input.next();
if(rec.equals("Y")) {
compare(input);
}else{
return;
}
}
}
public static void regMethod(Scanner input,String[][] db) {
System.out.println("输入手机号:");
String phone = input.next();
System.out.println("输入密码:");
String passWord1 = input.next();
System.out.println("再次输入密码:");
String passWord2 = input.next();
boolean flag = true;
if(passWord1.equals(passWord2)) {
for(int i=0;i<9;i++) {
if(db[i][0]==null && db[i][1]==null) {
db[i][0] = phone;
db[i][1] = passWord1;
System.out.println("注册成功 请去登录");
flag = false;
break;
}
}
if(flag == true) {
System.out.println("用户已满,无法注册");
return;
}else {
logMethod(input,db);
}
}else {
System.out.println("两次密码输入不一致,请重新注册");
regMethod(input,db);
}
}
public static void logMethod(Scanner input,String[][] db) {
System.out.println("请输入账号:");
String phone = input.next();
System.out.println("输入密码:");
String passWord = input.next();
for(int i=0;i<9;i++) {
if(db[i][0]==null) {
break;
}else if(db[i][0].equals(phone)&& db[i][1].equals(passWord)) {
System.out.println("登录成功!");
compare(input);
}
}
}
}