21点游戏源码求高手修改 急!!! java游戏源码myeclipse 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package Game;import java.util.ArrayList;import java.util.Random;import java.util.Scanner;public class TPoint{private int[] pai = new int[52];//52张牌private String[] huase= {"黑","红","梅","方"};private String[] paiM = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};//牌面显示private ArrayList<Integer> al = new ArrayList<Integer>();//存储玩家手中的牌private int currentPoint;private int computerPoint = 0;private int currentPage=0;public TPoint() {super();xipai();// 洗牌fapai();//发牌needPai();//是否要牌computerPai();//电脑发牌result(); //计算结果}private void xipai() {for(int i = 0; i < 52 ;i++ ){pai[i]=i; //52张牌赋值}for(int j = 0;j<26;j++){//打乱26次Random r = new Random();int i1 = Math.abs(r.nextInt()%52);//在52张中牌中找到第一张int i2 =Math.abs(r.nextInt()%52);//在52张中牌中找到第二张int temp = pai[i2];pai[i2] = pai[i1];pai[i1] = temp;}}private void fapai() {/* for(int i = 0;i<52;i++){System.out.print(pai[i]+"\t");}*///先发两张给玩家al.add(pai[0]);al.add(pai[1]);currentPoint += calPoint(pai[0]);currentPoint+= calPoint(pai[1]);currentPage= 2;}private int calPoint(int i) {//计算牌的点数int temp = 0;if(i%13+1>10){//JQK都是10temp = 10;}else{temp = (i+1)%13;}return temp;}private void needPai() {while(true){xianshi(); //显示牌面if(currentPoint>=21){//玩家点数大于21则不能再要牌break;}System.out.println("是否还要牌,输入N不要!");Scanner sc = new Scanner(System.in);if(sc.next().equalsIgnoreCase("N")){break; //输入N则结束}else {al.add(pai[currentPage]);//继续添加牌currentPoint+=calPoint(pai[currentPage]);//牌点数+currentPage++;}}}private void xianshi() {for(Integer in:al){//显示玩家手中的牌System.out.print(huase[in/13]+" "+paiM[in%13]+"\t");//显示花色 和牌面}System.out.println("当前总分:"+currentPoint);}private void computerPai() {Random r = new Random();computerPoint = Math.abs(r.nextInt())%10+16;//电脑的点数在16点到26点System.out.println("\n电脑 的牌面:"+computerPoint);}private void result() {if(currentPoint>21){//玩家点数大于21则不能再要牌System.out.println("you lost!");}else if(currentPoint==computerPoint){System.out.println("you lost!");}else if(computerPoint>21){System.out.println("you Win!");}else if(currentPoint>computerPoint){System.out.println("you Win!");}else{System.out.println("you Lost!");}}public static void main(String[] args){new TPoint();}}} 程序没有问题,你把原来的类删了,重新新那建个helloword运行正常后,再把这个代码贴进去。 Java中的表达式求值 .ini读到jTextField 一个有意思的问题,谁能解答? tomcat配好后测试jsp连接数据库错误问题 如何在JAVA文本域中显示查询到的一张SQL的表的全部类容 一道笔试题,选哪个,为什么? 关与换行符的问题,请高手帮帮忙,急救!! 关于eclipse,急! 哪位大虾有《java 编程思想》第二版 简体中文版的下载地址 制作PDF文件的软件是什么那里有下载 java怎样抓取网页代码中动态(Ajax)显示的数据? c3p0异常
import java.util.Random;
import java.util.Scanner;
public class TPoint{
private int[] pai = new int[52];//52张牌
private String[] huase= {"黑","红","梅","方"};
private String[] paiM = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};//牌面显示
private ArrayList<Integer> al = new ArrayList<Integer>();//存储玩家手中的牌
private int currentPoint;
private int computerPoint = 0;
private int currentPage=0;
public TPoint() {
super();
xipai();// 洗牌
fapai();//发牌
needPai();//是否要牌
computerPai();//电脑发牌
result(); //计算结果
}
private void xipai() {
for(int i = 0; i < 52 ;i++ ){
pai[i]=i; //52张牌赋值
}
for(int j = 0;j<26;j++){//打乱26次
Random r = new Random();
int i1 = Math.abs(r.nextInt()%52);//在52张中牌中找到第一张
int i2 =Math.abs(r.nextInt()%52);//在52张中牌中找到第二张
int temp = pai[i2];
pai[i2] = pai[i1];
pai[i1] = temp;
}
}
private void fapai() {
/* for(int i = 0;i<52;i++){
System.out.print(pai[i]+"\t");
}*/
//先发两张给玩家
al.add(pai[0]);
al.add(pai[1]);
currentPoint += calPoint(pai[0]);
currentPoint+= calPoint(pai[1]);
currentPage= 2;
}
private int calPoint(int i) {//计算牌的点数
int temp = 0;
if(i%13+1>10){
//JQK都是10
temp = 10;
}
else{
temp = (i+1)%13;
}
return temp;
}
private void needPai() {
while(true){
xianshi(); //显示牌面
if(currentPoint>=21){//玩家点数大于21则不能再要牌
break;
}
System.out.println("是否还要牌,输入N不要!");
Scanner sc = new Scanner(System.in);
if(sc.next().equalsIgnoreCase("N")){
break; //输入N则结束
}else {
al.add(pai[currentPage]);//继续添加牌
currentPoint+=calPoint(pai[currentPage]);//牌点数+
currentPage++;
}
}
}
private void xianshi() {
for(Integer in:al){
//显示玩家手中的牌
System.out.print(huase[in/13]+" "+paiM[in%13]+"\t");
//显示花色 和牌面
}
System.out.println("当前总分:"+currentPoint);
}
private void computerPai() {
Random r = new Random();
computerPoint = Math.abs(r.nextInt())%10+16;
//电脑的点数在16点到26点
System.out.println("\n电脑 的牌面:"+computerPoint);
}
private void result() {
if(currentPoint>21){
//玩家点数大于21则不能再要牌
System.out.println("you lost!");
}else if(currentPoint==computerPoint){
System.out.println("you lost!");
}else if(computerPoint>21){
System.out.println("you Win!");
}else if(currentPoint>computerPoint){
System.out.println("you Win!");
}else{
System.out.println("you Lost!");
}
}
public static void main(String[] args){
new TPoint();
}
}
}