文字格斗游戏2.0(随机数值)
生活随笔
收集整理的这篇文章主要介绍了
文字格斗游戏2.0(随机数值)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
ps:小白分享学习java的第五天
之前发的一个文字格斗游戏,姓名和血量都是固定的,而且都是谁打了谁一下,太无聊了。
经过我日复一夜不停的学习,终于学会了,然后给他优化了:
1、加上了功夫招式;
2、姓名随机生成;
3、初始血量随机生成;
(至于性别,还是算了,就两个性别)
以下是我的运行效果和源代码:
package cn.jet;import java.util.Random;/*** attack攻击描述:* %s使出了一招【背心钉】,转到对方的身后,一掌向%s背心的灵台穴拍去。* %s使出了一招【游空探爪】,飞起身形自半空中变掌为抓锁向%s。* %s大喝一声,身形下伏,一招【劈雷坠地】,锤向%s双腿。* %s运气于掌,一瞬间掌心变得血红,一式【掌心雷】,推向%s。* %s阴手翻起阳手跟进,一招【没遮拦】,结结实实的锤向%s。* %s上步抢身,招中套招,一招【披挂连环】,连环攻向%s。* <p>* injured 受伤描述:* 结果%s退了半步,擦破点皮* 结果给%s造成一处瘀伤* 结果一击命中,%s痛的弯下腰* 结果%s痛苦闷哼一声,显然是是了点内伤* 结果%s摇摇晃晃,一跤摔倒在地* 结果%s脸色一下变得惨白,连退了好几步* 结果【轰】的一声,%s口中鲜血狂喷而出* 结果%s一声惨叫,像通软泥般塌了下去**/ public class Role {String[] Namename = {"张三", "李四", "王五", "赵六", "孙七"};String[] boyfaces = {"风流倜傥", "气宇轩昂", "相貌英俊", "五官端正", "相貌平平", "一塌糊涂", "面目狰狞"};String[] girlfaces = {"美轮美奂", "沉鱼落雁", "亭亭玉立", "身材姣好", "相貌平平", "相貌简陋", "惨不忍睹"};String[] attacks_desc = {"%s使出了一招【背心钉】,转到对方的身后,一掌向%s背心的灵台穴拍去,"," %s使出了一招【游空探爪】,飞起身形自半空中变掌为抓锁向%s,"," %s大喝一声,身形下伏,一招【劈雷坠地】,锤向%s双腿,","%s运气于掌,一瞬间掌心变得血红,一式【掌心雷】,推向%s,","%s阴手翻起阳手跟进,一招【没遮拦】,结结实实的锤向%s,"," %s上步抢身,招中套招,一招【披挂连环】,连环攻向%s"};String[] injured = {"结果%s退了半步,擦破点皮","结果给%s造成一处瘀伤"," 结果一击命中,%s痛的弯下腰","结果%s痛苦闷哼一声,显然是受了点内伤"," 结果%s摇摇晃晃,一跤摔倒在地","结果%s脸色一下变得惨白,连退了好几步","结果【轰】的一声,%s口中鲜血狂喷而出","结果%s一声惨叫,像通软泥般塌了下去"};private String name;//姓名private int blood;//血量private char gender;//性别private String face;//长相public Role( char gender) {this.gender = gender;setFace(gender);}public char getGender() {return gender;}public void setGender(char gender) {this.gender = gender;}public String getFace() {return face;}public void setFace(char gender) {this.face = face;Random r = new Random();//长相是随机的if (gender == '男') {//从boyface里面随机长相int index = r.nextInt(boyfaces.length);this.face = boyfaces[index];} else if (gender == '女') {int index = r.nextInt(girlfaces.length);this.face = girlfaces[index];} else {this.face = "面目狰狞";}//姓名 随机{int index1 = r.nextInt(Namename.length);this.name = Namename[index1];}//血量随机int index = r.nextInt(100,120)+1;this.blood = index;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getBlood() {return blood;}public void setBlood(int blood) {this.blood = blood;}//定义一个方法,用于攻击别人//思考:谁攻击谁?//Role r1 = new Role();//Role r2 = new Role();//r1.攻击(r2);//方法的调用这去攻击参数;public void attack(Role role) {Random r = new Random();int index = r.nextInt(attacks_desc.length);String KunFu = attacks_desc[index];//随机KunFu//输出一个攻击的效果System.out.printf(KunFu, this.getName(), role.getName());//造成的伤害是随机的 1~20int hurt = r.nextInt(20) + 1;System.out.printf(" 造成了%s点伤害", hurt);System.out.println();//this 表示方法的调用者int remainBoold = role.getBlood() - hurt;remainBoold = remainBoold < 0 ? 0 : remainBoold; //对剩余血量做一个验证,如果为负数了,则改为0//修改一下挨揍的人的血量role.setBlood(remainBoold);//受伤的描述//受伤的范围//血量>90,0索引的描述//80~90 1索引的描述//70~80 2索引的描述//60~70 3索引的描述//40~60 4索引的描述//20~40 5索引的描述//10~20 6索引的描述//血量<10 7索引的描述if (remainBoold > 90) {System.out.printf(injured[0] + ",生命值还剩下" + remainBoold, role.getName());} else if (remainBoold > 80 && remainBoold <= 90) {System.out.printf(injured[1] + ",生命值还剩下" + remainBoold, role.getName());} else if (remainBoold > 70 && remainBoold <= 80) {System.out.printf(injured[2] + ",生命值还剩下" + remainBoold, role.getName());} else if (remainBoold >= 60 && remainBoold <= 70) {System.out.printf(injured[3] + ",生命值还剩下" + remainBoold, role.getName());} else if (remainBoold > 40 && remainBoold <= 60) {System.out.printf(injured[4] + ",生命值还剩下" + remainBoold, role.getName());} else if (remainBoold > 20 && remainBoold <= 40) {System.out.printf(injured[5] + ",生命值还剩下" + remainBoold, role.getName());} else if (remainBoold > 0 && remainBoold <= 20) {System.out.printf(injured[6] + ",生命值还剩下" + remainBoold, role.getName() + "");} else if (remainBoold == 0) {System.out.printf(injured[7] + ",生命值还剩下" + remainBoold, role.getName());}System.out.println();}public void showRoleinfo() {System.out.println("姓名为:" + getName());System.out.println("血量为:" + getBlood());System.out.println("性别为:" + getGender());System.out.println("长相为:" + getFace() + "\n");} } import cn.jet.Role;public class game_text {public static void main(String[] args) {//1、创建第一个角色Role r1 = new Role( '男');//2、创建第二个角色Role r2 = new Role('男');//展示一下角色的信息r1.showRoleinfo();r2.showRoleinfo();//3、开始格斗while (true) {r1.attack(r2);if (r2.getBlood() == 0) {System.out.println(r1.getName() + " KO了 " + r2.getName());break;}r2.attack(r1);if (r1.getBlood() == 0) {System.out.println(r2.getName() + " KO了 " + r1.getName());break;}}} }
总结
以上是生活随笔为你收集整理的文字格斗游戏2.0(随机数值)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: lammps教程:径向分布函数g(r)的
- 下一篇: 云服务器上部署仿牛客网项目