人机猜拳

Posted on 2017-08-14 12:08  卡喵与修正拳  阅读(94)  评论(0编辑  收藏  举报
package msn;

import java.util.Scanner;

public class test {
	Scanner input = new Scanner(System.in);
	String cmpname;// 电脑名字
	String myname;// 玩家名字
	int myquan;// 我的出拳
	int cmpquan;// 电脑出拳
	int myfen = 0;// 我胜利的次数
	int cmpfen = 0;// 电脑胜利的次数
	int count = 0;// 对战次数

	public void yi() {
		boolean con = false;
		do {
			con = false;
			System.out.println("**********欢迎进入游戏世界***********");
			System.out.println("\n*************\n");
			System.out.println("***    猜拳   开始    ***\n");
			System.out.println("\n*************\n");
			System.out.println("出拳规则1.拳头 2.剪刀 3.布");
			System.out.println("请选择你想和谁对战:(1.孙权 2.刘备 3.曹操)");
			int i = input.nextInt();
			System.out.println("请输入你的名字:");
			myname = input.next();
			switch (i) {
			case 1:
				cmpname = "孙权";
				System.out.println(myname + "VS" + cmpname + "对战");
				break;
			case 2:
				cmpname = "刘备";
				System.out.println(myname + "VS" + cmpname + "对战");
				break;
			case 3:
				cmpname = "曹操";
				System.out.println(myname + "VS" + cmpname + "对战");
				break;
			default:
				System.out.println("输入错误,请重新输入:");
				con = true;
			}
		} while (con);
		//便于理解比较和结果还是先设方法
		System.out.println("要开始吗(y/n)");
		String kaishi = input.next();
		while (kaishi.equals("y")) {
			myquan();
			cmpquan();
			shengfu();
			System.out.println("要继续吗?(y/n)");
			kaishi = input.next();
		}
		jieguo();
	}

	public int myquan() {
		boolean con = false;
		do {
			System.out.println("请出拳:(1.拳头 2.剪刀 3.布)");
			myquan = input.nextInt();
			switch (myquan) {
			case 1:
				System.out.println("你出拳:拳头");
				break;
			case 2:
				System.out.println("你出拳:剪刀");
				break;
			case 3:
				System.out.println("你出拳:布");
				break;
			default:
				System.out.println("输入选择,请重新输入:");
				con = true;
			}
		} while (con);
		return myquan;
	}

	public int cmpquan() {
		cmpquan = (int) (Math.random() * 3 + 1);
		switch (cmpquan) {
		case 1:
			System.out.println("电脑出拳:拳头");
			break;
		case 2:
			System.out.println("电脑出拳:剪刀");
			break;
		case 3:
			System.out.println("电脑出拳:布");
			break;
		}
		return cmpquan;
	}

	public void shengfu() {
		if (myquan == 1 && cmpquan == 1 || myquan == 2 && cmpquan == 2
				|| myquan == 3 && cmpquan == 3) {
			System.out.println("和局");
		} else if (myquan == 1 && cmpquan == 2 || myquan == 2 && cmpquan == 3
				|| myquan == 3 && cmpquan == 1) {
			System.out.println("胜利一场");
			myfen++;
		} else {
			System.out.println("失败一场");
			cmpfen++;
		}
		count++;
	}

	public void jieguo() {
		System.out.println(myname + "VS" + cmpname);
		System.out.println("对战次数:" + count);
		System.out.println("姓名\t得分");
		System.out.println(myname + "\t" + myfen);
		System.out.println(cmpname + "\t" + cmpfen);
		if (myfen > cmpfen) {
			System.out.println("胜利!");
		} else if (myfen < cmpfen) {
			System.out.println("败北!");
		} else {
			System.out.println("平局!");
		}
	}
}

  

package msn;

public class yiju {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		test i = new test();
		i.yi();
	}

}