Java人機(jī)猜拳實(shí)現(xiàn)的思路及方法實(shí)例
創(chuàng)建四個(gè)類:
機(jī)器人類
玩家類
游戲類
運(yùn)行類
一、機(jī)器人類:
1.首先創(chuàng)建兩個(gè)成員變量,分別作為機(jī)器人的名字與積分:
String name; int jifen;
2.然后創(chuàng)建方法“pcname”用于定義機(jī)器人的名字:
寫個(gè)switch循環(huán)來判斷如果你按1234的話誰來與你對(duì)戰(zhàn)
3.然后再創(chuàng)建一個(gè)方法“chuquan”來定義機(jī)器人出什么,石頭還是剪刀。。:
所以寫個(gè)1-3的隨機(jī)數(shù)
int suiji=((int)(Math.random()*3)+1);
4.最后switch判斷,1的話是石頭,2剪刀,3布
機(jī)器人完整代碼:
import java.util.Scanner;
public class pc {
String name;
int jifen;
Scanner input=new Scanner(System.in);
public void pcname(){
int pcjuese=input.nextInt();
switch (pcjuese) {
case 1:
name="張飛";
System.out.println("你選擇了"+name+"對(duì)戰(zhàn)");
break;
case 2:
name="趙云";
System.out.println("你選擇了"+name+"對(duì)戰(zhàn)");
break;
case 3:
name="貂蟬";
System.out.println("你選擇了"+name+"對(duì)戰(zhàn)");
break;
default:
System.out.println("還沒這個(gè)人");
}
}
public int chuquan(){
int suiji=((int)(Math.random()*3)+1);
switch (suiji){
case 1:
System.out.println(name+"出拳:石頭");
break;
case 2:
System.out.println(name+"出拳:剪刀");
break;
case 3:
System.out.println(name+"出拳:布");
break;
default:
}
return suiji;
}
}
二、玩家類:
1.和機(jī)器人一樣,定義兩個(gè)成員變量,用于作為名字和積分:
String name="1"; int jifen=0;
2.創(chuàng)建一個(gè)“renname”方法,用于定義玩家的昵稱
3.創(chuàng)建一個(gè)”chuquan“方法,用于定義玩家出拳
然后switch進(jìn)行判斷,按1出石頭,按2出剪刀,按3出布
玩家完整代碼:
import java.util.Scanner;
public class ren
{
String name="1";
int jifen=0;
Scanner input=new Scanner(System.in);
public void renname(){
System.out.println("起一個(gè)昵稱吧:");
name=input.next();
System.out.println("你的昵稱為:"+name);
}
public int chuquan(){
System.out.println("出拳: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;
default :
System.out.println("你準(zhǔn)備出個(gè)大炮呢?");
}
return show;
}
}
三、游戲類
1.定義兩個(gè)成員變量和new兩個(gè)對(duì)象:
int count; //進(jìn)行了幾局游戲 int pingju; //平局場(chǎng)次 ren Ren =new ren(); pc computer =new pc();
2.創(chuàng)建“game”方法,用來調(diào)用機(jī)器人類和玩家類,以及實(shí)現(xiàn)游戲功能
3.首先調(diào)用Ren.name()來用于讓玩家創(chuàng)建昵稱
3.1.然后調(diào)用computer.name()來用于讓玩家選擇和誰對(duì)戰(zhàn)
4.一切ok,開始進(jìn)行功能實(shí)現(xiàn):
首先創(chuàng)建兩個(gè)變量,一個(gè)是機(jī)器人出拳,一個(gè)是玩家出拳
int pcquan; //pc出拳 int personquan; //人出拳
y/n開始游戲和退出游戲
開始進(jìn)行游戲功能實(shí)現(xiàn)編寫
5.循環(huán)的時(shí)候把機(jī)器人和玩家出拳的方法賦值給上面兩個(gè)定義出拳的變量
6.功能ok后創(chuàng)建一個(gè)方法,用于定義計(jì)分板,這個(gè)就很簡(jiǎn)單了,直接附上游戲類完整代碼:
import java.util.Scanner;
public class w {
int count; //進(jìn)行了幾局游戲
int pingju; //平局場(chǎng)次
ren Ren =new ren();
pc computer =new pc();
Scanner input=new Scanner(System.in);
public void game(){
System.out.println("規(guī)則:1.石頭 2.剪刀 3.布");
Ren.renname();
System.out.print("請(qǐng)選擇對(duì)方角色(1.張飛 2.趙云 3.貂蟬): "); // 選擇對(duì)方角色
computer.pcname();
System.out.println("要開始嘛?(y/n)");
String yn=input.next();
int pcquan; //pc出拳
int personquan; //人出拳
while (yn.equalsIgnoreCase("y")){
personquan=Ren.chuquan(); //人出拳
pcquan=computer.chuquan(); //pc出拳
if((pcquan==1&personquan==1)|(pcquan==2&personquan==2)|(pcquan==3&personquan==3)){
System.out.println("平局");
pingju++;
}else if((pcquan==1&personquan==3)|(pcquan==2&personquan==1)|(pcquan==3&personquan==2)){
System.out.println(Ren.name+"贏了");
computer.jifen++;
}else {
System.out.println(computer.name+"贏了");
Ren.jifen++;
}
count++; //表示進(jìn)行了一局游戲
System.out.println("開始下一輪嘛?(y/n)");
yn=input.next();
if (yn.equalsIgnoreCase("n")){
System.out.println("游戲結(jié)束");
result();
}
}
}
//比賽結(jié)果
public void result(){
System.out.println("-------------------------------");
System.out.println(Ren.name+" VS "+computer.name);
System.out.println("對(duì)戰(zhàn)次數(shù):"+count);
System.out.println("平局"+pingju+"場(chǎng)");
System.out.println(Ren.name+"贏了"+Ren.jifen+"場(chǎng)");
System.out.println(computer.name+"贏了"+computer.jifen+"場(chǎng)");
if(Ren.jifen> computer.jifen){
System.out.println(Ren.name+"贏了");
}else if (computer.jifen> Ren.jifen){
System.out.println(computer.name+"贏了");
}else {
System.out.println("平局");
}
}
}
三、運(yùn)行類
這個(gè)就不多說了,直接上代碼
public class test
{
public static void main(String[] args) {
w game=new w();
ren ren=new ren();
game.game();
//game.result();
}
}
到此這篇關(guān)于Java人機(jī)猜拳實(shí)現(xiàn)思路及方法的文章就介紹到這了,更多相關(guān)Java人機(jī)猜拳思路及方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java實(shí)現(xiàn)簡(jiǎn)單猜拳游戲
- java利用多線程和Socket實(shí)現(xiàn)猜拳游戲
- Java開發(fā)實(shí)現(xiàn)猜拳游戲
- Java開發(fā)實(shí)現(xiàn)人機(jī)猜拳游戲
- Java實(shí)現(xiàn)人機(jī)猜拳游戲
- java項(xiàng)目實(shí)現(xiàn)猜拳小游戲
- java實(shí)現(xiàn)猜拳小游戲
- Java控制臺(tái)實(shí)現(xiàn)猜拳游戲小游戲
- Java入門案列之猜拳小游戲
- Java實(shí)現(xiàn)人機(jī)猜拳小游戲
- java實(shí)現(xiàn)數(shù)字猜拳小游戲
- java實(shí)現(xiàn)猜拳游戲
- 基于java實(shí)現(xiàn)人機(jī)猜拳游戲
相關(guān)文章
Java數(shù)據(jù)類型之引用數(shù)據(jù)類型解讀
這篇文章主要介紹了Java數(shù)據(jù)類型之引用數(shù)據(jù)類型,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
SpringBoot+Redis布隆過濾器防惡意流量擊穿緩存
本文主要介紹了SpringBoot+Redis布隆過濾器防惡意流量擊穿緩存,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
一文詳細(xì)講解Java的父子繼承、方法的重寫與super關(guān)鍵字
Java中繼承是通過extends關(guān)鍵字實(shí)現(xiàn),幫助減少代碼重復(fù),提高復(fù)用性,子類繼承父類的屬性和方法,但私有成員除外,方法重寫(override)使子類改造父類方法以適應(yīng)新功能,這篇文章主要介紹了Java的父子繼承、方法的重寫與super關(guān)鍵字的相關(guān)資料,需要的朋友可以參考下2024-10-10

