当前位置:首页 > 代码 > 正文

魔塔源代码(魔塔java源代码)

admin 发布:2022-12-19 19:43 156


今天给各位分享魔塔源代码的知识,其中也会对魔塔java源代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

跪求任何可在VC/C++环境下运行的小游戏完整源代码文件...

已经发到了。忘记改邮件主题了,它默认了第一个文件名:6款小游戏。

挺多的,主要有以下小游戏的源代码

rpg游戏圣剑2(这个游戏做的很强大,不过要用到DirectX的Lib和include,我也给你发过去了,放到C++安装目录相应的文件夹下面就可以了。)

冒险rpg 魔塔

六款经典小游戏:推箱子 贪吃蛇 俄罗斯方块 扫雷 拼图 连连看

全部是完整源代码,希望对你有所帮助。

snowtea的qq邮箱就是我。

如何制作魔塔

这位同学这很难啊要认真看

制作魔塔的全部教程,纯属原创,如有雷同,纯属巧合

一.工具下载

首先下载RMXP1.02(rpg maker xp)和魔塔样板2215(),然后安装RMXP,解压魔塔样板2215.

双击魔塔样板中的

二.进入主界面,如图

青色区域为菜单栏,玫瑰色为地图属性区,黑色 区域是地图编辑区,地图编辑区左边是图块区,黄色高亮是工具栏,从左往右依次是新建工程、打开工程、保存工程、剪切、复制、粘贴、删除、撤销、图层1、 2、3、事件层、铅笔、矩形、圆形、填充、选择、1/1、1/2、1/4、数据库、媒体库、脚本编辑器、音乐测试、游戏测试。

这些都要熟悉,方便制作

三.地图相关

创建地图需要复制样板中的空白地图,然后改名字,1001是一层,1002是二层,以此类推

每个地图都由事件和图块组成(注意左边的图块)。

第一排的第2、3个是熔岩和冰,这些东西要画在三层;右边的草地画在1层,其它可以画在2层。

第二排右边3个是墙,要画在2层。

其它的图块基本没用,现在懒得说了。

点击事件层,会出现很多格子,每个格子可以编辑一个事件。下面介绍事件的设置。

四、事件指令

首先右击格子,新建事件。

打开如图界面

图中执行条件介绍一下,决定键就是走到事件前,按回车触发。与主角接触是接触到事件

触发,最好使用这种触发条件。与事件接触是移动事件接触到你触发,用不到,自动执行是进入地图触发,并行处理用不到。出现条件是事件有某种条件才在地图上显示,可以做机关。

左边的选项中移动时动画是该事件移动有动画,停止时动画指该事件有停止动作,固定朝向是事件之朝着一个方向,允许穿透是可以穿过事件,在最前面显示是事件在图块的前面显示。

角色图片双击可以修改,比如老头的图片。右边移动路线是事件自动沿着一定轨迹移动。

事件名一般默认,怪物需要格式为怪物***(数据库编号)

注意以下事件页,默认是从右往左执行的,机关之类的要用到很多。

最重要的是执行内容,双击一下,弹出

显示文章:显示一个对话框,可以输入NPC的话。F2可以预览效果,F1可以看一些代码。\m[名字]是显示NPC名字。

显示选择项是可以选择一些指令,左边可以编辑选择项文字,右边是取消项。点确定之后,还需要设置选择该项的场合。

数值输入处理基本用不到,最后阐述

更改文章选项:这个是文章的显示位置和窗口是否出现,可以制作片头。之后不要忘了改过来。

等待:这个是等待几秒在执行下面的内容,大约20帧为1秒

注释:这个做魔塔时对自己做的事件进行说明,只在制作是能看到。

条件分歧:这个比较有用,在某个条件满足时才执行,否则跳过执行下面的

循环:重复执行前面的指令

中断循环:不循环了

中断事件处理:不继续执行指令了

暂时消除事件:事件暂时消除,换地图后重新出现

公共事件:执行数据库中设置完的事件

