Java控制臺(tái)實(shí)現(xiàn)猜拳游戲小游戲
本文實(shí)例為大家分享了Java猜拳游戲的具體代碼,供大家參考,具體內(nèi)容如下
先來(lái)看一下效果圖:

首先我們創(chuàng)建一個(gè)Person類,這個(gè)類有name和score兩個(gè)屬性,有play這個(gè)方法,源代碼如下:
package com.samoy;
public class Person {
public String name;
public int score;
public Person(String name, int score) {
this.name = name;
this.score = score;
}
public String play(int i) {
return i == 1?"剪刀":(i == 2?"石頭":"布");
}
}
接下來(lái)是主程序入口:
package com.samoy;
import java.util.Random;
import java.util.Scanner;
public class JavaTest {
public static void main(String[] args) {
int num = 0;
System.out.println("*****************\n****猜拳, 開始****\n*****************");
System.out.println("出拳規(guī)則:1.剪刀 2.石頭 3.布");
System.out.println("請(qǐng)選擇對(duì)方角色<1:劉備 2:孫權(quán) 3:曹操>");
Scanner scanner = new Scanner(System.in);
//new一個(gè)對(duì)手
Person opponent = new Person("",0);
int nameIndex = scanner.nextInt();
while (true){
if (nameIndex == 1){
opponent.name = "劉備";
break;
}else if (nameIndex == 2){
opponent.name = "孫權(quán)";
break;
}else if (nameIndex == 3){
opponent.name = "曹操";
break;
}else {
System.out.println("輸入錯(cuò)誤!輸入對(duì)方角色<1:劉備 2:孫權(quán) 3:曹操>");
nameIndex = scanner.nextInt();
}
}
System.out.println("請(qǐng)輸入您的姓名:");
Scanner scanner1 = new Scanner(System.in);
Person self = new Person(scanner1.next(),0);
System.out.println(self.name + " VS " +opponent.name);
System.out.println("要開始游戲嗎?<y/n>");
Scanner scanner2 = new Scanner(System.in);
String option = scanner2.next();
while (option.equals("y")){
System.out.println("請(qǐng)出拳:1、剪刀 2、石頭 3、布");
Scanner scanner3 = new Scanner(System.in);
int select = scanner3.nextInt();
String result1;
if (select!=1&&select!=2&&select!=3){
System.out.println("輸入錯(cuò)誤!請(qǐng)輸入出拳規(guī)則:1、剪刀 2、石頭 3、布");
select = scanner3.nextInt();
}
result1 = self.play(select);
System.out.println(self.name+"出:"+result1);
String result2 = opponent.play(new Random().nextInt(3)+1);
System.out.println(opponent.name+"出:"+result2);
if (result1.equals(result2)){
System.out.println("和局");
}else if (result1.equals("剪刀")&&result2.equals("布")||result1.equals("石頭")&&result2.equals("剪刀")||result1.equals("布")&&result2.equals("石頭")){
System.out.println("你贏了! "+self.name+"贏!");
self.score += 1;
}else {
System.out.println("你輸了! "+opponent.name+"贏!");
opponent.score += 1;
}
num++;
System.out.println("需要進(jìn)行下一局嗎?<y/n>");
option = scanner2.next();
if (option.equals("n")){
System.out.println("=================");
System.out.println("共進(jìn)行"+num+"局\n"+self.name+"得分為"+self.score+","+opponent.name+"得分為"+opponent.score +"\n");
if (self.score>opponent.score){
System.out.println(self.name+"贏!"+self.name+"好棒!");
}else if (self.score == opponent.score){
System.out.println("平局!");
}else {
System.out.println(opponent.name+"贏!"+self.name+"笨蛋!");
}
System.out.println("感謝你的使用!");
}else if (!option.equals("y")){
System.out.println("輸入錯(cuò)誤,請(qǐng)重新輸入!");
System.out.println("需要進(jìn)行下一局嗎?<y/n>");
option = scanner2.next();
}
}
}
}
源代碼下載:Java猜拳游戲
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring MVC利用Swagger2如何構(gòu)建動(dòng)態(tài)RESTful API詳解
這篇文章主要給大家介紹了關(guān)于在Spring MVC中利用Swagger2如何構(gòu)建動(dòng)態(tài)RESTful API的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
springboot 使用yml配置文件給靜態(tài)變量賦值教程
這篇文章主要介紹了springboot 使用yml配置文件給靜態(tài)變量賦值教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-04-04
一步步教你搭建Scala開發(fā)環(huán)境(非常詳細(xì)!)
Scala是一門基于jvm的函數(shù)式的面向?qū)ο缶幊陶Z(yǔ)言,擁有比java更加簡(jiǎn)潔的語(yǔ)法,下面這篇文章主要給大家介紹了關(guān)于搭建Scala開發(fā)環(huán)境的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
使用json字符串插入節(jié)點(diǎn)或者覆蓋節(jié)點(diǎn)
這篇文章主要介紹了使用json字符串插入節(jié)點(diǎn)或者覆蓋節(jié)點(diǎn)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
java編程之基于SpringBoot框架實(shí)現(xiàn)掃碼登錄
本文將介紹基于SpringBoot + Vue + Android實(shí)現(xiàn)的掃碼登錄demo的總體思路,文中附含詳細(xì)示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09
Spring中@Repository注解的作用和用法以及和@Mapper的區(qū)別詳析
這篇文章主要給大家介紹了關(guān)于Spring中@Repository注解的作用和用法以及和@Mapper的區(qū)別的相關(guān)資料,注解的作用是標(biāo)識(shí)一個(gè)類為數(shù)據(jù)訪問對(duì)象,并由Spring框架進(jìn)行實(shí)例化和管理,需要的朋友可以參考下2023-09-09
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(53)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧,希望可以幫到你2021-08-08

