Java實(shí)現(xiàn)人機(jī)猜拳游戲
本文實(shí)例為大家分享了Java實(shí)現(xiàn)人機(jī)猜拳游戲的具體代碼,供大家參考,具體內(nèi)容如下





實(shí)現(xiàn):
User類
public class User
{
private String name;
private int score=0;
private int num;
public String GetName()
{
return this.name;
}
public void SetName(String name)
{
this.name=name;
}
public int GetScore()
{
return this.score;
}
public void SetScore(int score)
{
this.score+=score;
}
}
Computer類
public class Computer
{
private String name;
private int score=0;
private int num;
public String GetName()
{
return this.name;
}
public void SetName(String name)
{
this.name=name;
}
public int RandNums()
{
int n;
n=(int)(Math.random()*3)+1;// 返回1到3的隨機(jī)整數(shù)。
return n;
}
public int GetScore()
{
return this.score;
}
public void SetScore(int score)
{
this.score+=score;
}
}
Gamemanager類
import java.util.Scanner;
public class GameManager
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);//創(chuàng)建一個(gè)鍵盤掃描類對(duì)象
User user=new User();
Computer computer=new Computer();
int vsNums=0;
System.out.println("出拳游戲規(guī)則:1、剪刀,2、石頭,3、布");
System.out.println("請(qǐng)選擇對(duì)方角色(1、劉備,2、孫權(quán),3、曹操)");
int n=input.nextInt(); //輸入整型
switch(n)
{
case 1:
computer.SetName("劉備");
break;
case 2:
computer.SetName("孫權(quán)");
break;
case 3:
computer.SetName("曹操");
break;
}
System.out.println("請(qǐng)輸入你的姓名");
String name=input.next(); //輸入字符串型
user.SetName(name);
System.out.println(user.GetName()+" "+"VS"+" "+computer.GetName());
String flag="y";
while(flag.equals(flag))
{
System.out.println("要開(kāi)始嗎y/n");
String yOrn=input.next(); //輸入字符串型
if(yOrn.equals("y"))
{
vsNums++;
System.out.println("請(qǐng)出拳:1、剪刀,2、石頭,3、布(輸入數(shù)字)");
int nums=input.nextInt(); //輸入整型
switch(nums)
{
case 1:
System.out.println("你出拳:"+"剪刀");
break;
case 2:
System.out.println("你出拳:"+"石頭");
break;
case 3:
System.out.println("你出拳:"+"布");
break;
}
int rand=computer.RandNums();
switch(rand)
{
case 1:
System.out.println(computer.GetName()+"出拳:"+"剪刀");
break;
case 2:
System.out.println(computer.GetName()+"出拳:"+"石頭");
break;
case 3:
System.out.println(computer.GetName()+"出拳:"+"布");
break;
}
if(nums==1 && rand==3 || nums==2 && rand==1 || nums==3 && rand==2)
{
System.out.println("恭喜,你贏了");
user.SetScore(1);
}
else if(nums==rand)
{
System.out.println("平手了");
}
else
{
System.out.println("很遺憾,你輸了");
computer.SetScore(1);
}
}
else
{
System.out.println(computer.GetName()+" "+"VS"+" "+user.GetName());
System.out.println("對(duì)戰(zhàn)次數(shù):"+vsNums);
System.out.println("姓名\t得分");
System.out.println(user.GetName()+"\t"+user.GetScore());
System.out.println(computer.GetName()+"\t"+computer.GetScore());
if(user.GetScore()>computer.GetScore())
{
System.out.println("恭喜,恭喜");
}
else
{
System.out.println("繼續(xù)加油");
}
break;
}
}
}
}
更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
@Configuration保證@Bean單例語(yǔ)義方法介紹
這篇文章主要介紹了SpringBoot中的@Configuration與@Bean注解,在進(jìn)行項(xiàng)目編寫前,我們還需要知道一個(gè)東西,就是SpringBoot對(duì)我們的SpringMVC還做了哪些配置,包括如何擴(kuò)展,如何定制,只有把這些都搞清楚了,我們?cè)谥笫褂貌艜?huì)更加得心應(yīng)手2023-01-01
Java實(shí)現(xiàn)定時(shí)任務(wù)的方法詳解
大家都用過(guò)鬧鐘,鬧鐘可以說(shuō)是一種定時(shí)任務(wù)。那么,在?Java?中,如何實(shí)現(xiàn)這樣的功能呢?即如何實(shí)現(xiàn)定時(shí)任務(wù)呢?本文就來(lái)詳細(xì)和大家聊聊2022-10-10
jvm添加自定義dns實(shí)現(xiàn)過(guò)程示例
這篇文章主要為大家介紹了jvm添加自定義dns實(shí)現(xiàn)過(guò)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
Java中的Random和ThreadLocalRandom詳細(xì)解析
這篇文章主要介紹了Java中的Random和ThreadLocalRandom詳細(xì)解析,Random 類用于生成偽隨機(jī)數(shù)的流, 該類使用48位種子,其使用線性同余公式進(jìn)行修改,需要的朋友可以參考下2024-01-01
java正則匹配讀取txt文件提取特定開(kāi)頭和結(jié)尾的字符串
通常我們可以直接通過(guò)文件流來(lái)讀取txt文件的內(nèi)容,但有時(shí)候也會(huì)遇到問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于java正則匹配讀取txt文件提取特定開(kāi)頭和結(jié)尾的字符串的相關(guān)資料,需要的朋友可以參考下2022-11-11

