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(随机数值)相关推荐

  1. Java书写文字格斗游戏

    Java学习 - 书写文字格斗游戏 效果截图: package com.itheima.test2;public class GameTest {public static void main(Str ...

  2. Java#9(文字格斗游戏和对象数组练习)

    目录 一.文字格斗游戏 二.对象数组 三.键盘录入练习 四.复杂对象数组练习 题目要求: 一.文字格斗游戏 Role类的代码 package Game;import java.util.Random; ...

  3. 面向对象练习-简易版文字格斗游戏

    题目来源: https://www.bilibili.com/video/BV17F411T7Ao?p=91&vd_source=45bbb703a417550ebf434e539410a70 ...

  4. JAVA练习题17:文字版格斗游戏

    文字版格斗游戏 1. 规则:格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定任务的时候(new对象的时候),这些信息就应该被确定下来 2. 举例: 姓名为:乔峰 姓名为:鸠摩智 血量为:100 血 ...

  5. Java之文字版格斗游戏-乔峰PK鸠摩智

    package org.example;public class GameTest {public static void main(String[] args){/*文字格斗版游戏*///创建第一个 ...

  6. Java学习-----文字版格斗游戏

    规则:格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定任务的时候(new对象的时候),这些信息就应该被确定下来 我将它稍微修改了一下,改为可以键盘输入角色的名字和性别(血量的没写固定100,当然也 ...

  7. Java_题目_面向对象文字花钱格斗游戏

    一.题目:面向对象文字花钱格斗游戏 二.重难点: 1)掌握JavaBean的写法,及相关快捷键或插件生成. 包含缺省及含参构造器.getter和setter.成员方法等. 2)掌握创建对象.方法后的栈 ...

  8. cocos2d-x 3 0 制作横版格斗游戏

    转自:http://philon.cn/post/cocos2d-x-3.0-zhi-zuo-heng-ban-ge-dou-you-xi cocos2d-x: v3.0-alpha-pre Wind ...

  9. Cocos2d-x 3.0 制作横版格斗游戏2

    转载:https://blog.csdn.net/bridge001/article/details/18882575 git:https://github.com/pj2933/fight2d co ...

最新文章

  1. MMDetection V2.0:更快更强的通用目标检测平台
  2. 厉害!从电影花瓶到 Wi-Fi 之母,这才是乘风破浪的姐姐!
  3. 阿里巴巴消息系统架构与变迁--转载
  4. 为什么JavaScript现在和将来都是编程语言首选?
  5. 全球及中国食品色素行业供应前景与发展趋势研究报告2022版
  6. tf.acos_带有Python示例的math.acos()方法
  7. Vue中$refs的理解
  8. Unity Understanding Lifetime Managers
  9. 关于Kubernetes集群中常见问题的排查方法的一些笔记
  10. Linux内核中获取虚拟机KVM结构体信息以及vCPU个数
  11. Spring Aop 报错 ...but was actually of type 'com.sun.proxy.$Proxy**'的解决方案
  12. .net core系列源码地址介绍
  13. 计算机硬件具体都包含哪些,电脑硬件包括哪些
  14. 普适计算-2014/03/28
  15. 小米高通系列清串号打开写号端口工具_手机sn码序列号修改工具,高通串号永久写入!...
  16. 一文读懂Soul上市:注册用户破亿,上市是福还是祸?
  17. 平安普惠i贷额度抢光
  18. 强烈推荐!程序员必备的15 款工具(含阿里内部工具)
  19. OUC_SE_Group04_Blog3
  20. PDF如何设置注释字体大小

热门文章

  1. c语言编辑电子实时时钟,可以调整时间的电子时钟-C语言
  2. java基于springboot+vue的大学生宿舍公寓管理系统 element
  3. Houdini 过程化地形系统(二):基于UE4的FC5植被系统(1)
  4. 黑马程序员————高新技术————反射
  5. layui数据表格分页简单实现
  6. 35岁以后的Android程序员出路在哪里?最强技术实现
  7. 学习笔记 -- 证明旋转矩阵为正交阵
  8. goLang 位左移
  9. RHCSA-A2.配置默认软件仓库
  10. 关系数据库语言SQL课后练习题(二)