學習內容大致可分為以下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服務器)接收請求,執行某種操作,然后返回結果。
1.腳本:▲Scene_Title
這里面的紫色字體也就是我們可以改的地方。有幾行是:
#
生成命令窗口
s1
=
"新游戲"
s2
=
"繼續"
s3
=
"退出"
S1后面引號是開始游戲選擇的時候出現的文字,可以改一下,S2、S3以此類推。
確定后按F12游戲測試
2.腳本:▲Scene_Menu
里面有如下幾行:
#
生成命令窗口
#
s1
=
$data_system.words.item
#
s2
=
$data_system.words.skill
#
s3
=
$data_system.words.equip
#
s4
=
"狀態"
s1
=
"敵物資料"
s2
=
"使用物品"
s3
=
"存檔"
s4
=
"讀檔"
s5
=
"重新開始"
s6
=
"結束游戲"
前面不帶#的S1~S6后面的文字可以改變,也就是游戲時按ESC開啟畫面的時候左邊的一行了。
3.腳本:▲Scene_Save
里面的這幾行
#--------------------------------------------------------------------------
#
●
初始化對像
#--------------------------------------------------------------------------
def
initialize
super("要保存到這個文件嗎?")
SUPER后括號中引號里面的“要保存到這個文件么?”是可以改的,存檔的時候上面寫的字就是改后的文字。
4(兩個腳本連說)腳本:①▲Scene_Load②■Scene_Load2
這兩個腳本非常相似,一個是按ESC之后的讀檔顯示文字,另一個是開始界面讀取進度的文字,到底哪個是哪個我搞不清楚,先看代碼:
#--------------------------------------------------------------------------
#
●
初始化對像
#--------------------------------------------------------------------------
def
initialize
#
再生成臨時對像
$game_temp
=
Game_Temp.new
#
選擇存檔時間最新的文件
$game_temp.last_file_index
=
latest_time
=
Time.at(0)
for
i
in
0..3
filename
=
make_filename(i)
if
FileTest.exist?(filename)
file
=
File.open(filename,
"r")
if
file.mtime
latest_time
latest_time
=
file.mtime
$game_temp.last_file_index
=
i
end
file.close
end
end
super("要載入哪個文件?")
end
SUPER后“要載入哪個文件?”是要改的,與存檔近似。
@@@@@最重要的@@@@@
5.腳本:■Window_PlayerDate
這個腳本應該是最有用的,顯示了玩游戲的時候左面的攻擊防御等一系列東西!腳本也要復制很長,所以我分開來講:
self.contents.font.color
=
text_color(3)
#
self.contents.draw_text(4,
0,
70,
45,
"第",
2)
self.contents.draw_text(4,
0,
125,
45,
"層",
2)
這一段代碼,是最前面顯示XX層的界面,如果想在前面加上“第”(也就是第XX層)的話就要把#符號去掉,如果想改變字體的顏色就要看前面的color后面小括號里顯示的數字了,每一個數字代表的顏色都不同,一共有7個顏色,就是1~7,可以換顏色。
self.contents.draw_text(4,
0,
40,
142,
"等級",
2)
self.contents.draw_text(4,
0,
40,
208,
"生命",
2)
self.contents.draw_text(4,
0,
40,
263,
"攻擊",
2)
self.contents.draw_text(4,
0,
40,
318,
"防御",
2)
self.contents.draw_text(4,
0,
40,
373,
"魔防",
2)
if
$game_switches[Playerdate_magicdef]
self.contents.draw_text(4,
0,
40,
439,
"經驗",
2)
self.contents.draw_text(4,
0,
40,
494,
"金幣",
2)
self.contents.font.color
=
text_color(6)
self.contents.draw_text(4,
0,
60,
576,
"黃鑰匙",
2)
self.contents.font.color
=
text_color(4)
self.contents.draw_text(4,
0,
60,
640,
"藍鑰匙",
2)
self.contents.font.color
=
text_color(2)
self.contents.draw_text(4,
0,
60,
704,
"紅鑰匙",
2)
這一段代碼,是顯示等級生命等東西的了,這里面好多我都沒研究明白,以紅鑰匙那行的代碼來說,4,0,60,704中的704代表上下,如果輸入704以前的數字,“紅鑰匙”這三個字就會往上挪。不改變是正常的,要不就會里出外進了。如果要想等級一個顏色,生命一個顏色等,就要加腳本了,先給你們看加了顏色的代碼,再給你們講:
self.contents.font.color
=
text_color(1)
self.contents.draw_text(4,
0,
40,
142,
"等級",
2)
self.contents.font.color
=
text_color(2)
self.contents.draw_text(4,
0,
40,
208,
"生命",
2)
self.contents.font.color
=
text_color(3)
self.contents.draw_text(4,
0,
40,
263,
"攻擊",
2)
self.contents.font.color
=
text_color(4)
self.contents.draw_text(4,
0,
40,
318,
"防御",
2)
self.contents.font.color
=
text_color(5)
self.contents.draw_text(4,
0,
40,
373,
"魔防",
2)
if
$game_switches[Playerdate_magicdef]
self.contents.font.color
=
text_color(6)
self.contents.draw_text(4,
0,
40,
439,
"經驗",
2)
self.contents.font.color
=
text_color(7)
self.contents.draw_text(4,
0,
40,
494,
"金幣",
2)
self.contents.font.color
=
text_color(6)
self.contents.draw_text(4,
0,
60,
576,
"黃鑰匙",
2)
self.contents.font.color
=
text_color(4)
self.contents.draw_text(4,
0,
60,
640,
"藍鑰匙",
2)
self.contents.font.color
=
text_color(2)
self.contents.draw_text(4,
0,
60,
704,
"紅鑰匙",
2)
self.contents.font.color
=
text_color(3)
self.contents.draw_text(4,
0,
60,
768,
"綠鑰匙",
2)
就是在每個代碼前面加了self.contents.font.color
=
text_color(n)(n代表顏色代碼)
就讓每個字活靈活現了~~如果沒改,將跟第XX層顯示的顏色一樣!
再繼續說:下一段代碼:
self.contents.font.color
=
text_color(3)
self.contents.draw_text(4,
0,
60,
770,
"中毒".to_s,
2)
if
$game_switches[13]
self.contents.font.color
=
text_color(5)
self.contents.draw_text(4,
0,
110,
770,
"衰弱".to_s,
2)
if
$game_switches[15]
self.contents.font.color
=
text_color(1)
self.contents.draw_text(4,
0,
60,
820,
"遲緩".to_s,
2)
if
$game_switches[12]
這就是中毒、衰弱、遲緩加到勇士身上后在左邊顯示的字了,如果不喜歡可以換哦!~~
6.腳本:■Window_EnemyDate
里面有得到怪物手冊后可以顯示怪物資料的東西了(鏡子怪物在樣板0729中沒有,在0808樣板中有了)
self.contents.font.color
=
text_color(0)
@pro="普
通"
case
skill.maxsp
when
self.contents.font.color
=
text_color(0)
@pro="普
通"
when
1
self.contents.font.color
=
text_color(3)
@pro="中
毒"
when
2
self.contents.font.color
=
text_color(5)
@pro="衰
弱"
when
4
self.contents.font.color
=
text_color(2)
作者:
藕色貓
2006-8-13
18:26
回復此發言
--------------------------------------------------------------------------------
3
【分析】魔塔樣板腳本分析(絕對原創,申精)
@pro="吸
血"
@vampire=($game_actors[$game_variables[1]+1].hp*0.2).to_i
when
16
self.contents.font.color
=
text_color(11)
@pro="先
攻"
@first=1
when
32
self.contents.font.color
=
text_color(1)
@pro="遲
緩"
when
64
self.contents.font.color
=
text_color(12)
@pro="魔
攻"
@magicatk=@md
when
128
self.contents.font.color
=
text_color(6)
@pro=skill.eva.to_s+"連擊"
@turnatk=skill.eva
when
256
self.contents.font.color
=
text_color(4)
@pro="領
域"
when
512
self.contents.font.color
=
text_color(9)
@pro="爆
擊"
@edam=1.2
when
1024
self.contents.font.color
=
text_color(10)
@pro="隱
形"
when
2048
self.contents.font.color
=
text_color(8)
@pro="無
敵"
when
4096
self.contents.font.color
=
text_color(9)
@pro="削
血"
when
8192
self.contents.font.color
=
text_color(7)
@pro="鏡
子"
if
skill.atk$game_actors[$game_variables[1]+1].str
skill.atk=($game_actors[$game_variables[1]+1].str).to_i
end#只有怪物基礎防御小于勇士攻擊后才使它的防御等于勇士攻擊-1
when
8
self.contents.font.color
=
text_color(4)
@pro="堅
固"
if
skill.pdef$game_actors[$game_variables[1]+1].str
skill.pdef=($game_actors[$game_variables[1]+1].str+1).to_i
end#只有怪物基礎防御小于勇士攻擊后才使它的防御等于勇士攻擊-1
end
普通、中毒、衰弱、吸血、先攻、遲緩、魔攻、連擊、領域、暴擊、隱形、無敵、削血、鏡子、堅固。這些文字都可以改,比如在顛峰魔塔中就改了部分文字,領域改成怪異者……這些如果改了,在怪物屬性中也會顯示的到!
下一段代碼:
self.contents.draw_text(120,
y,
a,
32,
"生命",
0)
self.contents.draw_text(230,
y,a,
32,
"攻擊",0)
self.contents.draw_text(340,
y,
a,
32,
"防御",0)
self.contents.draw_text(230,
y+32,
a,
32,
"經驗",
0)
self.contents.draw_text(120,
y+32,a,
32,
"金幣",
0)
self.contents.draw_text(340,
y+32,
a,
32,
"損失",
0)
這上面千萬不要以為是你的生命攻擊防御,而是怪物的,如果改一下會很好哦!在樣板0808中把金幣改成了魔塔幣,經驗改成經驗點,感覺不錯!
7.腳本:▲Window_Gold
這段腳本本來我不想說,因為做魔塔樣板的人都會把這個寫到里面,如果改了,魔塔樣板的作者不會高興的!就是按ESC后的左下角的東西,樣板0729中顯示Ver0729
,這些如果不征求樣板作者同意不要改,除非在魔塔中繪制了樣板資料。
#--------------------------------------------------------------------------
#
●
刷新
#--------------------------------------------------------------------------
def
refresh
self.contents.clear
self.contents.font.color
=
system_color
self.contents.draw_text(0,
0,
130,
32,
"Ver0816",
1)
end
end
這段代碼中“Ver0816”(0816是我最近要弄的樣板)是可以改的,在顛峰魔塔中就改成顛峰魔塔,如果字多了會發現字體小了,不好看!
8.腳本:Window_PlayTime
里面顯示的是游戲時間的腳本,腳本部分代碼如下:
#--------------------------------------------------------------------------
#
●
刷新
#--------------------------------------------------------------------------
def
refresh
self.contents.clear
self.contents.font.color
=
system_color
self.contents.draw_text(4,
0,
120,
32,
"游戲時間")
游戲時間是可以改的,最好是4個字的,要不字會小,可以改成追憶時間,回憶時間等
9.腳本:Window_Steps
顯示的是走過的步數,代碼如下:
#--------------------------------------------------------------------------
#
●
刷新
#--------------------------------------------------------------------------
def
refresh
self.contents.clear
self.contents.font.color
=
system_color
self.contents.draw_text(4,
0,
120,
32,
"步數")
步數是可以改的,我就不多說了。
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;
}
}
}
網站題目:魔塔java版代碼,魔塔java下載
網頁URL:http://vcdvsql.cn/article30/hegpso.html
成都網站建設公司_創新互聯,為您提供網站制作、小程序開發、關鍵詞優化、外貿建站、營銷型網站建設、搜索引擎優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