标签:设置一个标签

标签跳转:重复执行设置完的标签之后的内容。

开关操作:将某开关打开或关闭,制作机关有用到。

变量:开关的进化,代入是直接修改该变量的数,加法是加上一个数,其它类似。

下面的增加数可以是指定的数,可以是角色身上的数据,也可以是随机数。

独立开关:制作消失事件用到,只针对本事件的开关

计时器:制作倒计时,比如魔塔倒之类的。

下面几个增减的是直接增减你身上的物品,也可以是一个变量的数值

替换队员:队员加入或退出,初始化是该队员能力恢复数据库初始状态

更改窗口外观:更改菜单的图像

下面几个用不到

禁止存档:不能存档

禁止菜单:不能打开菜单

2页的

场所移动:移动到另一个场景或这个地图的某个地方,基本用不到。

设置事件位置:这个事件瞬间移动到其他地方

下面的用不到……

显示图片:显示一张图片,比如头像

消失图片:这张图片消失

移动图片:图片移动到某个地方,比如异界魂的握手就是这样的

旋转:图片旋转

天气:可以设置下雪下雨……

下面几个是播放音乐的

3页

商店处理:买卖东西,价格可以在数据库设置

名称输入处理:输入角色姓名

下面几个是增减能力的

更改角色图形:更改角色的行走图

呼叫菜单:呼出ESC菜单

呼出存档:呼出存档界面,存档石之类的用到

游戏结束:game over 显示结束图片,演奏音乐,你挂了

返回标题:魔塔中的勇士都是这样挂的

脚本:新手别乱碰……

事件创建规格:怪物是这样,2层独立开关

这是NPC,记住哦,2层独立开关

101、102、103这几个变量是关于对话框加强的,可以改一下

五、数据库

打开数据库,会弹出

先介绍角色选项卡,左边是角色创建和名字。右边的职业最好别变,角色脸谱就是行走图,可以在魔塔吧找下素材。其他的不要动

职业:只需要在中间设置可装备武器即可

特技:没用的东西

物品:也不要动,如果是收集东西的魔塔话,可以新建几个不能使用的物品。

武器:可以增加多点,攻击力就是装备完之后增加的,价格是商店处理的价格,物理防御是防御力。设置完之后记得在职业中添加。

防具:同上,不过有鞋子衣服之类的,可以设置防具种类

敌人:就是怪物,很重要!战斗图没什么说的,只有攻击力、物理防御、EXP、金钱需要设置一下。怪物名称后面可以加属性,具体属性为:

数值 属性 说明

0 普通

1 中毒 战斗后,角色每行动一格,减生命10点(变量25决定)

2 衰弱 战斗后,角色攻防衰减为正常的75%(变量52决定)

4 吸血 战斗前,怪物首先吸取角色34%的生命加到自身(变量53决定)

8 坚固 怪物的防御至少等于角色攻击-1(变量54决定)

16 先攻 战斗时,怪物首先攻击1次(变量55决定)

32 迟缓 战斗后,勇士行走速度降低到3.3(变量56决定,正常4.3)

64 魔攻 战斗时,怪物的攻击无视角色的防御*1(变量57决定)

128 连击 战斗时,怪物每回合攻击2次(数据库敌人回避修正决定)

256 领域 经过怪物周围Y格时自动减生命X点(X由数据库敌人maxsp决定,Y由数据库敌人魔法防御决定,0为十字领域范围)

512 破甲 战斗前,怪物附加角色防御的X点作为伤害(X等于角色防御的90%,变量58决定百分比)

1024 潜伏 角色看不到怪物,除非拥有物品40-探知器并距离怪物x格(变量79决定物品id,变量84决定x的大小)

2048 无敌 角色无法击败怪物,除非拥有物品10-圣十字架(变量71决定)

4096 模仿 怪物的攻防等于角色的攻防*1(变量60决定)

8192 诅咒 战斗后,角色再次战斗无法获得金币经验,本次可以获得

