三局两胜制:
import java.util.Scanner; /** * @ClassName 人 * @Description * @Author lzq * @Date 2018/11/4 19:13 * @Version 1.0 **/ public class Person { private String name; private int score; public Person(String name) { this.name = name; this.score = 0; } public String fist() { System.out.println("请出拳:石头 剪刀 布"); Scanner scanner = new Scanner(System.in); String string = scanner.nextLine(); return string; } public void addScore() { score += 1; } public int getScore() { return score; } public String getName() { return name; } } import java.util.Random; /** * @ClassName Computer * @Description 电脑 * @Author lzq * @Date 2018/11/4 19:17 * @Version 1.0 **/ public class Computer { private String name; private int score; public Computer(String name) { this.name = name; } public String fist() { Random random = new Random(); int n = random.nextInt(3)+1; String string = null; switch (n) { case 1: string = "石头"; break; case 2: string = "剪刀"; break; case 3: string = "布"; break; } return string; } public void addScore() { score += 1; } public int getScore() { return score; } public String getName() { return name; } } import java.util.Scanner; /** * @ClassName Game * @Description 游戏 * @Author lzq * @Date 2018/11/4 19:22 * @Version 1.0 **/ public class Game { private Person person; private Computer computer; public Game(Person person,Computer computer) { this.person = person; this.computer = computer; } //三次出拳 private void playThreeTime(){ String string1 = person.fist(); String string2 = computer.fist(); System.out.println(computer.getName()+"出拳:"+string2); if(string1.equals(string2)) { System.out.println("平局"); }else if((string1.equals("剪刀") && string2.equals("布")) || string1.equals("石头") && string2.equals("剪刀") || string1.equals("布") && string2.equals("石头") ) { System.out.println(person.getName()+"胜利"); person.addScore(); }else { System.out.println(computer.getName()+"胜利"); computer.addScore(); } } //结果 private void getResult(){ if(person.getScore() > computer.getScore()) { System.out.println(person.getName()+"获胜! "+person.getName()+":"+computer.getName()+"="+person.getScore()+":"+computer.getScore()); }else { System.out.println(computer.getName()+"获胜! "+person.getName()+":"+computer.getName()+"="+person.getScore()+":"+computer.getScore()); } } //开始 public void start(){ int count = 0; while(count < 3) { playThreeTime(); count += 1; } getResult(); Scanner scanner = new Scanner(System.in); System.out.println("是否继续?"); String s = scanner.nextLine(); if(s.equals("是")) { start(); }else { return; } } }测试类:
public class TestDemo { public static void main(String[] args) { Person person = new Person("lzq"); Computer computer = new Computer("diannao"); Game game = new Game(person,computer); game.start(); } }又叫常胜将军游戏 游戏介绍: 甲乙两个人玩取火柴的游戏,共有21根火柴,最多取4根,最少取1根,谁取了最后一根火柴,谁就输了;
import java.util.Scanner; /** * @ClassName Match * @Description 取火柴游戏 * @Author lzq * @Date 2018/12/6 19:46 * @Version 1.0 **/ public class Match { public void start() { int last = 21,user,computer; while (true) { Scanner scanner = new Scanner(System.in); System.out.println("======目前还有"+last+"根火柴========"); System.out.println("请你取走火柴:"); user = scanner.nextInt(); if(user < 1 || user > 4 || user > last) { System.out.println("你违规了!重新抽取"); continue; } last = last-user; if(last == 0) { System.out.println("你取走了最后一根火柴,我赢了!"); break; }else { computer = 5-user; last = last-computer; System.out.println("我取走火柴数量:"+computer); if(last == 0) { System.out.println("我取走了最后一根火柴,你赢了!"); break; } } } } } ======目前还有21根火柴======== 请你取走火柴: 2 我取走火柴数量:3 ======目前还有16根火柴======== 请你取走火柴: 5 你违规了!重新抽取 ======目前还有16根火柴======== 请你取走火柴: 2 我取走火柴数量:3 ======目前还有11根火柴======== 请你取走火柴: 1 我取走火柴数量:4 ======目前还有6根火柴======== 请你取走火柴: 3 我取走火柴数量:2 ======目前还有1根火柴======== 请你取走火柴: 1 你取走了最后一根火柴,我赢了!