打怪游戏

回合制游戏
玩家 HP:200 攻击力:5~8
怪物 HP:375 攻击力:3~5

一方血量值为0即失败,游戏结束 ;
并且输出每次攻击事件的详情。
特别的,算出各方胜率。

思路:

while(玩家和怪物都活着){
生成玩家的攻击力;
怪物掉血;
输出 玩家攻击怪物 怪物掉了多少血 怪物还剩多少血;

生成怪物的攻击力;
玩家掉血;
输出 怪物攻击玩家 玩家掉了多少血 玩家还剩多少血;
}
sout

实践:

//关于制作一款打怪游戏--随机数的应用
/*---------打怪游戏-----------*//*回合制游戏玩家  HP:200 攻击力:5~8怪物  HP:375 攻击力:3~5一方血量值为0即失败,游戏结束 ;并且输出每次攻击事件的详情。*/
public class Test4 {//psvmpublic static void main(String[] args){int round=1;                          //回合数int playerHealth=200;int playerAttack;int monsterHealth=375;int monsterAttack;while(true){    //既可以把true换成playerHealth>0&&monsterHealth>0,但其实换不换都无所谓,因为一旦有一方health<=0,循环已经终止System.out.println("——————————————☢第"+round+"回合☢——————————————");playerAttack=(int)(Math.random()*4+5);monsterHealth-=playerAttack;if (monsterHealth<=0){System.out.println("玩家打出致命一击!怪物死亡,玩家获胜!!");break;   //判断一方血量,若低于等于0,要立刻终止循环}System.out.println("玩家攻击了怪物,怪物掉了"+playerAttack+"点血,怪物还剩"+monsterHealth+"点血");monsterAttack=(int)(Math.random()*2+3);playerHealth-=monsterAttack;if (playerHealth<=0){System.out.println("怪物大杀四方!!玩家死亡,怪物获胜!");break;}System.out.println("怪物攻击了玩家,玩家掉了"+monsterAttack+"点血,玩家还剩"+playerHealth+"点血");round++;System.out.println(); //为了美观而换行}}
}

输出:

由于随机数的不确定性,结果有两种:

情况1

情况2

对于胜率,对代码稍作屏蔽和修改