9900 反击 战斗时,怪物附加角色攻击的10%作为伤害,无视角色防御(变量70决定)

9910 重生 怪物被击败后,角色转换楼层则怪物再次出现

9920 净化 战斗前,怪物附加勇士魔防的3倍作为伤害(变量104决定)

9930 神偷 战斗前,勇士所持的4种血瓶数量减半,同时夺走勇士20%的金钱(变量112决定百分比),战斗后不返还

9940 自爆 战斗后,勇士生命降为1

9950 退化 战斗后,勇士攻、防减x点、y点(变量107决定x,变量108决定y )

9960 仇恨 战斗前,怪物附加之前积累的仇恨值作为伤害(仇恨值无视角色防御和魔防),战斗后,释放一半的仇恨值(每杀任一怪物增加x点仇恨,变量110决定x)

9970 伪装 此怪物在怪物手册中除了伤害可见,其余都无法显示

9990 遗忘 战斗前,勇士丢失80%的经验(变量113决定百分比)

这个需要在怪物名称后输入“:数字”,可以有多重属性,魔塔样板附带的更新记录有

队伍:没用的东西

状态:同上

动画:主要是攻击动画,一般默认就OK.

图块:可以对组成地图的图块做一些设置,一般不要动。

公共事件:这个就是在输入事件指令中用到的,可以在这里设置完,然后调用。

系统:这个需要重点设置。

初期同伴:最多两个人,想多点用作家的样板去。

窗口外观:放在游戏的Graphics\Windowskins下,就是菜单和对话框的界面,66rpg很多,规格为192*128

标题画面:刚进入时的画面,放在Graphics\titles下,规格640*480

游戏结束:你挂了的图形,graphics\gameover下,规格同上

战斗渐变:……没用

标题BGM,标题背景音乐,放在audio\bgm下

下面几个战斗的没用

游戏结束ME:你挂的的音乐,放在AUDIO\ME下

后面的战斗开始之前SE自己设置,之后的不用了,没用。

右边的用语自己设置。

以上为转载

用vc或c++编写的一个小游戏代码,要有源代码,

#includegraphics.h

#includestdlib.h

#includedos.h

#define LEFT 0x4b00

#define RIGHT 0x4d00

#define DOWN 0x5000

#define UP 0x4800

#define ESC 0x011b

int i,key;

int score=0;

int gamespeed=32000;

struct Food /*食物的结构体*/

{

int x; /*食物的横坐标*/

int y; /*食物的纵坐标*/

int yes; /*食物是否出现的变量*/

}food;

struct Snack /*蛇的结构体*/

{

int x[N];

int y[N];

int node; /*蛇的节数*/

int direction; /*蛇的方向*/

int life; /*蛇的生命,0活着,1死亡*/

}snake;

void Init(void); /*图形驱动*/

void Close(void); /*关闭游戏函数*/

void DrawK(void); /*画图函数*/

void GameOver(void);/*输出失败函数*/

void GamePlay(); /*游戏控制函数 主要程序*/

void PrScore(void); /*分数输出函数*/

DELAY(char ch)/*调节游戏速度*/

{

if(ch=='3')

{

delay(gamespeed); /*delay是延迟函数*/

delay(gamespeed);

}

else if(ch=='2')

{

delay(gamespeed);

}

}

Menu()/*游戏开始菜单*/

{

char ch;

printf("Please choose the gamespeed:\n");

printf("1-Fast 2-Normal 3-Slow\n");

printf("\nPlease Press The numbers..\n");

do

{ch=getch();}

while(ch!='1'ch!='2'ch!='3');

clrscr();

return(ch);

}

/*主函数*/

void main(void)

{

int ch;

ch=Menu();

Init();

DrawK();

GamePlay(ch);

Close();

}

void Init(void)

{

int gd=DETECT,gm;

initgraph(gd,gm,"c:\\tc");

cleardevice();

}

void DrawK(void)

