猜数字小游戏,自定义玩家数量。(Array+ArrayList实现)
一个支持自定义玩家个数的猜数字小游戏!
游戏内容十分简单,主要掌握其中三个思想:
1.自定义玩家数量
2.轮流制游戏规则
3.玩法的逻辑判断
【玩法介绍】
每个玩家轮流每次输入一个数字,系统判断该数字与答案是否相等,不正确系统会提示,正确则该玩家胜利!
1.自定义玩家数量
1 package api.random.game;
2
3 import java.util.Scanner;
4
5 public class SetPlayerNumber {
6 public static String[] setPlayerNum() {
7 Scanner sc = new Scanner(System.in);
8 System.out.println("请输入玩家个数:");
9 int num = sc.nextInt();
10 String[] arr = new String[num];
11 for (int i = 0; i < num; i++) {
12 System.out.println("请玩家" + (i + 1) + "输入昵称:");
13 arr[i] = sc.next();
14 }
15 return arr;
16 }
17 }
2.生成游戏答案
1 package api.random.game;
2
3 import java.util.Random;
4
5 public class SetRandomResult {
6 public static int setResult() {
7 Random r = new Random();
8 int result;
9 while (true) {
10 int a = r.nextInt() + 50;
11 if (a > 50 && a < 100) {
12 result = a;
13 break;
14 }
15 }
16 return result;
17 }
18 }
3.设置游戏规则
1 package api.random.game;
2
3 import java.util.Scanner;
4
5 public class GameRules {
6 public static boolean gameRules(int Result, String player) {
7 Scanner sc = new Scanner(System.in);
8 boolean result = false;
9 int guessNum = sc.nextInt();
10 if (guessNum == Result) {
11 System.out.println("答案正确!玩家" + player + "胜利");
12 result = true;
13 }
14 if (guessNum < Result) {
15 System.out.println("不好意思,小了!");
16 System.out.println("=====================");
17 }
18 if (guessNum > Result) {
19 System.out.println("不好意思,大了!");
20 System.out.println("=====================");
21 }
22 return result;
23 }
24 }
4.玩法的逻辑判断后开始游戏
1 package api.random.game;
2
3 import java.util.Arrays;
4
5 import static api.random.game.GameRules.gameRules;
6 import static api.random.game.SetPlayerNumber.setPlayerNum;
7 import static api.random.game.SetRandomResult.setResult;
8
9 public class RunGame {
10 public static void main(String[] args) {
11 String[] arr = setPlayerNum();
12 System.out.println("欢迎 " + Arrays.toString(arr) + " 这" + arr.length + "位玩家进入游戏!游戏开始!!");
13 int result = setResult();
14 while (true) {
15 boolean b = false;
16 for (String s : arr) {
17 System.out.println("请" + s + "输入数字:");
18 b = gameRules(result, s);
19 if (b) {
20 break;
21 }
22 }
23 if (b) {
24 break;
25 }
26 }
27
28 }
29 }