一,創(chuàng)建玩家類User
1.創(chuàng)建四個方法:名字name隧枫,對局次數(shù)count喉磁,出拳類型quan,得分points
public class User {
public String name;// 名字
public int count;// 次數(shù)
public String quan;// 出的拳
public int points;// 得分
2.創(chuàng)建獲取玩家昵稱的方法
// 獲取用戶名字
public void giveName() {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入你的姓名官脓;");
String mingzi = scanner.next();
name = mingzi;
}
3.創(chuàng)建玩家出拳階段的方法
// 用戶出的拳傳入quan屬性
public void chuquan() {
Scanner scanner = new Scanner(System.in);
boolean flag = true;
int num;
do {
System.out.println("請出拳:1.剪刀 2.石頭 3.布(請輸入相應(yīng)數(shù)字)");
num = scanner.nextInt();
if ( num == 1 ) {
quan = "剪刀";
flag = false;
}else if ( num == 2 ) {
quan = "石頭";
flag = false;
}else if ( num == 3 ) {
quan = "布";
flag = false;
}else {
System.out.println("輸入的值不合法协怒,請重新輸入");
flag = true;
}
}while ( flag );
}
二,創(chuàng)建對戰(zhàn)的人機類
1.創(chuàng)建三個方法:電腦名字name卑笨,電腦得分points斤讥,電腦出的拳quan
public class Computer {
public String name;// 電腦名字
public int points;// 勝利次數(shù)
public String quan;// 出的拳
2.創(chuàng)建 選擇電腦角色 的方法
public void giveName() {
Scanner scanner = new Scanner(System.in);
int num;
boolean flag = true;// 循環(huán)判斷條件
do {
System.out.println("請選擇對方角色(1.葫蘆娃 2.哆啦A夢 3.瑞克·桑切斯)");
num = scanner.nextInt();
if ( num == 1 ) {
name = "葫蘆娃";
flag = false;
}else if ( num == 2 ) {
name = "哆啦A夢";
flag = false;
}else if ( num == 3 ) {
name = "瑞克·桑切斯";
flag = false;
}else {
System.out.println("輸入的值不合法,請重新輸入");
flag = true;
}
}while ( flag );
}
3.創(chuàng)建 電腦隨機出拳 的方法
//電腦的隨機出拳
public void chuquan() {
int num = (int)(Math.random()*3)+1;//在1-3之間隨機選擇
if ( num == 1 ) {
quan = "剪刀";
}else if ( num == 2 ) {
quan = "石頭";
}else if ( num == 3 ) {
quan = "布";
}
}
三湾趾,創(chuàng)建游戲?qū)诸怗ame
1.引入玩家的類和電腦的類
public class Game {
Computer c = new Computer();//引用電腦的類
User u = new User(); //引用玩家的類
2.創(chuàng)建 開始游戲 的方法
//游戲開始
public void start() {
c.giveName();
u.giveName();
System.out.println(u.name + " VS " + c.name);
}
3.創(chuàng)建 判斷輸贏 的方法
// 判斷輸贏
public void panduan() {
c.chuquan();//電腦出拳的初始值
u.chuquan();//玩家出拳的初始值
System.out.println("你出拳:" + u.quan);//打印玩家出拳
System.out.println(c.name + "出拳:" + c.quan);//打印電腦出拳
//玩家獲勝的幾種方式
if ( u.quan.equals("剪刀") && c.quan.equals("布") ||
u.quan.equals("石頭") && c.quan.equals("剪刀")||
u.quan.equals("布") && c.quan.equals("石頭")) {
System.out.println("恭喜你獲勝了");
u.count = u.count+1;// 場次加1
u.points = u.points +1;// 得分加1
}else if
//玩家敗北的幾種方式
( u.quan.equals("剪刀") && c.quan.equals("石頭") ||
u.quan.equals("石頭") && c.quan.equals("布")||
u.quan.equals("布") && c.quan.equals("剪刀") ) {
System.out.println("行不行啊你?臥槽 你的");
u.count = u.count + 1;// 場次加1
c.points = c.points + 1;// 電腦得分加1
}else if
//平局的方式
( u.quan.equals(c.quan) ) {
System.out.println("平局");
u.count = u.count + 1;// 場次加1
}
}
4.創(chuàng)建 游戲結(jié)束 的方法
// 游戲結(jié)束派草,打印輸出結(jié)果
public void gameOver() {
System.out.println(u.name + " VS " + c.name);
System.out.println("對戰(zhàn)場次:" + u.count);
System.out.println();
System.out.println("姓名 \t 得分");
System.out.println(u.name + " \t " + u.points);
System.out.println(c.name + " \t " + c.points);
System.out.println("GAME OVER!");
}
四搀缠,創(chuàng)建啟動類
1.先打印游戲規(guī)則
public class Main {
public static void main(String[] args) {
System.out.println("*********************");
System.out.println("*****猜拳 開始*****");
System.out.println("*********************");
System.out.println("出拳規(guī)則(1.剪刀 2.石頭 3.布)");
System.out.println();
2.將游戲類Game引入
Game game = new Game();//引入Game類
game.start();//游戲開始
Scanner scanner = new Scanner(System.in);
System.out.println("要開始嗎?(y/n)");
String start = scanner.next();
while ("y".equalsIgnoreCase(start)) {
game.panduan();
System.out.println("是否開始下一輪近迁?(y/n)");
start = scanner.next();
}
game.gameOver();//游戲結(jié)束
運行艺普!