Java基础--用程序模拟打怪游戏
模拟回合制打怪游戏
文章目录
- 一、问题具体描述
- 二、分析
- 三、代码编写
注:这是随机数的提升练习,不会生成随机数的 点这里。
一、问题具体描述
打怪游戏:玩家、怪物
玩家:血量值315
怪物:血量值500
玩家和怪物互砍。
玩家每次攻击怪物产生5~8点伤害,怪物每次攻击玩家产生3~5点伤害。
采用回合制(玩家和怪物互砍一刀为一个回合)。
一方挂掉,游戏结束。
要求:用程序模拟战斗过程。
二、分析
(1)可以定义两个变量,分别代表玩家(315)和怪物(500)。
(2)打斗过程是反复执行的,就要用到循环。
循环成立的条件:玩家和怪物都活着。
循环里面执行:玩家和怪物互砍。
(3)玩家攻击怪物
①生成玩家攻击力(5~8)。
②怪物血量值对应减少。
③输出:玩家攻击怪物,怪物掉了多少血量,还剩多少血量。
(4)怪物攻击玩家
①生成怪物攻击力(3~5)。
②玩家血量值对应减少。
③输出:怪物攻击玩家,玩家掉了多少血量,还剩多少血量。
(5)循环之后,判断玩家和怪物是否都活着,若都活着,就再循环,否则结束循环。
(6)游戏结束。
三、代码编写
(1)根据上面的分析,我们不难写出代码:
package Test1;public class demo2 {public static void main(String[] args) {/* 打怪游戏 *///1、定义两个变量,分别赋值相应的血量值int w=315; //玩家int g=500; //怪物int i=1;//回合计数变量//2、用循环模拟打斗回合while(w>0 && g>0){ //循环条件是两者都活着//循环里面执行两者互砍System.out.println("----------第"+i+"回合----------");i++;//每一次回合之后,让回合计数变量加一//3、玩家攻击怪物//生成玩家攻击力(5~8)int wg=(int)(Math.random()*4)+5;//减少怪物血量值g-=wg;//输出结果System.out.println("玩家攻击怪物,怪物掉了"+wg+"点血量值,"+"还剩"+g+"点血量值");//4、怪物攻击玩家//生成怪物攻击力(3~5)int gw=(int)(Math.random()*3+3);//减少玩家血量值w-=gw;//输出结果System.out.println("怪物攻击玩家,玩家掉了"+gw+"点血量值,"+"还剩"+w+"点血量值");}}
}
看一下执行结果,会出一点小意外:
我们会发现,最后一个回合中,怪物血量已经减少为负值了,即已经挂掉了。
但是最后还是攻击了玩家,“诈尸”了?
按照道理,本不应该再攻击玩家了。
(2)那刚才编写的代码究竟哪里出错了呢?
Java基础--用程序模拟打怪游戏相关推荐
- niit java证书_NIIT认证Java基础全真模拟试题
NIIT认证Java基础全真模拟试题 一.判断题(每题2分,共16分) 1. Java的字符类型采用的是Unicode编码,但所占字节由具体软硬件环境决定. ( ) 2.Java的源代码中定义几个类, ...
- Java基础(飞机大战小游戏)
学校课程作品,Java简易飞机大战 涉及Java基础知识,通过编写对基础能有不错的巩固和拓展. 首先,先编写出游戏的窗口.游戏获胜条件以及main方法 package com.Mygame3.Plan ...
- 【Java基础项目】经典小游戏黄金矿工制作
Java初学者的小伙伴们,相信大家肯定缺少很多的练手项目吧!今天就给大家推荐一款特别好上手的一个Java小游戏--黄金矿工. 大家听到这个名字的时候,童年的回忆肯定一下子,涌上心头,那如果让大家制作一 ...
- java基础应用程序超市收银_超市收银程序(JAVA课程设计 2011)
<超市收银程序(JAVA课程设计 2011)>由会员分享,可在线阅读,更多相关<超市收银程序(JAVA课程设计 2011)(15页珍藏版)>请在人人文库网上搜索. 1.软零件研 ...
- 四 【java基础】 程序流程控制- 分支结构
目录 01 程序流程控制概述 02 顺序结构 03 分支结构 3.1 if-else 结构 3.2 从键盘输入数据(Scanner) 3.2 Switch-case结构 01 程序流程控制概述 流程控 ...
- python实现dnf自动刷怪_【python】模拟打怪游戏:怪兽(monster),玩家(hero)
游戏模式: 假设有怪兽(monster)和英雄(hero)两个角色,二者为敌对状态 假设两个角色初始血量为100,攻击力的伤害服从随机分布(7,17),二者相互攻击,判断谁获胜? # # 定义精灵 c ...
- Java基础练习项目——英雄小游戏
Java日报 部门:**大数据开发六部 姓名:cqmfx 日期:2020.10.27 练习--打怪小游戏 /*** 2020/10/27** @author cqmfx(阡陌飞絮)*/ import ...
- java界面小程序-模拟算卦六爻
六爻八卦预测,是古人观察大自然运行规律总结出来的一项法则.起源于西汉京房的纳甲体系.起初是用50根蓍草,到宋朝时才有了"以钱代蓍".预测人将三枚铜钱放于手中,双手紧扣,思其所测之事 ...
- java基础案例-购物车模拟
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.需求 二.分析 三.代码 四.效果图 五.总结 一.需求 1.模拟购物车模块的功能,需要实现添加商品到购物车中去,同时需 ...
最新文章
- CB Insights发布最新AI 100排名,包含100家最有前景的AI初创公司
- 关于Android模拟器访问本地地址(转)
- Bootstrap -- 插件: 按钮状态、折叠样式、轮播样式
- 从美图、4399生根,到趣店、瑞幸落户,厦门离中国的西雅图还有多远?
- Android library projects cannot be launched问题的解决
- 教你打造Silverlight超酷翻页实例
- 支付牌照再获成功续展!支付宝:感谢央行的信任和认可
- 一行 Python 实现并行化 -- 日常多线程操作的新思路
- 项目团队中的五种人(之一)
- FPGA原理图设计----Arria II 系列FPGA设计(SATA)
- python三维转换教程_Python科学计算三维可视化【完结】
- Pygame实现”走四棋儿“双人对战小游戏
- 抖音是怎么做出来的?| 创业故事
- 科学道德与学风-2021雨课堂答案-第4章
- 批量修改图幅lisp_【CAD应用技巧】批量自动修改图形文件的程序
- oracle 错误实例分析(ORA-01078)
- Autoware感知瞎学笔记(一)lidar_kf_contour_track
- java版红石电路修改_我的世界红石数模互换电路【红石小课堂】
- python怎么打开图片_新手教学——python怎么打开图片
- 双指针、BFS与图论
热门文章
- 学习笔记 | 如何将 MathType 6.0 插入 Microsoft office 2016
- Visio 2016 MSI 与 Office 2016 Click-to-Run 冲突导致无法安装的解决方法
- 华章IT图书书讯(2012年第3期)
- 三维荧光平行因子学习记录--(二)荧光区域积分(FRI)
- Android studio实验体会,Android Studio 使用心得体会
- 关于ASL查找成功/失败的总结
- island of java_专业英语试卷
- H2 数据库入门和基本使用
- 版本中的GA的缩写和意思
- checkpoint机制,show engine innodb status