日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文字格斗游戏2.0(随机数值)

發(fā)布時間:2023/12/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文字格斗游戏2.0(随机数值) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

ps:小白分享學習java的第五天

之前發(fā)的一個文字格斗游戲,姓名和血量都是固定的,而且都是誰打了誰一下,太無聊了。

經(jīng)過我日復一夜不停的學習,終于學會了,然后給他優(yōu)化了:

1、加上了功夫招式;

2、姓名隨機生成;

3、初始血量隨機生成;

(至于性別,還是算了,就兩個性別)

以下是我的運行效果和源代碼:

?

?

?

?

?

?

?

?

?

package cn.jet;import java.util.Random;/*** attack攻擊描述:* %s使出了一招【背心釘】,轉(zhuǎn)到對方的身后,一掌向%s背心的靈臺穴拍去。* %s使出了一招【游空探爪】,飛起身形自半空中變掌為抓鎖向%s。* %s大喝一聲,身形下伏,一招【劈雷墜地】,錘向%s雙腿。* %s運氣于掌,一瞬間掌心變得血紅,一式【掌心雷】,推向%s。* %s陰手翻起陽手跟進,一招【沒遮攔】,結(jié)結(jié)實實的錘向%s。* %s上步搶身,招中套招,一招【披掛連環(huán)】,連環(huán)攻向%s。* <p>* injured 受傷描述:* 結(jié)果%s退了半步,擦破點皮* 結(jié)果給%s造成一處瘀傷* 結(jié)果一擊命中,%s痛的彎下腰* 結(jié)果%s痛苦悶哼一聲,顯然是是了點內(nèi)傷* 結(jié)果%s搖搖晃晃,一跤摔倒在地* 結(jié)果%s臉色一下變得慘白,連退了好幾步* 結(jié)果【轟】的一聲,%s口中鮮血狂噴而出* 結(jié)果%s一聲慘叫,像通軟泥般塌了下去**/ public class Role {String[] Namename = {"張三", "李四", "王五", "趙六", "孫七"};String[] boyfaces = {"風流倜儻", "氣宇軒昂", "相貌英俊", "五官端正", "相貌平平", "一塌糊涂", "面目猙獰"};String[] girlfaces = {"美輪美奐", "沉魚落雁", "亭亭玉立", "身材姣好", "相貌平平", "相貌簡陋", "慘不忍睹"};String[] attacks_desc = {"%s使出了一招【背心釘】,轉(zhuǎn)到對方的身后,一掌向%s背心的靈臺穴拍去,"," %s使出了一招【游空探爪】,飛起身形自半空中變掌為抓鎖向%s,"," %s大喝一聲,身形下伏,一招【劈雷墜地】,錘向%s雙腿,","%s運氣于掌,一瞬間掌心變得血紅,一式【掌心雷】,推向%s,","%s陰手翻起陽手跟進,一招【沒遮攔】,結(jié)結(jié)實實的錘向%s,"," %s上步搶身,招中套招,一招【披掛連環(huán)】,連環(huán)攻向%s"};String[] injured = {"結(jié)果%s退了半步,擦破點皮","結(jié)果給%s造成一處瘀傷"," 結(jié)果一擊命中,%s痛的彎下腰","結(jié)果%s痛苦悶哼一聲,顯然是受了點內(nèi)傷"," 結(jié)果%s搖搖晃晃,一跤摔倒在地","結(jié)果%s臉色一下變得慘白,連退了好幾步","結(jié)果【轟】的一聲,%s口中鮮血狂噴而出","結(jié)果%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);//方法的調(diào)用這去攻擊參數(shù);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 表示方法的調(diào)用者int remainBoold = role.getBlood() - hurt;remainBoold = remainBoold < 0 ? 0 : remainBoold; //對剩余血量做一個驗證,如果為負數(shù)了,則改為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、創(chuàng)建第一個角色Role r1 = new Role( '男');//2、創(chuàng)建第二個角色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;}}} }

總結(jié)

以上是生活随笔為你收集整理的文字格斗游戏2.0(随机数值)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。