还是挺简单的,思路清晰很快就写好了,没用到1h,今天学习的Math.random()函数;关于拓展也不是很难,没必要再花些功夫了;有兴趣的可以深层挖掘下别的玩法。

/*随机数的使用0-1的随机数的产生:Math.random();建立起来首先我们了解 random是在0.0-0.99100*random      0-99 所以对于产生1-N的随机数为 N*random()+1例题:实现5*5...Bingo题目:在5*5的网格中初始有0-6*6[或者7*7]个数值;我们要往其中输入一个位置;直到有5个行或者列存在Bingo为止;求实现Bingo的期望输入数目;改进:对于概率性输入;改进:将每次空输入的次数有效减少。
*/class   Bingo{public static void main(String[] args){int[][] arr = new int[5][];initializeArray(arr);//初始化5*5的数组1-7*7int[][] arr0 =new int[5][];//点亮数组for(int i=0;i<5;i++){arr0[i] = new int[5];                  }//点亮数组全部默认为0System.out.println("开始打印Bingo值");print2Array(arr);System.out.println("开始打印点亮数组");print2Array(arr0);/*开始游戏对于落子20次后开始遍历1的出现情况                           1,每一行每一列或者每个斜行列攥足5个就结束            2,点亮数组*/int c = playGame(arr,arr0);System.out.println("你本期完成Bingo使用的次数合计 "+c+"次");System.out.println("打印完成游戏后的情况----");System.out.println("开始打印Bingo值");print2Array(arr);System.out.println("开始打印结束Bingo后的点亮数组");print2Array(arr0);       }//初始化二维数组5*5;输入7*7范围内的数值public static void initializeArray(int[][] arr2){for(int i=0;i<5;i++){arr2[i] = new int[5]; for(int j=0;j<5;j++){arr2[i][j] = (int) (49*Math.random()+1);}}}//打印二维数组public static void print2Array(int[][] arr){for(int i=0;i<arr.length;i++){for(int j=0;j<arr.length;j++){System.out.print(arr[i][j]+"\t");                     }System.out.println();System.out.println();}}public static int playGame(int[][] arr,int[][] arr0){int i=0;while(true){//给与机会参与游戏int t = (int) (49*Math.random()+1);increaseValue(arr,arr0,t);i++;boolean flag = judge(arr0); if(flag){break;}   }return i;}public static boolean judge(int[][] arr3){//判断点亮数组中是否有满足目标的对象;即遍历12条路//遍历行boolean judge = false;int count=0;for(int i=0;i<arr3.length;i++){int obj1=0;int obj2=0;int obj3=0;int obj4=0;obj3 += arr3[i][arr3.length-i-1];obj4 += arr3[i][i];//obj3和obj4为对角两条线for(int j=0;j<arr3.length;j++){obj1 += arr3[i][j];//行obj2 += arr3[j][i];  //列}if(obj1==5){count++;}if(obj2==5){count++;}if(obj3==5){count++;}if(obj4==5){count++;}}if(count>=5){//点亮数组求和;12条线若存在有至少5个sum=5则结束;judge = true;}return judge;}//遍历整个二维数组;返回该元素在二维数组中的所有位置;并在点亮数组中标记++public static void increaseValue(int[][] arr,int[][] arr0,int x){int index = 0;for(int i=0;i<arr.length;i++){for(int j=0;j<arr.length;j++){if(arr[i][j]==x){arr0[i][j]=1; }               }//int hang = (index/10)%hang;//int lie = index%lie;}}}

完成后的部分结果如图形所示。

用java实践了下Bingo游戏的玩法相关推荐

  1. (java桌面应用程序)淘金者游戏及玩法介绍

    1.这是一款由笔者自己写的java游戏,历时10-20天完工; 2.编译工具myeclipse; 3.欢迎加qq:1369038795, 1.下载 到作者115网盘共享文件里下载,http://u.1 ...

  2. 基于魔兽RPG对当前游戏发展趋势的分析,以及尝试一个高游戏性玩法的设计

    游戏发展中有这么一束分支,玩家可以从魔兽争霸3:冰封王座基本游戏模式开始延伸,并通过地图编辑器降低游戏开发门槛,创造开发自己的游戏模式,即魔兽RPG. 如果客观的看,魔兽RPG符合一个优胜劣汰的进化守 ...

  3. java演练 数组的逆序文字玩法 你是猪才怪

    java演练 数组的逆序文字玩法 你是猪才怪 视频 https://www.ixigua.com/6870379403545674247?logTag=fgsSVbgK-TlKqZyHDyjmo 代码 ...

  4. 娱乐小游戏助力神器威信小程序源码下载多种游戏选择玩法多种

    大家好今天给大家带来另外一款小神器 好像记得小编之前也发过好几款这种小程序源码吧 但是每一款的UI或者功能什么的都还是会有所不一样的 大家也可以找找之前所发的那几款对比一下然后决定自己需要哪一款哟 这 ...

  5. 老A:什么是抖音弹幕互动游戏,玩法以及如何参与

    今天老A主要为大家拆解弹幕互游三部分,一是弹幕互动游戏的形式及状态:二是弹幕互动游戏的玩法:三是如何参与这个到这个赛道上. 抖音弹幕游戏作为一种全新的娱乐直播形式,在传统娱乐直播中最头疼的问题莫过于: ...

  6. 小程序源码:修复图片音频全新升级带特效喝酒神器小游戏-多玩法安装简单

    这是一款全新升级带特效喝酒神器小游戏微信小程序源码 小编发现很多喝酒神器小程序都不带特效和音效的 感觉差了那么一点意思而且感觉也不炫酷 所以小编今天给大家带来一款带特效,音效炫酷的喝酒神器 该款神器由 ...

  7. 小程序源码:喝酒娱乐小游戏助力神器微信小程序源码下载多种游戏选择玩法多种

    大家好今天给大家带来另外一款喝酒小神器 好像记得小编之前也发过好几款这种小程序源码吧 但是每一款的UI或者功能什么的都还是会有所不一样的 大家也可以找找之前所发的那几款对比一下然后决定自己需要哪一款哟 ...

  8. 喝酒娱乐小游戏助力神器微信小程序源码下载多种游戏选择玩法多种

    大家好今天给大家带来另外一款喝酒小神器 好像记得小编之前也发过好几款这种小程序源码吧 但是每一款的UI或者功能什么的都还是会有所不一样的 大家也可以找找之前所发的那几款对比一下然后决定自己需要哪一款哟 ...

  9. 年会活跃微信群小游戏有哪些?塔防小游戏经典玩法讲解

    马上接近年底了,很多企业都在准备办一个适合当下环境的年会活动,现在仍是疫情防御阶段,那该如何筹备一个线上活动呢?经调查发现,不少公司会选择TOM小游戏作为一个活动的项目,哪选择什么样的游戏适合呢?一起 ...

  10. 切西瓜小游戏评测玩法规则

    提到"切西瓜小游戏"这种玩法,大家一定不会陌生,作为之前IOS长期霸榜的神作,几乎每个玩家都体验过,但是在H5领域却鲜有此类游戏出现,玩家也几乎快遗忘了这种游戏类型,但是这种玩法真 ...

最新文章

  1. C#实现网页截图功能
  2. 启动子级时出错_【本音知识】弹钢琴时如何背谱?
  3. Python中的collections
  4. Tensorflow实践 基本原理学习和框架使用
  5. CL_GUI_PICTURE
  6. 【Matlab】如何确定数组中存在哪几个数?
  7. poj2912(种类并查集+枚举)
  8. 6000个边缘Kubernetes节点驱动城市80万次智能停车,如何成为可能?
  9. asp.net 2.0 防止密码框被清空的解决方案
  10. Apache+Tomcat实现负载均衡
  11. java static是单例_JAVA基础-static关键字及单例设计模式
  12. 深入浅出MyBatis:MyBatis解析和运行原理
  13. Prometheus和Grafana监控实践
  14. 尚硅谷大数据开发Day01
  15. 51nod 1076 2条不相交的路径 无向图强联通分量 trajan算法
  16. CSS常用定位方法(绝对定位、相对定位、固定定位)
  17. IPv6动态地址DNS解析
  18. 阿里云服务器搭建视频
  19. Vue3 理解 toRef 和 toRefs 的作用、用法、区别
  20. 印度舞曲吉米来吧(中文版)铃声 印度舞曲吉米来吧(中文版)手机...

热门文章

  1. 51单片机控制双步进电机的魔法师思想
  2. Centos 7.2 安装Docker CE实践并配置加速器
  3. 红帽子linux管理
  4. 虚拟机中安装配置Windows server 2003和iis6
  5. 企鹅牵条狗以为就能飞 合体新生潜力如何
  6. 中国一共有多少神仙!今天让大家开开眼!
  7. Linux下vasp优化结构,VASP入门系列文章[6]结构优化
  8. 电脑连wifi老是断断续续的怎么回事
  9. word中正文分栏重新换页问题
  10. 基于Ruby 安装 sass 安装出现的错误以及解决