java面向?qū)ο笾藱C猜拳小游戲
人機猜拳小游戲,只要用到的java面向?qū)ο蟮乃季S模式。本游戲中有游戲玩家和計算機兩個參與者。玩家和計算機都有的屬性是姓名和得分。共分為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() { //產(chǎn)生隨機數(shù) int show = (int) ((Math.random()*10)%3+1); // 產(chǎn)生隨機數(shù),表示電腦出拳 //輸出出拳結(jié)果并返回 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(); //輸出出拳結(jié)果,并且返回 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)次數(shù) 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(); //判斷勝負(fù) if ((perFist==1&&comFist==1)||(perFist==2&&comFist==2)||(perFist==3&&comFist==3)) { System.err.println("結(jié)果:和局,真衰!\n");//平局 }else if ((perFist==2&&comFist==1)||(perFist==3&&comFist==2)||(perFist==1&&comFist==3)) { System.err.println("結(jié)果:你贏了,真帥!\n");//勝利 person.score++; }else { System.err.println("結(jié)果是:^_^,你輸了,下載再戰(zhàn)!\n");//計算機贏 computer.score++; } count++; System.out.println("是否進行下一輪(y/n)"); start = input.next(); } //顯示結(jié)果 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)次數(shù) System.out.println("------------------------------"); System.out.println(computer.name+" VS "+person.name); System.out.println("對戰(zhàn)次數(shù):"+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)結(jié)果 int result = calcResult(); if (result==1) { System.err.println("結(jié)果:打成平手,下次再和你一分高下"); }else if (result==2) { System.err.println("結(jié)果:恭喜恭喜你贏得比賽"); }else { System.err.println("結(jié)果:不氣餒,下次再來");//計算機贏 } System.out.println("--------------------------"); } //計算比賽結(jié)果 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面向?qū)ο蟮男∮螒蛟创a.
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot2.0使用Hikari連接池的方法(替換druid)
這篇文章主要介紹了springboot 2.0使用Hikari連接池的方法(替換druid),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12基于Jpa中ManyToMany和OneToMany的雙向控制
這篇文章主要介紹了Jpa中ManyToMany和OneToMany的雙向控制,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12Springmvc如何返回xml及json格式數(shù)據(jù)
這篇文章主要介紹了Springmvc如何返回xml及json格式數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09Java實現(xiàn)在線預(yù)覽的示例代碼(openOffice實現(xiàn))
本篇文章主要介紹了Java實現(xiàn)在線預(yù)覽的示例代碼(openOffice實現(xiàn)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11