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





實現(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的隨機整數(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)建一個鍵盤掃描類對象
User user=new User();
Computer computer=new Computer();
int vsNums=0;
System.out.println("出拳游戲規(guī)則:1、剪刀,2、石頭,3、布");
System.out.println("請選擇對方角色(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("請輸入你的姓名");
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("要開始嗎y/n");
String yOrn=input.next(); //輸入字符串型
if(yOrn.equals("y"))
{
vsNums++;
System.out.println("請出拳: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("對戰(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)專題,分享給大家:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java開發(fā)環(huán)境配置教程(win7 64bit)
這篇文章主要為大家詳細介紹了win7 64bit下Java開發(fā)環(huán)境的配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
java實現(xiàn)異步導(dǎo)出數(shù)據(jù)
這篇文章主要為大家詳細介紹了java實現(xiàn)異步導(dǎo)出數(shù)據(jù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-11-11
java使用ffmpeg命令來實現(xiàn)視頻編碼轉(zhuǎn)換的示例
本文主要介紹了java使用ffmpeg命令來實現(xiàn)視頻編碼轉(zhuǎn)換的示例,可以通過調(diào)用系統(tǒng)命令來執(zhí)行FFmpeg命令,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-07-07
springboot中使用mybatisplus自帶插件實現(xiàn)分頁的示例代碼
這篇文章主要介紹了springboot中使用mybatisplus自帶插件實現(xiàn)分頁,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09
Springboot?通過FastJson實現(xiàn)bean對象和Json字符串互轉(zhuǎn)問題
這篇文章主要介紹了Springboot?通過FastJson實現(xiàn)bean對象和Json字符串互轉(zhuǎn),本文嘗試驗證兩種場景給大家詳細介紹,對Springboot?FastJson實現(xiàn)bean和Json互轉(zhuǎn)問題,感興趣的朋友一起看看吧2022-08-08

