欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java面向對象之人機猜拳小游戲

 更新時間:2020年12月27日 10:37:57   作者:辰小狼睡不醒  
這篇文章主要為大家詳細介紹了java面向對象之人機猜拳小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

人機猜拳小游戲,只要用到的java面向對象的思維模式。本游戲中有游戲玩家和計算機兩個參與者。玩家和計算機都有的屬性是姓名和得分。共分為4個類。下圖是游俠小程序控制臺截圖:

 
 

以下是源代碼:

Computer.java類

package com.whf.guess.game;
/** 
 * @author :辰
 * @version 
 * 創(chuàng)建時間:2017年2月24日 上午8:38:29 
 * 
 */
public class Computer {

  String name = "電腦";//名字
  int score = 0;//積分

  public int showFist() {
    //產生隨機數

    int show = (int) ((Math.random()*10)%3+1); // 產生隨機數,表示電腦出拳

    //輸出出拳結果并返回
    switch (show) {
    case 1:
      System.out.println(name+"你出拳:剪刀");
      break;
    case 2:
      System.out.println(name+"你出拳:石頭");
      break;
    case 3:
      System.out.println(name+"你出拳:布");
      break;
    }

    return show;
  }



}

Person.java 類

package com.whf.guess.game;

import java.util.Scanner;

/** 
 * @author :辰
 * @version
 * 創(chuàng)建時間:2017年2月24日 上午8:45:41 
 * 
 */
public class Person {

  String name = "匿名"; //名字
  int score = 0;   //積分  

  public int showFist(){
    //接收用戶的選擇
    Scanner input = new Scanner(System.in);
    System.out.println("\n請出拳:1.剪刀 2.石頭  3.布");
    int show = input.nextInt();
    //輸出出拳結果,并且返回
    switch (show) {
    case 1:
      System.out.println(name+"你出拳:剪刀");
      break;
    case 2:
      System.out.println(name+"你出拳:石頭");
      break;
    case 3:
      System.out.println(name+"你出拳:布");
      break;
    }
    return show;
  }

}

Game.java類。包含游戲的比賽核心代碼

package com.whf.guess.game;

import java.util.Scanner;

/** 
 * @author :辰
 * @version
 * 創(chuàng)建時間:2017年2月24日 上午8:37:06 
 * 
 */
public class Game<computer> {

  Person person ; //甲方

  Computer computer;// 乙方

  int count;// 對戰(zhàn)次數

  public void inital(){
    person = new Person();
    computer = new Computer();
    count = 0;
  }
  //開始游戲
  public void startGame(){
    System.err.println("-------------歡迎進入猜拳游戲---------------");
    System.out.println();
    System.out.println("******************************************");
    System.out.println("——————出拳規(guī)則:1.剪刀  2.石頭  3.布——————————");
    System.out.println("-------------》》》猜拳開始《《《------------");
    System.err.println("-------------------------------------------");
    Scanner input = new Scanner(System.in);
    String exit="n";//退出系統(tǒng)
    do {
      inital();//初始化
      //選擇對手
      System.out.println("選擇你的對手1.馬云   2.馬化騰   3.馬大姐  ");
      int role = input.nextInt();
      if (role ==1) {
        computer.name="馬云";
      }else if (role == 2) {
        computer.name="馬化騰";
      }else if (role == 3) {
        computer.name="馬大姐";
      }

      //游戲玩家輸入姓名
      System.out.println("請輸入你的姓名:");
      person.name=input.next();
      System.out.println(person.name+"  VS  "+computer.name+"對戰(zhàn)\n");
      //開始游戲
      System.out.println("要開始嗎?(y/n)");
      //開始一局游戲
      String start = input.next();
      int perFist;//游戲用戶出拳
      int comFist;//計算機出拳
      while (start.equals("y")) {
        //出拳
        perFist = person.showFist();
        comFist = computer.showFist();
        //判斷勝負
        if ((perFist==1&&comFist==1)||(perFist==2&&comFist==2)||(perFist==3&&comFist==3)) {
          System.err.println("結果:和局,真衰!\n");//平局
        }else if ((perFist==2&&comFist==1)||(perFist==3&&comFist==2)||(perFist==1&&comFist==3)) {
          System.err.println("結果:你贏了,真帥!\n");//勝利
          person.score++;
        }else {
          System.err.println("結果是:^_^,你輸了,下載再戰(zhàn)!\n");//計算機贏
          computer.score++;
        }
        count++;
        System.out.println("是否進行下一輪(y/n)");
        start = input.next();

      }
      //顯示結果
      showResult();
      System.out.println("\n要開始下一局嗎?(y/n):");
      exit = input.next();
      System.out.println();

    } while (!exit.equals("n"));

    System.out.println("系統(tǒng)退出");
  }
  private void showResult() {
    // TODO Auto-generated method stub
    //顯示對戰(zhàn)次數
    System.out.println("------------------------------");
    System.out.println(computer.name+"  VS  "+person.name);
    System.out.println("對戰(zhàn)次數:"+count);
    //顯示最終得分
    System.out.println("\n姓名\t得分");
    System.out.println(person.name+"\t"+person.score);
    System.out.println(computer.name+"\t"+computer.score+"\n");

    //顯示對戰(zhàn)結果
    int result = calcResult();
    if (result==1) {
      System.err.println("結果:打成平手,下次再和你一分高下");
    }else if (result==2) {
      System.err.println("結果:恭喜恭喜你贏得比賽");
    }else
    {
      System.err.println("結果:不氣餒,下次再來");//計算機贏
    }
    System.out.println("--------------------------");


  }

