Java实战入门之双色 * 票小游戏
作者:小小龙o0 发布时间:2023-05-12 04:07:13
标签:java,双色球,彩票,小游戏
一、项目需求
二、项目思路
1、菜单制作
2、中奖号码生成 getNumber (随机数 Math.random)
3、购买号码和中奖号码比对 生成中奖等级
三、完整代码
package com.test.mxl;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int[] balls = new int[7];
int count = 0;
boolean isBuy = false;//默认情况下没有买彩票
while (true){
System.out.println("------------欢迎进入双色 * 票系统----------------");
System.out.println("1、购买彩票");
System.out.println("2、查看开奖");
System.out.println("3、退出");
System.out.println("请选择你要完成的功能");
Scanner sc = new Scanner(System.in);
int choice = sc.nextInt();
switch (choice){
case 1:
System.out.println("双色球系统》》购买彩票");
System.out.println("请选择你要购买几注:");
count = sc.nextInt();
//定义一个变量 如果每购买提示不能直接开奖
for (int i = 1; i <= 7; i++) {
if(i != 7){//录入红色
System.out.println("请录入第"+i+"个红球");
balls[i-1] = sc.nextInt();
}else { //录入蓝色
System.out.println("请录入一个蓝色球");
balls[i-1] = sc.nextInt();
}
}
System.out.println("您购买了"+count+"注彩票,一共消费了"+count*2+"元钱,您购买的彩票号码为: ");
//遍历数组
for (int num: balls) {
System.out.print(num+"\t");
}
System.out.println();
isBuy = true;
break;
case 2:
if (isBuy){
System.out.println("双色球系统》》查看开奖");
//1 生成
int[] luckBalls= getNumber();
//2 对比
int level = getlevel(balls,luckBalls);
//3 显示结果
System.out.println("本期中奖号码为:"+luckBalls[0]+" "+luckBalls[1]+" "+luckBalls[2]+" "+luckBalls[3]+" "+luckBalls[4]+" "+luckBalls[5]+" "+luckBalls[6]);
switch (level){
case 1:
System.out.println("恭喜您,中了一等奖,1注奖金500万,您一共获得: "+500*count+"万元");
break;
case 2:
System.out.println("恭喜您,中了二等奖,1注奖金100万,您一共获得: "+100*count+"万元");
break;
case 3:
System.out.println("恭喜您,中了三等奖,1注奖金30万,您一共获得: "+30*count+"万元");
break;
case 4:
System.out.println("恭喜您,中了四等奖,1注奖金5万,您一共获得: "+5*count+"万元");
break;
case 5:
System.out.println("恭喜您,中了五等奖,1注奖金2000千元,您一共获得: "+2000*count+"元");
break;
case 6:
System.out.println("恭喜您,中了六等奖,1注奖金5元,您一共获得: "+5*count+"元");
break;
}
}else {
System.out.println("对不起,请先购买彩票");
}
break;
case 3:
System.out.println("双色球系统》》退出");
return;
}
}
}
public static int[] getNumber(){
int[] getNumber = new int[7];
//随机数生成:红球 1-33,篮球1-16, Math.random() --[0.0,1.0) 可乘数;
for (int i = 1; i <= 7; i++) {
if(i != 7){
getNumber[i-1] = (int)(Math.random()*33 + 1);
}else {
getNumber[i-1] = (int)(Math.random()*16 + 1);
}
}
return getNumber;
}
//比对是否中奖,中几等奖
public static int getlevel(int[] balls,int[] luckBalls){
//设置两个计数 红球和篮球 每相同一个就加一次。
int level = 0;
int redCount = 0;
int blueCount = 0;
//遍历购买的号码
for (int i = 0; i < 7; i++) {
if (i != 6){
for (int j = 0; j < 6; j++) {
if (balls[i] == luckBalls[j]){
redCount++;
}
}
}else { //篮球中奖
if(balls[6] == luckBalls[6]){
blueCount++;
}
}
}
//输出比对结果
//根据红蓝球相等数量得到level结果
if(redCount == 6 && blueCount == 1){
level = 1;
}
else if(redCount == 6 ){
level = 2;
}
else if(redCount == 5 && blueCount == 1){
level = 3;
}
else if(redCount == 5 || (redCount == 4 && blueCount==1)){
level = 4;
}
else if (redCount == 4 || (redCount == 3 && blueCount==1)){
level = 5;
}else {
level = 6;
}
return level;
}
}
四、功能演示
来源:https://blog.csdn.net/weixin_46777885/article/details/116023186
0
投稿
猜你喜欢
- 将网络资源url转化为File文件将互联网上的http开头的url资源,保存到本地。 private File getNetUrlHttp(
- malloc的全称是memory allocation,中文叫动态内存分配,用于申请一块连续的指定大小的内存块区域以void*类型返回分配的
- JAVA基础八股文Switch能支持哪些类型?jdk5之前,switch能够作用在byte,short,char,int(实际上都是提升为i
- 假设下面是你的视频网站链接列表,如果别人想爬取你的数据十分轻松,看规则就知道数据库是序列自增的http://www.xxxx.com/vid
- MyBatis 通过包含的jdbcType类型BIT FLOAT CHAR &nbs
- 一、前言知识补充:Arrays.copyOf函数:public static int[] copyOf(int[] original, in
- 在常见场景下:返回数据建议使用map,不建议使用实体对象 /** * 1. 名字包含雨并且年龄小于40  
- 前言Mybatis真正强大的地方在于SQL映射语句,这也是它的魅力所在。相对于它强大的功能,SQL映射文件的配置却非常简单,我上篇文章语句讲
- 本文实例完成人机猜拳互动游戏的开发,供大家参考,具体内容如下阶段一:实验——分析业务,创建用户类1.分析业务,抽象出类、类的特征和行为2.创
- 一、示例代码访问 localhost:8080/jsonTest —— 返回 json 格式的数据@
- JavaWeb项目部署到服务器详细步骤本地准备在eclipse中将项目打成war文件:鼠标右键要部署到服务器上的项目导出项目数据库文件MyS
- Java 8支持动态语言,看到了很酷的Lambda表达式,对一直以静态类型语言自居的Java,让人看到了Java虚拟机可以支持动态语言的目标
- 前言MyBatis-Plus 是基于 MyBatis 进行封装的一套优秀的持久层框架,它提供了丰富的便捷操作方法和强大的代码生成器,大大简化
- WCF实例(带步骤) <xmlnamespace prefix ="o" ns ="urn:schema
- 上一篇文章我们了解了Java背包问题求解实例代码,接下来我们看看Java中模仿用户登录的相关代码,下面是具体内容。基于用户从控制台输入模拟的
- 概要应同学邀请,演示如何使用 PyQt5 内嵌浏览器浏览网页,并注入 Javascript 脚本实现自动化操作。下面测试的是一个廉价机票预订
- 由Lombok的@AllArgsConstructor注解引发的错误需求:在Service实现中写了一个方法调用第三方接口同步数据。 功能代
- 自动注入和@Autowire@Autowire不属于自动注入!注入方式(重要)在Spring官网上(文档),定义了在Spring中的注入方式
- 前言:java.util.Set接口和 java.util.List接口一样,同样继承自 Collection接口,它与
- 代码如下所示:package com.hoo.util; import java.awt.Color; import