{

setcolor(11);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

for(i=50;i=600;i+=10)

{

rectangle(i,40,i+10,49); /*画出上边框*/

rectangle(i,451,i+10,460); /*画出下边框*/

}

for(i=40;i=450;i+=10)

{

rectangle(50,i,59,i+10); /*画出左边框*/

rectangle(601,i,610,i+10); /*画出右边框*/

}

}

void GamePlay(char ch)

{

randomize(); /*随机数发生器*/

food.yes=1; /*1代表要出现食物,0表示以存在食物*/

snake.life=0;

snake.direction=1;

snake.x[0]=100;snake.y[0]=100;

snake.x[1]=110;snake.y[1]=100;

snake.node=2;

PrScore();

while(1) /*可以重复游戏*/

{

while(!kbhit()) /*在没有按键的情况下蛇自己移动*/

{

if(food.yes==1) /*需要食物*/

{

food.x=rand()%400+60;

food.y=rand()%350+60; /*使用rand函数随机产生食物坐标*/

while(food.x%10!=0)

food.x++;

while(food.y%10!=0)

food.y++; /*判断食物是否出现在整格里*/

food.yes=0; /*现在有食物了*/

}

if(food.yes==0) /*有食物了就要显示出来*/

{

setcolor(GREEN);

rectangle(food.x,food.y,food.x+10,food.y-10);

}

for(i=snake.node-1;i0;i--) /*贪吃蛇的移动算法*/

{

snake.x[i]=snake.x[i-1];

snake.y[i]=snake.y[i-1]; /*贪吃蛇的身体移动算法*/

}

switch(snake.direction) /*贪吃蛇的头部移动算法,以此来控制移动*/

{

case 1:snake.x[0]+=10;break;

case 2:snake.x[0]-=10;break;

case 3:snake.y[0]-=10;break;

case 4:snake.y[0]+=10;break;

}

for(i=3;isnake.node;i++) /*判断是否头部与身体相撞*/

{

if(snake.x[i]==snake.x[0]snake.y[i]==snake.y[0])

{

GameOver();

snake.life=1;

break;

}

}

/*下面是判断是否撞到墙壁*/

if(snake.x[0]55||snake.x[0]595||snake.y[0]55||snake.y[0]455)

{

GameOver();

snake.life=1;

}

if(snake.life==1) /*如果死亡就退出循环*/

break;

if(snake.x[0]==food.xsnake.y[0]==food.y) /*判断蛇是否吃到食物*/

{

setcolor(0);

rectangle(food.x,food.y,food.x+10,food.y-10); /*吃的食物后用黑色将食物擦去*/

snake.x[snake.node]=-20;snake.y[snake.node]=-20; /*现把增加的一节放到看不到的地方去*/

snake.node++;

food.yes=1;

score+=10;

PrScore();

}

setcolor(4); /*每次移动后将后面的身体擦去*/

for(i=0;isnake.node;i++)

rectangle(snake.x[i],snake.y[i],snake.x[i]+10,snake.y[i]-10);

delay(gamespeed);

DELAY(ch);

setcolor(0);

rectangle(snake.x[snake.node-1],snake.y[snake.node-1],snake.x[snake.node-1]+10,snake.y[snake.node-1]-10);

}

if(snake.life==1)

break;

key=bioskey(0); /*接受按键*/

if(key==ESC)

break;

else

if(key==UPsnake.direction!=4)/*判断是否改变方向*/

snake.direction=3;

else

if(key==RIGHTsnake.direction!=2)

snake.direction=1;

else

if(key==LEFTsnake.direction!=1)

snake.direction=2;

else

if(key==DOWNsnake.direction!=3)

snake.direction=4;

}

}

void GameOver(void)

{

cleardevice();

setcolor(RED);

settextstyle(0,0,4);

outtextxy(200,200,"GAME OVER");

getch();

}

void PrScore(void)

{

char str[10];

setfillstyle(SOLID_FILL,YELLOW);

bar(50,15,220,35);

setcolor(6);

settextstyle(0,0,2);

sprintf(str,"scord:%d",score);

outtextxy(55,20,str);

}

