欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> 多媒体动画 >> Flash教程 >> Flash游戏实例教程 >> 教程正文

  没有公告

教程: Flash教程-Flash游戏实例教程-《历史飞行棋》游戏设计 更多...
教程: Flash教程-Flash游戏实例教程-《历史飞行棋》游戏设计


游戏界面:

游戏规则:
1、玩家通过掷筛子掷出的点数大小来控制主角在地图中前进的步数,当玩家到达终点则游戏结束。
2、你将与两家聪明的电脑玩家同场竞技。(ai设定)
3、玩家点击右下角两个筛子掷筛,停止后可选择任意一个筛子的大小值作为角色前进的步数。
4、电脑和玩家轮流掷筛,轮到任意一方时将会有闪烁提示。并能够体现电脑的操作过程。
5、地图内设各种事件格,如:前进,后退,暂停等,将对棋子前进造成2次变化。(不会存在2次以上的变化)
6、如果两个棋子走到同1格停止,则后来的将会把原来的弹回出发点。
7、地图中设定练习格,当玩家的棋子走到该格子时将要完成练习题方能继续,该格的练习同时也消失,做对给10分,错误扣10分。(玩家的基础分为100分,同一次格内的练习只能做1次)
游戏分数:
玩家试题得分=(100 正确试题个数*10-错误试题个数*10)
玩家时间得分=int(100/到达终点分钟数)
最终分数=(玩家试题得分 玩家时间得分)*名次系数
第1名名次系数:1.5
第2名名次系数:1.2
第3名名次系数:1.0
游戏开发模块:
1、角色与筛子控制模块程序
2、电脑AI模块
3、地图生成模块
4、试题练习模块
5、评价模块
游戏主要代码:
这里我固定了c1表示玩家,c2,c3表示电脑
1.建立地图格子,为避免出现死循环,按照一定的顺序和规则进行.
function createmap() {
//初始化格子信息
for (var i = 1; i<=titleMaxnum; i ) {
eval("t" i).types = 1;
}
//生成前进和后退格,从第4格开始,每隔4格随机产生一个
for (var i = 4; i<=titleMaxnum; i = 4) {
var trnd = int(Math.random()*5) 1;
eval("t" i).gotoAndStop(trnd);
eval("t" i).types = trnd;
}
//生成暂停格
trace(getEmptyTitle().length);
var pausenum = 8;
var t_array = getEmptyTitle();
var pause_d = int(t_array.length/pausenum);
for (var i = pause_d-1; i<=t_array.length-1; i = pause_d) {
t_array[i].gotoAndStop(6);
t_array[i].types = 6;
}
//生成返回起点格
trace(getEmptyTitle().length);
var backnum = 3;
var t_array = getEmptyTitle();
var pause_d = int(t_array.length/backnum);
for (var i = pause_d-1; i<=t_array.length-1; i = pause_d) {
t_array[i].gotoAndStop(8);
t_array[i].types = 8;
}
//生成时空隧道格
trace(getEmptyTitle().length);
var spacenum = 6;
var t_array = getEmptyTitle();
var pause_d = int(t_array.length/spacenum);
for (var i = pause_d-1; i<=t_array.length-1; i = pause_d) {
t_array[i].gotoAndStop(7);
t_array[i].types = 7;
}
//生成练习格
var testnum = 10;
var t_array = getEmptyTitle();
var pause_d = int(t_array.length/testnum);
for (var i = pause_d-1; i<=t_array.length-1; i = pause_d) {
t_array[i].gotoAndStop(9);
t_array[i].types = 9;
}
}
2.获取空格信息,并返回数组
function getEmptyTitle() {
var t_array = [];
for (var i = 1; i<=titleMaxnum; i ) {
if (eval("t" i).types == 1) {
t_array.push(eval("t" i));
}
}
return t_array;
}3.控制筛子,随机扔,b1和b2为两个mc,里面共6帧
function throwPoint() {
trace("事件:玩家" curplayer "出筛子");
curflag = false;
b1.play();
b2.play();
throwid = setInterval(function () {
var b1_num = int(Math.random()*6) 1;
var b2_num = int(Math.random()*6) 1;
b1.gotoAndStop(b1_num);
b2.gotoAndStop(b2_num);
b1.values = b1_num;
b2.values = b2_num;
trace("第1个筛子的大小为:" b1.values);
trace("第2个筛子的大小为:" b2.values);
//throw_btn._visible = 1;
curflag = true;
//电脑执行移动
if (curplayer<>1) {
comai();
}
clearInterval(throwid);
}, 2000);
}4.玩家轮流制控制
function nextplayer() {
if (c1.overflag) {
trace("游戏结束");
return;
}
//下一个玩家执行
if (curplayer == 3) {
curplayer = 1;
if (!this["c" curplayer].overflag) {
if (!this["c" curplayer].stopflag) {
flashcast(this["c" curplayer], true);
throw_btn._visible = 1;
} else {
this["c" curplayer].stopflag = false;
nextplayer();
}
} else {
nextplayer();
}
} else {
curplayer ;
if (!this["c" curplayer].overflag) {
if (!this["c" curplayer].stopflag) {
flashcast(this["c" curplayer], true);
throwPoint();
} else {
this["c" curplayer].stopflag = false;
nextplayer();
}
} else {
nextplayer();
}
}
} Flash

[1] [2] [3] 下一页

教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     

    3DsMAX实例制作:三维玻璃灯泡

    3dmax在线教程--蝴蝶

    3ds max时尚水晶鞋

    精彩Flash制作风吹草动效果动画

    教程: 3DS Max-设计实例-三维虚拟…

    3dmax7.0教程--火焰特效

    绘画技巧:Flash绘制人头造型

    3ds max 室内设计---室内效果图
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网