java--demo之猜拳游戲


版本1:人機大戰  基礎隨機出    用戶鍵盤錄入

package com.hainiu.demo;

import java.util.Scanner;

/*
 * 人機大戰石頭剪刀布
 */
public class Cycles {
    
    public static void main(String[] args) {
        while(true){
        System.out.println("-----歡迎來到游戲界面----");
        System.out.println("1:剪刀、2:石頭、3:布");
        Scanner sc = new Scanner(System.in);
        int person = sc.nextInt();
        int computer = (int)(Math.random()*(3)+1);
        String per="用戶";
        String com="電腦";
        //用戶
        switch(person){
            case 1:
                per="剪刀";
                break;
            case 2:
                per="石頭";
                break;
            case 3:
                per="布";
                break;
        //電腦
        }
        switch(computer){
        case 1:
            com="剪刀";
            break;
        case 2:
            com="石頭";
            break;
        case 3:
            com="布";
            break;
        //判斷
        }
        if(person==1&&computer==2||person==2&&computer==3||person==3&&computer==1){
            System.out.println("你出的是"+per+"電腦出的是"+com);
            System.out.println("你輸啦");
        }else if(person==2&&computer==1||person==3&&computer==2||person==1&&computer==3){
            System.out.println("你出的是"+per+"電腦出的是"+com);
            System.out.println("你贏了");
        }else if(person==computer){
            System.out.println("你出的是"+per+"電腦出的是"+com);
            System.out.println("平局");
        }else{
            System.out.println("您的輸入有誤");
            break;
        }
}
    }
}

運行結果:

-----歡迎來到游戲界面----
1:剪刀、2:石頭、3:布
2
你出的是: 石頭   電腦出的是: 剪刀
你贏了
-----歡迎來到游戲界面----
1:剪刀、2:石頭、3:布

 

版本2:

猜拳游戲說明:

⦁    任務
⦁    完成人機猜拳互動游戲的開發
⦁    主要功能
⦁    選取對戰角色
⦁    猜拳
⦁    記錄分數
⦁    需求說明
⦁    分析業務
⦁    抽象出類、類的特征和行為
⦁    實現思路:
⦁    分析業務,抽象出類、類的特征和行為

package com.hainiu.demo;

import java.util.Scanner;

class User{
    Scanner sc = new Scanner(System.in);
    private String name;
    private int integral;
    private String punch;
    public User() {
        // TODO Auto-generated constructor stub
    }
    public User(String name, int integral, String punch) {
        super();
        this.name = name;
        this.integral = integral;
        this.punch = punch;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getIntegral() {
        return integral;
    }
    public void setIntegral(int integral) {
        this.integral = integral;
    }
    public String getPunch() {
        return punch;
    }
    public void setPunch(String punch) {
        this.punch = punch;
    }
    //用戶輸入名稱
    public void inputName(){
        System.out.println("請輸入用戶錄入名");
        name = sc.next();    
    }
    //猜拳方法
    public void UserGuess(){
        
        int n= sc.nextInt();
        System.out.println("1、剪刀,2、石頭、3、布");
        if(n>0&&n<=3){
            switch (n) {
            case 1:
                this.punch="剪刀";
                break;
            case 2:
        this.punch="石頭";
                break;
            case 3:
        this.punch="布";
                break;
    }
        }else{
            System.out.println("輸入有誤");    
}

}
}
class Computer{
    Scanner sc = new Scanner(System.in);
    private String name;
    private int integral;
    private String punch;
    public Computer() {
        
    }
    public Computer(Scanner sc, String name, int integral, String punch) {
        this.sc = sc;
        this.name = name;
        this.integral = integral;
        this.punch = punch;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getIntegral() {
        return integral;
    }
    public void setIntegral(int integral) {
        this.integral = integral;
    }
    public String getPunch() {
        return punch;
    }
    public void setPunch(String punch) {
        this.punch = punch;
    }
    //選擇用戶
    public void computerName(){
        System.out.println("請選擇您的對手:");
        System.out.println("1、掃地僧,2、逍遙子、3、獨孤求敗");
        int n = sc.nextInt();
        switch (n) {
        case 1:
            this.name="掃地僧";
            break;
        case 2:
            this.name="逍遙子";
            break;
        case 3:
            this.name="獨孤求敗";
            break;
        }        
    }
    //猜拳方法
    public void comuterGuess(){
        //System.out.println("對手出的是:");
        int t = (int)(Math.random()*(3)+1);        
        switch (t) {
        case 1:
            this.punch="剪刀";
            break;
        case 2:
            this.punch="石頭";
            break;
        case 3:
            this.punch="布";
            break;
        }    
    }
}
class TestGame{
    User u = new User();
    Computer c =new Computer();
    //歡迎進入游戲菜單
    public void start(){
        //初始化對象
        System.out.println("歡迎進入游戲菜單");
        System.out.println("游戲開始");
        //選擇您的對手
        c.computerName();
        u.inputName();
        System.out.println(u.getName()+"vs"+c.getName());    
    }
    //判斷出拳的結果
    public void game(){
        u.UserGuess();;
        c.comuterGuess();
        System.out.println("你出的是"+u.getPunch());
        System.out.println(c.getName()+"出的是"+c.getPunch());
        //具體判斷輸贏的   剪刀   石頭  布
        if(u.getPunch().equals("剪刀") && c.getPunch().equals("石頭")||u.getPunch().equals("石頭") &&  c.getPunch().equals("布") || u.getPunch().equals("布") && c.getPunch().equals("剪刀")){
            c.setIntegral(c.getIntegral()+1);
            System.out.println("你輸了");
        }else if(u.getPunch().equals("石頭")&&c.getPunch().equals("剪刀")||u.getPunch().equals("布")&&c.getPunch().equals("石頭")||u.getPunch().equals("剪刀")&&c.getPunch().equals("布")){
            u.setIntegral(u.getIntegral()+1);
            System.out.println("你贏啦");
        }else {
            System.out.println("平局");
        }
        }
    
    public void last(){
        System.out.println("最后結果是:");
        System.out.println(u.getName()+"贏了"+u.getIntegral()+"局");
        System.out.println(c.getName()+"贏了"+c.getIntegral()+"局");
        if(u.getIntegral()>c.getIntegral()){
            System.out.println("算總分"+u.getName()+"或的最后的勝利");
        }else if(u.getIntegral()<c.getIntegral()){
            System.out.println("算總分"+c.getName()+"或的最后的勝利");
        }else if(u.getIntegral()==c.getIntegral()){
            System.out.println("最后平局");
        }else {
            System.out.println("輸入有誤,這不是系統的問題");
        }
    }
}
public class Cycles2 {

    public static void main(String[] args) {
        // 測試
        Scanner sc = new Scanner(System.in);
        System.out.println("---------游戲開始----------\n");
        TestGame tg = new TestGame();
        tg.start();
        System.out.println("輸入y繼續,其他人任意鍵結束");
        String panduan = sc.next();
        //循環game方法
        while(panduan.equals("y")){
            System.out.println("******************");
            System.out.println("1、剪刀,2、石頭、3、布");
            tg.game();
            System.out.println("y:繼續-任意:結束");
            panduan = sc.next();
        }
        System.out.println("游戲結束");
        tg.last();
    }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM