快速业务通道

Java编程那些事儿89——读取控制台输入 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
下注金额,如果押对则奖励和玩家下注金额相同的金钱。该程序的示例代码如下:

/** * 掷骰子游戏实现 */ public class DiceGame {  public static void main(String[] args) {   int money = 1000; //初始金钱数量   int diceNum = 0; // 掷出的骰子数值和   int type = 0; // 玩家押的大小   int cMoney = 0; // 当前下注金额   boolean success; // 胜负   // 游戏过程   while (true) {    // 输入大小    System.out.println("请押大小(1代表大,2代表小):");    type = readKeyboard();    // 校验    if (!checkType(type)) {     System.out.println("输入非法,请重新输入!");     continue;    }    // 输入下注金额    while(true){     System.out.println("你当前的金钱数量是"     + money + "请下注:");     cMoney = readKeyboard();     // 校验     if (!checkCMoney(money,cMoney)) {      System.out.println("输入非法,请重新输入!");      continue;     }else{      break;     }    }    // 掷骰子    diceNum = doDice();    // 判断胜负    success = isSuccess(type,diceNum);    // 金钱变化    money = changeMoney(money,success,cMoney);    // 游戏结束    if(isEnd(money)){     System.out.println("你输了,bye!");     break;    }   }  }  /**  * 读取用户输入  * @return 玩家输入的整数,如果格式非法则返回0  */  public static int readKeyboard() {   try {    // 缓冲区数组    byte[] b = new byte[1024];    // 读取用户输入到数组b中,    // 读取的字节数量为n    int n = System.in.read(b);    // 转换为整数    String s = new String(b, 0, n - 2);    int num = Integer.parseInt(s);    return num;   } catch (Exception e) {}   return 0;  }  /**  * 押的类型校验  * @param type 类型  * @return true代表符合要求,false代表不符合  */  public static boolean checkType(int type) {   if (type == 1 || type == 2) {    return true;   } else {    return false;   }  }  /**  * 校验下注金额是否合法  * @param money   玩家金钱数  * @param cMoney 下注金额  * @return true代表符合要求,false代表不符合要求  */  public static boolean checkCMoney(int money, int cMoney) {   if (cMoney <= 0) {     return false;   } else if (cMoney <= money) {     return true;   } else {     return false;   }  }  /**  * 掷骰子  * @return 骰子的数值之和  */  public static int doDice() {   int n = (int) (Math.random() * 6) + 1;   int n1 = (int) (Math.random() * 6) + 1;   int n2 = (int) (Math.random() * 6) + 1;   // 输出随机结果   System.out.println("庄家开:" + n + " " + n1 + " " + n2);   return n + n1 + n2;  }  /**  * 胜负判断  * @param type 用户输入类型  * @param diceNum   骰子点数  * @return true代表赢,false代表输  */  public static boolean isSuccess(int type, int diceNum) {   // 计算庄家类型   int bankerType =

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号