汇鑫佳纳斯达克上市最新消息股票代码:
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;/**
* 21点游戏。
* 1、洗牌
* 2、发牌
* 3、计算点数
* 4、 是否要牌
* 5、计算机发牌
* 6、计算结果
*/
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();
}
}
扩展资料:
对于计算机而言,并不存在真正意义上的“好”的源代码;然而作为一个人,书写习惯的好坏将决定源代码的好坏。源代码是否具有可读性,是判断其好坏的重要标准。软件文档则是表明可读性的关键。
代码作为程序员用开发工具所支持的语言写出来的源文件,设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。
源代码是代码的分支,某种意义上来说,源代码相当于代码。现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制指令,这种过程叫编译,它由通过编译器完成。