學(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ā)人員提供了一個標準的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é)果。
1.腳本:▲Scene_Title
這里面的紫色字體也就是我們可以改的地方。有幾行是:
#
生成命令窗口
s1
=
"新游戲"
s2
=
"繼續(xù)"
s3
=
"退出"
S1后面引號是開始游戲選擇的時候出現(xiàn)的文字,可以改一下,S2、S3以此類推。
確定后按F12游戲測試
2.腳本:▲Scene_Menu
里面有如下幾行:
#
生成命令窗口
#
s1
=
$data_system.words.item
#
s2
=
$data_system.words.skill
#
s3
=
$data_system.words.equip
#
s4
=
"狀態(tài)"
s1
=
"敵物資料"
s2
=
"使用物品"
s3
=
"存檔"
s4
=
"讀檔"
s5
=
"重新開始"
s6
=
"結(jié)束游戲"
前面不帶#的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
這個腳本應(yīng)該是最有用的,顯示了玩游戲的時候左面的攻擊防御等一系列東西!腳本也要復(fù)制很長,所以我分開來講:
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后面小括號里顯示的數(shù)字了,每一個數(shù)字代表的顏色都不同,一共有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,
"經(jīng)驗",
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以前的數(shù)字,“紅鑰匙”這三個字就會往上挪。不改變是正常的,要不就會里出外進了。如果要想等級一個顏色,生命一個顏色等,就要加腳本了,先給你們看加了顏色的代碼,再給你們講:
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,
"經(jīng)驗",
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代表顏色代碼)
就讓每個字活靈活現(xiàn)了~~如果沒改,將跟第XX層顯示的顏色一樣!
再繼續(xù)說:下一段代碼:
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
回復(fù)此發(fā)言
--------------------------------------------------------------------------------
3
【分析】魔塔樣板腳本分析(絕對原創(chuàng),申精)
@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="領(lǐng)
域"
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#只有怪物基礎(chǔ)防御小于勇士攻擊后才使它的防御等于勇士攻擊-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#只有怪物基礎(chǔ)防御小于勇士攻擊后才使它的防御等于勇士攻擊-1
end
普通、中毒、衰弱、吸血、先攻、遲緩、魔攻、連擊、領(lǐng)域、暴擊、隱形、無敵、削血、鏡子、堅固。這些文字都可以改,比如在顛峰魔塔中就改了部分文字,領(lǐng)域改成怪異者……這些如果改了,在怪物屬性中也會顯示的到!
下一段代碼:
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,
"經(jīng)驗",
0)
self.contents.draw_text(120,
y+32,a,
32,
"金幣",
0)
self.contents.draw_text(340,
y+32,
a,
32,
"損失",
0)
這上面千萬不要以為是你的生命攻擊防御,而是怪物的,如果改一下會很好哦!在樣板0808中把金幣改成了魔塔幣,經(jīng)驗改成經(jīng)驗點,感覺不錯!
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是我最近要弄的樣板)是可以改的,在顛峰魔塔中就改成顛峰魔塔,如果字多了會發(fā)現(xiàn)字體小了,不好看!
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
顯示的是走過的步數(shù),代碼如下:
#--------------------------------------------------------------------------
#
●
刷新
#--------------------------------------------------------------------------
def
refresh
self.contents.clear
self.contents.font.color
=
system_color
self.contents.draw_text(4,
0,
120,
32,
"步數(shù)")
步數(shù)是可以改的,我就不多說了。
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ā)動的標識
boolean?defenseFlag?=?false;??//防御技能發(fā)動的標識
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;?????//標記主動技能已經(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;?//重置標記,下次重用
}
public?int?defense(Person?p)?{
if?(rand.nextInt(10)??chanceDefense)?{
defenseFlag?=?true;???//標記防御技能已經(jīng)發(fā)動
return?0;
}?else?{
return?p.fight;
}
}
}
網(wǎng)站題目:魔塔java版代碼,魔塔java下載
網(wǎng)頁URL:http://m.kartarina.com/article30/hegpso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、小程序開發(fā)、關(guān)鍵詞優(yōu)化、外貿(mào)建站、營銷型網(wǎng)站建設(shè)、搜索引擎優(yōu)化
聲明:本網(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)