当然是没有界面拉.....我也想写个界面,然后 ,用手机上和朋友在吃饭的时候一起玩,但是,,界面ui都木有呀,,只能写个逻辑,看文字玩了...
贴代码:
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
public class Aeroplane {
static List<String> list = new ArrayList<String>();
static Random r = new Random();
static int[] wj = new int[2];
static {
// 如果是数字,表示需要前进或者后退
list.add("开始");
list.add("a");
list.add("b");
list.add("c");
list.add("2");
list.add("r");
list.add("q");
list.add("-1");
list.add("终点");
}
public static boolean execute(int a) {
int n = r.nextInt(6) + 1;
System.out.println("当前骰子步数 :" + n);
wj[a] += n;
// 判断是否大于 地图长度
if (wj[a] > list.size()-1) {
int m = wj[a] - list.size()+1;
wj[a] -= m;
System.out.println(wj[a]+"超出长度:"+m);
}
// 判断是否需要前进或者后退
int p = toInt(list.get(wj[a]), 0);
System.out.print(wj[a]);
wj[a] += p;
System.out.println("前进 :" + p + "," + wj[a]);
// 判断是否大于 地图长度
if (wj[a] > list.size()) {
int m = wj[a] - list.size();
wj[a] -= m;
}
System.out.println("当前玩家所处位置 :" + wj[a]);
// 判断是否到达种点
if (wj[a] == list.size()-1) {
// 玩家胜利游戏结束
return true;
}
return false;
}
public static int toInt(String str, int defaultValue) {
if (str == null) {
return defaultValue;
}
try {
return Integer.parseInt(str);
} catch (NumberFormatException nfe) {
return defaultValue;
}
}
public static void main(String[] args) {
int a = 1;
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("等待玩家" + a + "开始,请输入任意字符,按回车键");
sc.next();
boolean execute = execute(a);
for (int i = 0; i < list.size(); i++) {
String str = list.get(i);
for (int j = 0; j < wj.length; j++) {
if (wj[j] == i) {
str = str + "\t" + "<-- 玩家" + j;
}
}
System.out.println(str);
}
if (execute) {
System.out.println("游戏结束 ,玩家" + a + "胜利!!!");
break;
}
a = a == 0 ? 1 : 0;
}
}
}