  //計算比賽結果
  private int calcResult() {
    // TODO Auto-generated method stub
    if (person.score == computer.score) {
      return 1;//戰(zhàn)平
    }else if (person.score > computer.score) {
      return 2;//游戲玩家贏
    }else {
      return 3;//惜敗
    }
  }

}

StartGuess.java類

package com.whf.guess.game;
/** 
 * @author :辰
 * @version
 * 創(chuàng)建時間:2017年2月24日 上午9:35:36 
 * 
 */
public class StartGuess {
  public static void main(String[] args) {
    Game game = new Game();

    game.inital();

    game.startGame();
  }

}

以上就是完整的人機猜拳java面向對象的小游戲源碼.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • SpringBoot集成RabbitMQ和概念介紹

    SpringBoot集成RabbitMQ和概念介紹

    這篇文章主要介紹了SpringBoot集成RabbitMQ和概念介紹,RabbitMQ即一個消息隊列,主要是用來實現(xiàn)應用程序的異步和解耦,同時也能起到消息緩沖,消息分發(fā)的作用。更多相關內容需要的小伙伴可以參考一下下面文章內容
    2022-05-05
  • springboot2.0使用Hikari連接池的方法(替換druid)

    springboot2.0使用Hikari連接池的方法(替換druid)

    這篇文章主要介紹了springboot 2.0使用Hikari連接池的方法(替換druid),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • Java的函數方法詳解(含漢諾塔問題)

    Java的函數方法詳解(含漢諾塔問題)

    漢諾塔問題是一個經典的遞歸問題,下面這篇文章主要給大家介紹了關于Java函數方法(含漢諾塔問題)的相關資料,文中通過圖文以及代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • 基于Jpa中ManyToMany和OneToMany的雙向控制

    基于Jpa中ManyToMany和OneToMany的雙向控制

    這篇文章主要介紹了Jpa中ManyToMany和OneToMany的雙向控制,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Springmvc如何返回xml及json格式數據

    Springmvc如何返回xml及json格式數據

    這篇文章主要介紹了Springmvc如何返回xml及json格式數據,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java實現(xiàn)在線預覽的示例代碼(openOffice實現(xiàn))

    Java實現(xiàn)在線預覽的示例代碼(openOffice實現(xiàn))

    本篇文章主要介紹了Java實現(xiàn)在線預覽的示例代碼(openOffice實現(xiàn)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Java中常見的編碼集問題總結

    Java中常見的編碼集問題總結

    這篇文章主要為大家整理了一些Java中常見的編碼集問題,文中的示例代碼講解詳細,對我們深入理解Java有一定的幫助,感興趣的小伙伴可以了解一下
    2023-02-02
  • IDE Eval Reset忘了重置進不去的完美解決方法

    IDE Eval Reset忘了重置進不去的完美解決方法

    這篇文章主要介紹了IDE Eval Reset忘了重置進不去的完美解決方法,插件安裝方式包括離線安裝和在線安裝方式,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-12-12
  • Spring JPA自定義查詢結果的接收方式

    Spring JPA自定義查詢結果的接收方式

    這篇文章主要介紹了Spring JPA自定義查詢結果的接收方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java的異常體系以及File類構造方法詳解

    Java的異常體系以及File類構造方法詳解

    這篇文章主要為大家介紹了Java的異常體系以及File類構造方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05

最新評論