这两周老师布置了一个作业,用JSP编写一个21点的小游戏。由于本人刚接触JSP还没多久,所以只能简单地完成。现将代码发布如下,希望可以得到各位的指点,以使游戏更加完善。
import java.io.*;
import java.util.*;
public class ErYiDian {
/**
* @param args
*/
public static void main(String args[]) throws IOException {
// TODO Auto-generated method stub
for (;;) {
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
System.out.println("请按回车键进行游戏!");
int N1 = 0;
int N2 = 0;
Random ra = new Random();
int xj = ra.nextInt(2) + 17;
String Temp1 = "";
String Temp2 = "";
int Sum1 = 0;
int Sum2 = 0;
while (true) {
br.readLine();
ArrayList CartNumber=new ArrayList();
for(int N=1;N<14;N++){
String str1="黑桃"+N;
CartNumber.add(str1);
String str2="红桃"+N;
CartNumber.add(str2);
String str3="梅花"+N;
CartNumber.add(str3);
String str4="方块"+N;
CartNumber.add(str4);
}
//System.out.println(CartNumber+" ; ");
ArrayList Player = new ArrayList();
ArrayList Computer = new ArrayList();
for (int i = 0; i < Player.size(); i++) {
N1++;
int PlayerNumber = ra.nextInt(CartNumber.size()) ;
//Player.add(new Integer(PlayerNumber);
Player.size();
Temp1=CartNumber.get(i)+"";
Player.add(Temp1);
//CartNumber.remove(i);
//String Temp3=CartNumber.get(index)
//Temp1 += Player.get(i) + ";";
Sum1 += PlayerNumber;
System.out.println("这是你的第" + N1 + "张牌");
System.out.println("你目前的牌为:" +Temp1);
//System.out.println("你的总点数为:" + Sum1);
}
if (Sum2 > xj)
continue;
{
for (int k = 0; k < Computer.size(); k++) {
N2++;
int ComputerNumber = ra.nextInt(CartNumber.size());
Computer.add(ComputerNumber);
Computer.size();
Temp2 += Computer.get(k) + ";";
Sum2 += ComputerNumber;
System.out.println("这是电脑的第" + N2 + "张牌");
}
}
String str = br.readLine();
if (str.equals("end")) {
if (Sum1 > 21 && Sum2 > 21) {
System.out.println("本局无效");
System.out.println("你的总点数为:" + Sum1);
System.out.println("电脑的总点数为:" + Sum2);
} else if (Sum1 > 21 && Sum2 < 21) {
System.out.println("你输了!");
System.out.println("你的总点数为:" + Sum1);
System.out.println("电脑的总点数为:" + Sum2);
System.out.println("你的点数为分别为:" + Temp1);
System.out.println("电脑的点数分别为:" + Temp2);
} else if (Sum1 > Sum2 && Sum1 < 21) {
System.out.println("你赢了!");
System.out.println("你的总点数为:" + Sum1);
System.out.println("电脑的总点数为:" + Sum2);
System.out.println("你的点数为分别为:" + Temp1);
System.out.println("电脑的点数分别为:" + Temp2);
} else if (Sum1 < Sum2 && Sum2 < 21) {
System.out.println("你输了!");
System.out.println("你的总点数为:" + Sum1);
System.out.println("电脑的总点数为:" + Sum2);
System.out.println("你的点数为分别为:" + Temp1);
System.out.println("电脑的点数分别为:" + Temp2);
} else {
System.out.println("打平!");
System.out.println("你的总点数为:" + Sum1);
System.out.println("电脑的总点数为:" + Sum2);
System.out.println("你的点数为分别为:" + Temp1);
System.out.println("电脑的点数分别为:" + Temp2);
}
System.out.println("本局游戏结束!请按提示进行下一局游戏");
break;
} else {
continue;
}
}
}
}
}