本文讲述的是剑flaging代码js小
游戏的例子,是一个非常优秀的游戏源码,
分享给你供你
参考。以下是如下:
一、游戏
介绍:
这是一个翻牌配对游戏,一共十个。
1。从42张牌中随机选出9场比赛。每组有2张同一张牌,共有18张牌。
2。当9组都转过去时,
连续两次转身相同,如果你不翻到相同的两段,你需要再把它退回。
三.共有10场比赛,在规定的时间内通过挑战取得成功。
4。如果海关没有在规定的时间内过关,比赛将从目前的海关继续进行。
5的卡片
图片和
音乐。游戏
都是大宇
公司。
6。需要
支持HTML5的
浏览器,Chrome和Firefox是最好的。
游戏画面:
完整的实例代码在这里
下载。
二,部分Javascript:
***剑游戏
*
日期:2013-02-24
*作者:fdipzone
* Ver 1
* /
在window.onload =
函数(){
无功gameimg = {
图片,
图像/成功PNG,
图像/失败PNG,
图像,
图像/ cardbg .webp,
图像/剑PNG
};
对于(var i = 1;i < = card.get_total();i++){
Gameimg.push('images /卡+我+.webp);
}
var回调函数(){()
Card.init();
}
img_preload(gameimg,回调);
}
卡片类
VaR卡=(
功能(总,cardnum){
VAR时间= { 0,65,60,55,50,45,40,35,30,25,20 }; / /每次
无功turntime = 8; / /手表的时间
var级别= 1;当前级别
无功carddata = {}; / /记录卡数据
VaR数据= {}; / /当前水平的数据卡
无功is_lock = 0; / /锁定
无功is_over = 0; / /结束的游戏
var第一= 1; /第一张打开的卡
无功matchnum = 0; / /配对成功数
初始化
函数(){
提示('show);
$('startgame)。Onclick =函数(){()
提示('hide);
开始();
}
}
开始游戏
开始=函数(){
重置();
创建(cardnum);
显示();
无功curtime = turntime;
sethtml('livetime ',curtime);
VaR等= setInterval()函数(){
如果(curtime = = 0){
ClearInterval(ET);
Turnall();
set_event();
消息(开始、过程);
返回;
}
如果(curtime = = turntime){
Turnall();
}
curtime --;
sethtml('livetime ',curtime);
},1000)
}
随机卡
创建函数(n){
carddata = { };
数据= { };
创建所有卡片
对于(var i = 1;i =总数;i + +){
Carddata.push(我);
}
品牌/提取
对于(var i = 0;i <;n;i + +){
无功curcard = carddata.splice(Math.random()* carddata.length Pop(),1);
Leveldata.push({ 'cardno:curcard,'turn:0 },{ 'cardno:curcard,'turn:0 });
}
生成随机序列游戏卡
数据=洗牌(数据);
}
生成卡
显示函数(){
无功cardhtml =;
对于(var i = 0;i < leveldata.length;i++){
cardhtml + =;
cardhtml + =;
cardhtml + =;
cardhtml + =;
cardhtml + =;
cardhtml + =;
}
sethtml('gameplane ',cardhtml);
}
所有翻转
turnall =函数(){
对于(var i = 0;i < leveldata.length;i++){
turn_animate(我);
}
}
翻转
动画 turn_animate =功能(关键){
var obj = $ _tag('div ','card +键);
无功cardfont,cardback;
如果(getClass(obj { 0 })IndexOf(out)!= 1){
cardfont = obj { 0 };
cardback = obj { 1 };
其他{ }
cardfont = obj { 1 };
cardback = obj { 0 };
}
SetClass(cardback,'list翻转的);
VaR等= setTimeout()函数(){
SetClass(cardfont,'list翻转的);
},225);
}
设置/单击事件
set_event =函数(){
var o = $ _tag('div ','gameplane);
对于(var i = 0,数= o.length;我<计数;i++){
如果(getClass(O {我})= = 'card视口翻转){
O {我}。onclick =函数(){
转(这个id);
}
}
}
}
开始时间
进程=函数(){
is_lock = 0;
无功curtime =时间{级};
sethtml('livetime ',curtime);
VaR等= setInterval()函数(){
如果(matchnum = = cardnum){
ClearInterval(ET);
返回;
}
curtime --;
sethtml('livetime ',curtime);
如果(curtime = = 0){
ClearInterval(ET);
is_over = 1;
消息('fail开始);
}
},1000);
}
游戏动画
消息=函数(
类型,回调){
is_lock = 1;
VaR(消息的消息=美元);
var
处理= 0;
var不透明度= 0;
无功soundtime = { {
开始:1500,
成功:4000,
失败:6000,
清晰:4000
};
DISP(消息,'show);
SetClass(消息,'message_ +型);
setopacity(信息不透明);
位置(消息,右,0);
位置(消息,' ',390);
如果(类型= =开始'){
BgSound(类型,真的);
其他{ }
BgSound(型);
}
VaR等= setInterval()函数(){
无功message_left = getposition(消息,右);
处理=处理+ 25;
如果(处理> = 500处理过< = 750){
不透明=不透明度+ 10;
位置(消息,右,message_left + 30);
setopacity(信息不透明);
} else if(加工> = soundtime {类型}处理<= soundtime {类型} + 250){
不透明度:opacity-10;
位置(消息,右,message_left + 35);
setopacity(信息不透明);
} else if(加工> soundtime {类型} + 250){
DISP(消息,'hide);
ClearInterval(ET);
如果(typeof(回调)!= 'undefined){
回调();
}
}
},25);
}
触发器
=函数(id){
如果(is_lock = = 1){
返回;
}
var关键字= parseInt(id.replace('card ','));
如果(数据关键} { } { 'turn= = 0){ / /不开
如果(第一个= 1){第一个回合
turn_animate(关键);
第一=键;
{ } {关键数据'turn} = 1;
}其他时间
turn_animate(关键);
{ } {关键数据'turn} = 1;
check_turn(关键);
}
}
}
检查/
关闭成功
check_turn =功能(关键){
is_lock = 1;
如果({ } {数据第一'cardno} = = { } {关键数据'cardno ' }){ / /配对
matchnum + +;
如果(matchnum = = cardnum){
VaR等= setTimeout()函数(){
消息(''成功',LevelUp);
},225);
}
第一= 1;
is_lock = 0;
}否则{ / /配对失败,将打开卡片翻转
VaR等= setTimeout()函数(){
turn_animate(第一);
{一} {数据'turn} = 0;
turn_animate(关键);
{ } {关键数据'turn} = 0;
第一= 1;
如果(is_over = = 0){
is_lock = 0;
}
},300);
}
}
清除
LevelUp =函数(){
如果(低于Gametime. length-1){
水平+;
sethtml('level水平);
开始();
其他{ }
清除();
}
}
所有海关清关
清除函数(){
级别= 1;
DISP('levelplane ','hide);
DISP(过程,'hide);
sethtml('gameplane ',');
消息('清',init);
}
音乐
BGSOUND =功能(
文件、环){
var id = 'audioplayer;
如果(typeof(文件)!= 'undefined){
如果(typeof(环)= = 'undefined){
循环=假;
}
VaR audiofile = { };
{ } = 'mp3 audiofile的马/ + +的MP3文件;
{ } = 'ogg audiofile的马/+文件+.ogg;
AudioPlayer(ID,audiofile,循环);
其他{ }
AudioPlayer(ID);
}
}
游戏性
提示=函数(类型){
DISP('tips型);
}
获取卡号
get_total =函数(){
总收益;
}
重新设置
参数 重置=函数(){
DISP('levelplane ','show);
sethtml('level水平);
DISP(过程,'show);
sethtml('livetime ',');
sethtml('gameplane ',');
is_lock = 1;
is_over = 0;
第一= 1;
matchnum = 0;
}
返回此;
})(42,9);
相信本文对javascript游戏设计的研究具有一定的参考价值。