學習內容大致可分為以下10點,但也要跟上技術發展的步伐,實時更新。
成都創新互聯公司是專業的金沙網站建設公司,金沙接單;提供網站設計制作、成都網站制作,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行金沙網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!
1、Java語言
Java語言體系比較龐大,包括多個模塊。從WEB項目應用角度講有JSP、Servlet、JDBC、JavaBean(Application)四部分技術。
(1)、Java Database Connectivity(JDBC)技術
在Java Web應用開發中,數據庫管理系統(RDBMS)的使用是不可缺少的。JDBC(Java Database Connectivity) 是一種用于執行SQL 語句的 Java API。它由一組用 Java 編程語言編寫的類和接口組成。JDBC 為工具/數據庫開發人員提供了一個標準的API,使他們能夠用純Java API 來編寫數據庫應用程序。
簡單地說,JDBC 可做三件事:
l 與數據庫建立連接,
l 發送SQL 語句,
l 處理結果。
(2)、Servlet技術
Servlet是運行在服務器端的程序,可以被認為是服務器端的applet。servlet被Web服務器(例如Tomcat)加載和執行,就如同applet被瀏覽器加載和執行一樣。servlet從客戶端(通過Web服務器)接收請求,執行某種操作,然后返回結果。
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);?//發動攻擊的時間
System.out.println("---游戲開始---");
while?(true)?{
long?currenTime?=?System.currentTimeMillis();
if?(nextTime1??currenTime)?{??//時間到則發動攻擊
p1.hit(p2);
nextTime1?+=?p1.coldTime*1000?+?p1.waitTime*1000;?//下次攻擊時間=冷卻時間+被暈眩時間
p1.waitTime?=?0;??//回合結束,重置被暈眩時間為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;???//防御技能發動的次數
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;???//發動雙倍攻擊
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???"發動攻擊技能???"?:?"未發動攻擊技能???")
+?p.getClass().getSimpleName()
+?(this.defenseFlag???"發動防御技能???"?:?"未發動防御技能???")
+?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???"發動攻擊技能???"?:?"未發動攻擊技能???")
+?p.getClass().getSimpleName()
+?(this.defenseFlag???"發動防御技能???"?:?"未發動防御技能???")
+?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;???//防御技能發動,傷害減半
}
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;??????//發起主動技能的概率
int?chanceDefense;??//發起防御技能的概率
abstract?void?hit(Person?p);???//攻擊技能
abstract?int?defense(Person?p);?//防御技能,返回被傷害點數
}
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;??????//主動技能發動的標識
boolean?defenseFlag?=?false;??//防御技能發動的標識
public?void?hit(Person?p)?{
if?(rand.nextInt(10)??chanceHit)?{??//發動主動技能
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;?????//標記主動技能已經發動
}?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???"發動攻擊技能???"?:?"未發動攻擊技能???")
+?p.getClass().getSimpleName()
+?(this.defenseFlag???"發動防御技能???"?:?"未發動防御技能???")
+?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?0;
}?else?{
return?p.fight;
}
}
}
forgotten warrior 這是三星手機自帶的JAVA的游戲,王子救公主嘛,我怎么會知道??我就是用的三星手機
分享標題:java實現魔塔源代碼 Java魔塔
網頁路徑:http://m.kartarina.com/article30/dodsdpo.html
成都網站建設公司_創新互聯,為您提供微信公眾號、網站內鏈、小程序開發、企業網站制作、網站制作、品牌網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