void Close(void)

{

getch();

closegraph();

}

贪吃蛇

@@会魔塔制作的高手请进,答对追加50分@@

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,

"步数")

步数是可以改的,我就不多说了。

怎么用RPG Maker XP制作魔塔?

脚本制作方法:首先建立一个工程,把它作为学习脚本入门用的新工程。

脚本是有关游戏实际运行的数据,照原样改动制作完成的工程,一个小小的错误也将引起游戏不能正常运行。因此,推荐使用新建的工程进行学习。

另外,RGPXP 脚本数据是保存在 Data 文件夹内的 Scripts.rxdata 文件中,如果对此文件(或游戏全部数据)已经备份的话,也可以使用既存的工程。

建立工程后,在主菜单「工具」菜单中选择「脚本编辑器」。

显示脚本编辑器对话框后,在最上面新建一个组。点击右键于弹出菜单中选择「插入」,就建立了一个新的空白组。

组的名称是什么无所谓,可以取个容易理解的,我们这里暂命名为“TEST”。名称的输入在窗口左下方的「名称」里进行。

首先,请输入下面的代码。

exit

注意,在 Ruby 中是区分字母大小写的,所以不能输入 EXIT 或 Exit。当然全角文字也不行。请全部以半角的小写字母输入。输入完毕按「确定」键关闭脚本编辑器,运行(游戏测试)看看吧。

运行游戏测试,窗口应该显示一瞬间后立即关闭。总之,在这里写的 exit 是结束程序的命令。

在最上面的 TEST 组中写入 exit,因此程序就此结束。而在后面众多组中编写的脚本都没有执行。以后示例程序都会省略 exit,在实际测试时请在最后一行加入 exit。如果没有加入 exit 而运行测试,就会显示出游戏的标题画面。

Ruby 中,# 符号后面的一整行文字会认定为注释。

# 后的注释代码不会执行,不会影响到程序的运作,只作为编写者标记的备忘记录来使用。

exit # 结束程序

这和事件指令的「注释」功能相同,是记录程序处理内容的简单说明,使用注释会很容易知道这段脚本是做什么的。即使是自己编写的程序,但时间一长,该段内容是指定做什么处理也会忘记。在脚本的学习和实际操作时,推荐注意多使用注释功能。

还有,作为程序的说明,在后面的学习中脚本会写有很多的注释。但实际操作中没有必要完全仿效其注释的内容。# 以后的文字,可以按实际中最容易理解的说明注释。

程序语言在结构上大致分为语法和库两种。

所谓语法,就是使用语言记录某些处理时的规则。与中文和英文等自然语言一样,程序语言也有语法。例如条件分歧的语法、循环的语法等等。「# 符号后面的一整行文字认定为注释」这也是语法之一。语言的说法,狭义上指的就是语法。

所谓库,就是字符串的处理和图片的显示等带有应用功能的语言集。与中文英文等自然语言中的单词和词组的意思相似。学习了英文的语法在使用英文时,增加词汇量(掌握库的使用方法)则是非常必要的。

这个「脚本入门」基础篇是以学习语法为重点。最开始学习时或许会产生「学习语法,到底有什么用」的厌烦感,应用逻辑思维来理解基本语法就能突破最初的屏障,仔细阅读参考程序记住实际的使用方法,其实并不是多么困难的事情。

那么现在就开始吧!

Ruby 中能使用的数字,包括整数和浮点数两种。

3 # 整数

52 # 整数

-99 # 整数

1.5 # 浮点数

3.0 # 浮点数

所谓浮点数,就是使用小数点以下计算的数。数值相同的话写作 3 是整数,而写作 3.0 即是浮点数。整数计算速度快,如果不需要小数点以下的话尽量使用整数。

详情到:

魔塔源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于魔塔java源代码、魔塔源代码的信息别忘了在本站进行查找喔。

标签:

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/21174.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载