學(xué)習(xí)內(nèi)容大致可分為以下10點,但也要跟上技術(shù)發(fā)展的步伐,實時更新。
成都創(chuàng)新互聯(lián)公司是專業(yè)的金沙網(wǎng)站建設(shè)公司,金沙接單;提供網(wǎng)站設(shè)計制作、成都網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行金沙網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
1、Java語言
Java語言體系比較龐大,包括多個模塊。從WEB項目應(yīng)用角度講有JSP、Servlet、JDBC、JavaBean(Application)四部分技術(shù)。
(1)、Java Database Connectivity(JDBC)技術(shù)
在Java Web應(yīng)用開發(fā)中,數(shù)據(jù)庫管理系統(tǒng)(RDBMS)的使用是不可缺少的。JDBC(Java Database Connectivity) 是一種用于執(zhí)行SQL 語句的 Java API。它由一組用 Java 編程語言編寫的類和接口組成。JDBC 為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,使他們能夠用純Java API 來編寫數(shù)據(jù)庫應(yīng)用程序。
簡單地說,JDBC 可做三件事:
l 與數(shù)據(jù)庫建立連接,
l 發(fā)送SQL 語句,
l 處理結(jié)果。
(2)、Servlet技術(shù)
Servlet是運行在服務(wù)器端的程序,可以被認為是服務(wù)器端的applet。servlet被Web服務(wù)器(例如Tomcat)加載和執(zhí)行,就如同applet被瀏覽器加載和執(zhí)行一樣。servlet從客戶端(通過Web服務(wù)器)接收請求,執(zhí)行某種操作,然后返回結(jié)果。
package?com.lxi;
import?java.io.BufferedReader;
import?java.io.InputStreamReader;
public?class?Rpg?{
@SuppressWarnings("unchecked")
public?static?void?main(String[]?args)?throws?Exception?{
System.out.println("在這里輸入兩個人物進行PK,以英文逗號分隔:?[BM,DH,MK]");
BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(System.in));
ClassPerson?c1;
ClassPerson?c2;
try?{
String?temp?=?br.readLine();
String[]?str?=?temp.split(",");
if?(str.length?!=?2)?{
throw?new?Exception("輸入格式有誤,按默認PK");
}
c1?=?(ClassPerson)?Class.forName("com.lxi."
+?str[0].toUpperCase());
c2?=?(ClassPerson)?Class.forName("com.lxi."
+?str[1].toUpperCase());
}?catch?(Exception?e)?{
//?TODO?Auto-generated?catch?block
c1?=?(ClassPerson)?Class.forName("com.lxi.BM");
c2?=?(ClassPerson)?Class.forName("com.lxi.DH");
}
try?{
Person?p1?=?c1.newInstance();
Person?p2?=?c2.newInstance();
long?time?=?System.currentTimeMillis();
long?nextTime1?=?(long)?(time?+?p1.coldTime*1000);?//
long?nextTime2?=?(long)?(time?+?p2.coldTime*1000);?//發(fā)動攻擊的時間
System.out.println("---游戲開始---");
while?(true)?{
long?currenTime?=?System.currentTimeMillis();
if?(nextTime1??currenTime)?{??//時間到則發(fā)動攻擊
p1.hit(p2);
nextTime1?+=?p1.coldTime*1000?+?p1.waitTime*1000;?//下次攻擊時間=冷卻時間+被暈眩時間
p1.waitTime?=?0;??//回合結(jié)束,重置被暈眩時間為0
}
if?(nextTime2??currenTime)?{
p2.hit(p1);
nextTime2?+=?p2.coldTime*1000?+?p2.waitTime*1000;
p2.waitTime?=?0;
}
}
}?catch?(ClassCastException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}?catch?(InstantiationException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}?catch?(IllegalAccessException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
}
package?com.lxi;
import?java.util.Random;
class?BM?extends?Person?{
public?BM()?{
val?=?650;
coldTime?=?1.5;
fight?=?40;
chanceHit?=?3;
chanceDefense?=?3;
waitTime?=?0;
}
int?count?=?0;???//防御技能發(fā)動的次數(shù)
int?temp?=?40;???//攻擊力,值同fight
boolean?hitFlag?=?false;
boolean?defenseFlag?=?false;
Random?rand?=?new?Random();
public?void?hit(Person?p)?{
if?(rand.nextInt(10)??chanceHit)?{
fight?=?fight?*?2;???//發(fā)動雙倍攻擊
hitFlag?=?true;
}
int?hurt?=?p.defense(this);
p.val?=?p.val?-?hurt;
fight?=?temp;?????//還原為單倍攻擊
if?(p.val?=?0)?{
System.out.println(this.getClass().getSimpleName()?+?"勝出!");
System.exit(0);
}
System.out.println(this.getClass().getSimpleName()?+?"攻擊"
+?p.getClass().getSimpleName()?+?","
+?this.getClass().getSimpleName()
+?(this.hitFlag???"發(fā)動攻擊技能???"?:?"未發(fā)動攻擊技能???")
+?p.getClass().getSimpleName()
+?(this.defenseFlag???"發(fā)動防御技能???"?:?"未發(fā)動防御技能???")
+?this.getClass().getSimpleName()?+?":"?+?this.val?+?","
+?p.getClass().getSimpleName()?+?":"?+?p.val);
hitFlag?=?false;
defenseFlag?=?false;
}
public?int?defense(Person?p)?{
if?(rand.nextInt(10)??chanceDefense)?{
if?(count?!=?0)?{
p.val?=?p.val?-?p.fight;
count++;
defenseFlag?=?true;
if?(p.val?=?0)?{
System.out.println(this.getClass().getSimpleName()?+?"勝出!");
System.exit(0);
}
}
}
return?p.fight;
}
}
class?MK?extends?Person?{
public?MK()?{
val?=?700;
coldTime?=?2.5;
fight?=?50;
chanceDefense?=?6;
chanceHit?=?3;
waitTime?=?0;
}
boolean?hitFlag?=?false;
boolean?defenseFlag?=?false;
Random?rand?=?new?Random();
public?void?hit(Person?p)?{
if?(rand.nextInt(10)??chanceHit)?{
p.waitTime?=?3;???//使對方暈眩3s
hitFlag?=?true;
}
int?hurt?=?p.defense(this);
p.val?=?p.val?-?hurt;
if?(p.val?=?0)?{
System.out.println(this.getClass().getSimpleName()?+?"勝出!");
System.exit(0);
}
System.out.println(this.getClass().getSimpleName()?+?"攻擊"
+?p.getClass().getSimpleName()?+?","
+?this.getClass().getSimpleName()
+?(this.hitFlag???"發(fā)動攻擊技能???"?:?"未發(fā)動攻擊技能???")
+?p.getClass().getSimpleName()
+?(this.defenseFlag???"發(fā)動防御技能???"?:?"未發(fā)動防御技能???")
+?this.getClass().getSimpleName()?+?":"?+?this.val?+?","
+?p.getClass().getSimpleName()?+?":"?+?p.val);
hitFlag?=?false;
defenseFlag?=?false;
}
public?int?defense(Person?p)?{
if?(rand.nextInt(10)??chanceDefense)?{
defenseFlag?=?true;
return?p.fight?/?2;???//防御技能發(fā)動,傷害減半
}
return?p.fight;
}
}
package?com.lxi;
import?java.io.BufferedReader;
import?java.io.InputStreamReader;
import?java.util.Random;
//三個人物的基類
abstract?class?Person?{
int?val;?????????????//生命值
double?coldTime;?????//冷卻時間
int?waitTime;????????//暈眩時間
int?fight;??????????//攻擊力
int?chanceHit;??????//發(fā)起主動技能的概率
int?chanceDefense;??//發(fā)起防御技能的概率
abstract?void?hit(Person?p);???//攻擊技能
abstract?int?defense(Person?p);?//防御技能,返回被傷害點數(shù)
}
class?DH?extends?Person?{
public?DH()?{
val?=?600;
coldTime?=?1.0;
fight?=?30;
chanceHit?=?3;??????//表示30%的概率
chanceDefense?=?3;
waitTime?=?0;
}
Random?rand?=?new?Random();
boolean?hitFlag?=?false;??????//主動技能發(fā)動的標(biāo)識
boolean?defenseFlag?=?false;??//防御技能發(fā)動的標(biāo)識
public?void?hit(Person?p)?{
if?(rand.nextInt(10)??chanceHit)?{??//發(fā)動主動技能
int?hurt?=?p.defense(this);
p.val?=?p.val?-?hurt;
if?(p.val?=?0)?{
System.out.println(this.getClass().getSimpleName()?+?"勝出!");
System.exit(0);
}
val?=?val?+?hurt;
if?(val??600)
val?=?600;
hitFlag?=?true;?????//標(biāo)記主動技能已經(jīng)發(fā)動
}?else?{??//進行普通攻擊
int?hurt?=?p.defense(this);
p.val?=?p.val?-?hurt;
if?(p.val?=?0)?{
System.out.println(this.getClass().getSimpleName()?+?"勝出!");
System.exit(0);
}
}
System.out.println(this.getClass().getSimpleName()?+?"攻擊"
+?p.getClass().getSimpleName()?+?","
+?this.getClass().getSimpleName()
+?(this.hitFlag???"發(fā)動攻擊技能???"?:?"未發(fā)動攻擊技能???")
+?p.getClass().getSimpleName()
+?(this.defenseFlag???"發(fā)動防御技能???"?:?"未發(fā)動防御技能???")
+?this.getClass().getSimpleName()?+?":"?+?this.val?+?","
+?p.getClass().getSimpleName()?+?":"?+?p.val);
hitFlag?=?false;?????//
defenseFlag?=?false;?//重置標(biāo)記,下次重用
}
public?int?defense(Person?p)?{
if?(rand.nextInt(10)??chanceDefense)?{
defenseFlag?=?true;???//標(biāo)記防御技能已經(jīng)發(fā)動
return?0;
}?else?{
return?p.fight;
}
}
}
forgotten warrior 這是三星手機自帶的JAVA的游戲,王子救公主嘛,我怎么會知道??我就是用的三星手機
分享標(biāo)題:java實現(xiàn)魔塔源代碼 Java魔塔
網(wǎng)頁路徑:http://chinadenli.net/article30/dodsdpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站內(nèi)鏈、小程序開發(fā)、企業(yè)網(wǎng)站制作、網(wǎng)站制作、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)