文字格斗游戏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)的
- 下一篇: 云服务器上部署仿牛客网项目