public static void main(String[] args){int n=1;int playerWin=0,monsterWin=0;while(n<=10000000) {System.out.println("第"+n+"回合:");//*int round = 1;                //回合数int playerHealth = 200;int playerAttack;int monsterHealth = 375;int monsterAttack;while (true) {    //既可以把true换成playerHealth>0&&monsterHealth>0,但其实换不换都无所谓,因为一旦有一方health<=0,循环已经终止//*System.out.println("——————————————☢第" + round + "回合☢——————————————");playerAttack = (int) (Math.random() * 4 + 5);monsterHealth -= playerAttack;if (monsterHealth <= 0) {playerWin++;System.out.println("玩家胜利!");//*System.out.println("玩家打出致命一击!怪物死亡,玩家获胜!!");break;   //*判断一方血量,若低于等于0,要立刻终止循环}//System.out.println("玩家攻击了怪物,怪物掉了" + playerAttack + "点血,怪物还剩" + monsterHealth + "点血");monsterAttack = (int) (Math.random() * 2 + 3);playerHealth -= monsterAttack;if (playerHealth <= 0) {monsterWin++;System.out.println("怪物胜利!");//*System.out.println("怪物大杀四方!!玩家死亡,怪物获胜!");break;}//*System.out.println("怪物攻击了玩家,玩家掉了" + monsterAttack + "点血,玩家还剩" + playerHealth + "点血");//*round++;//*System.out.println(); //为了美观而换行}n++;if(n==10000001) {System.out.println("玩家胜率;" + (playerWin / 100000.0) + "%");System.out.println("怪物胜率:" + (monsterWin / 100000.0) + "%");}}}

第9999992回合:
玩家胜利!
第9999993回合:
玩家胜利!
第9999994回合:
玩家胜利!
第9999995回合:
怪物胜利!
第9999996回合:
玩家胜利!
第9999997回合:
玩家胜利!
第9999998回合:
怪物胜利!
第9999999回合:
怪物胜利!
第10000000回合:
玩家胜利!
玩家胜率;47.30983%
怪物胜率:52.69017%

Process finished with exit code 0
利用大量计算,得到的近似概率,看来怪物胜率还是高一点哈

JavaSE-利用随机数制作的打怪游戏相关推荐

  1. python拼图_利用python制作拼图小游戏的全过程

    开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块 关注公众号:Python学习指南,回复"拼图"即可获取源码 环境搭建 安装P ...

  2. 利用python制作拼图_利用python制作拼图小游戏的全过程

    开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块 关注公众号:Python学习指南,回复"拼图"即可获取源码 环境搭建 安装P ...

  3. 利用C++制作无敌战机游戏,快乐学习,快乐编程!(源代码展示)

    超级无敌战斗机游戏,类似雷电一样的疯狂射击游戏,游戏不大,很好玩,源码编写的时候比较早,因此对C++初学者比较有帮助,想研究的下载研究一番. 项目: 代码: 一款自己设计的飞机小游戏,采用C++语言编 ...

  4. 利用J2ME制作的手机游戏----贪吃蛇

    在此附上游戏画布的的代码及完成后的产品 package com.xiang.game.graph;import javax.microedition.lcdui.Canvas; import java ...

  5. 初学JS——利用JS制作的别踩白块儿(街机模式) 小游戏

    初学JS--利用JS制作的别踩白块儿(街机模式) 小游戏 这个是上个星期5写的了,当时是突然想写个游戏,就想到了别踩白块儿,当时的想法是 可能普通模式的别踩白块儿因为他的"块儿"是 ...

  6. python概率随机抽奖_Python利用带权重随机数解决抽奖和游戏爆装备

    关于带权随机数 为了帮助理解,先来看三类随机问题的对比: 1.已有n条记录,从中选取m条记录,选取出来的记录前后顺序不管. 实现思路:按行遍历所有记录,约隔n/m条取一个数据即可 2.在1类情况下,还 ...

  7. python猜数字1001untitled_如何利用Matlab GUI制作猜数字游戏

    第二堂课布置了一个Mission Impossible:如何利用Matlab GUI制作猜数字游戏 这个任务对很多人来说会非常困难,首先要面对的是 Matlab GUI的机制,这是完全未知的机制,在面 ...

  8. 利用js制作的简单网页小游戏

    利用html和js制作的简单的网页小游戏 这个是我第一次利用js制作网页的小游戏,若有错误欢迎指出. 设计的游戏是类似于配对的小游戏.废话不多说,直接上代码,代码中有比较详细的说明. <!DOC ...

  9. android打地鼠设计报告,android开发中利用handler制作一个打地鼠小游戏

    android开发中利用handler制作一个打地鼠小游戏 发布时间:2020-11-25 15:21:11 来源:亿速云 阅读:136 作者:Leah 这期内容当中小编将会给大家带来有关androi ...

最新文章

  1. jquery即时搜索查询插件jquery.search.js
  2. 为何IDEA比Eclipse更好!
  3. UGUI的优点新UI系统四 开源
  4. typeof null的返回值是什么?_数据类型与typeof
  5. 剑指Offer - 面试题47. 礼物的最大价值(动态规划)
  6. 现代软件工程 - 代码量等于树叶量
  7. 交换机连接控制器_DELL MD3200I存储单双控制器的自由切换
  8. java拦截器获取请求参数
  9. 42步进电机转速力矩曲线_42步进电机转速范围说明(28步进电机转速测试)
  10. cao方法matlab程序,偏最小二乘法 matlab程序 [转]
  11. 怎样设定目标(一)目标金字塔
  12. 每天一个linux命令(33):atq命令
  13. 电脑钢琴模拟器(初学WINDOW库)
  14. 手机计算机怎样可以整分数计算,分数计算器设计
  15. 链游界巅峰巨作‬‬Hegemony Ⅱ 仿真元宇宙游戏王国震撼问世
  16. linux 看usb 存储设备,找到哪个驱动器对应于Linux中的哪个USB大容量存储设备
  17. 第7章第22节:双图排版:两张图片并列靠边对齐 [PowerPoint精美幻灯片实战教程]
  18. bootstrap3 表单构建器_Knex - 灵活轻便的 Node.js SQL 查询构建器
  19. 云计算大数据基础知识点
  20. 1556 Color the ball

热门文章

  1. uctf信息安全_UCTF2016 twi Writeup
  2. k8s修改ingress命令
  3. 水浒二十八回--施恩重霸孟州道 武松醉打蒋门神
  4. 论文小结——CenterPoint
  5. 招标采购腐败与欺诈行为有哪些?该如何预防?
  6. 【沃顿商学院学习笔记】管理学——09行业对腐败的控制 Corruption Control By Industries
  7. 睢宁微服务平台下载_爱睢宁app下载,爱睢宁APP官方手机版 v1.0-鸿都下载
  8. JS 大文件分割上传
  9. 数字化转型本质的10个关键词
  10. Processing编程学习指南2.4 速写本