小测试

来源:互联网 发布:mysql字段类型 编辑:程序博客网 时间:2024/05/06 11:54
package com.gk.game;


import java.util.Random;
import java.util.Scanner;


/**
 * <pre>
 * 需求:
 * 1.电脑随机开奖,开奖数字范围:1~38之间
 * 2.游戏者只可以购买1~36之间的一个随机号码
 * 3.一次购买投一个金币,如果不中,则翻倍下注,直到中奖为止
 * 4.编写程序实现这个游戏,求中奖时一共赢了多少金币
 * </pre>
 */


public class Games {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

int x_num = scanner.nextInt();

Games.game_over(x_num);
}


/**
* <pre>
* 中奖了吗?
* @param num : 下注号码
* </pre>
*/
static int buy_num;//下注次数
public static void game_over(int x_num){

System.out.println("开奖号码开始......");
int k_num = random_num(38);


buy_num++;
System.out.println(
"开奖号码为:" + k_num + 
" 下注号码为:" + x_num + 
" 购买次数为:" + buy_num + 
" 当次下注的金额为:" + (Math.pow(2, buy_num-1)) + 
" 一共下注金额为:" + (Math.pow(2, buy_num)-1) + " 金币" + 
" 中奖金额为:" + ((x_num == k_num ? Math.pow(2, buy_num-1)*2 : 0) - (Math.pow(2, buy_num)-1)) + " 金币" + 
" 开奖结果:" + (x_num == k_num ? " 您真牛,这样都可以中奖" : " 笨蛋又猜错了"));

if(x_num == k_num){System.out.println("游戏结束......");return;}

game_over(x_num);
}

//获取随机开奖号码:1~38
public static int random_num(int num) {
return new Random().nextInt(num) + 1;
}


}
2 0