`
touchinsert
  • 浏览: 1372239 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

用JQUERY写个小小游戏

阅读更多

 

效果图:


玩法:


插件代码:
JScript code
$.fn.game = function (options) { var parms = { block: " block " , atler: " #E3E3E3 " , width: 40 , height: 40 , row: 0 , cell: 0 , time: 60 }; if (options) { $.extend(parms, options); }; var _this = $( this ); var _score = 0 ; var _scoreFrame = 0 ; var _timeFrame; var _timeContent; var _timeUse = parms.time; var _time; var _table; var _tr; var _td; var _random; var color = [ { index: 1 , rgb: " #006600 " }, { index: 2 , rgb: " #006666 " }, { index: 3 , rgb: " #990000 " }, { index: 4 , rgb: " #663399 " }, { index: 5 , rgb: " #FF6600 " }, { index: 6 , rgb: " #000 " } ]; var initStatus = function () { _scoreFrame = $( " <div/> " ).css( " margin-bottom " , " 10px " ).css( " color " , " #FF0000 " ).css( " font-family " , " 微软雅黑 " ).html( " 分数: " + _score).appendTo(_this); _timeFrame = $( " <div/> " ).css( " width " , " 500 " ).css( " height " , " 20 " ).css( " padding " , " 1px " ).css( " margin-bottom " , " 10px " ).css( " border " , " 1px #ccc solid " ).appendTo(_this); _timeContent = $( " <div/> " ).css( " width " , " 100% " ).css( " height " , " 20 " ).css( " background " , " #009900 " ).appendTo(_timeFrame); _time = setInterval(changeTime, 1000 ); } var changeTime = function () { if (_timeUse > 0 ) { _timeUse -- ; _timeContent.css( " width " ,(_timeUse / parms.time)*100+"%"); } else { alert( " Sorry,时间到了! " ); clearInterval(_time); } } var initBlock = function () { _table = $( " <table/> " ).attr( " id " ,parms.block).attr( " cellPadding " , " 0 " ).attr( " cellSpacing " , " 0 " ).css( " border " , " 1px #ccc solid " ).appendTo(_this); for ( var i = 0 ; i < parms.row; i ++ ) { _tr = $( " <tr/> " ).appendTo(_table); for ( var j = 0 ; j < parms.cell; j ++ ) { _td = $( " <td/> " ).attr( " id " ,i + " - " + j).css( " width " ,parms.width).css( " height " ,parms.height).appendTo(_tr); _td.click( function (){ clickFunc( this .id); }); if ((parseInt(i) + parseInt(j)) % 2 == 0 ) { _td.css( " background " ,parms.atler); } if (random( 20 ) < 10 ) { _random = random(color.length); _td.attr( " id " ,i + " - " + j + " - " + color[_random - 1 ].index); _td.css( " background " ,color[_random - 1 ].rgb); _td.unbind( " click " ); } } } } var selectRowCell = function (row,cell) { return $( " #block tr:eq( " + row + " ) td:eq( " + cell + " ) " ); } var clickFunc = function (id) { if ( typeof id != " string " ) return ; var _arr = id.split( ' - ' ); var _current,_left,_right,_top,_bottom; var _left_id,_right_id,_top_id,_bottom_id; for ( var i = _arr[ 1 ] - 1 ; i >= 0 ; i -- ) { _current = selectRowCell(_arr[ 0 ],i); if (_current.attr( " id " ).split( ' - ' ).length > 2 ) { _left = _current; _left_id = _current.attr( " id " ).split( ' - ' )[ 2 ]; break ; } } for ( var i = parseInt(_arr[ 1 ]) + 1 ; i < parms.cell; i ++ ) { _current = selectRowCell(_arr[ 0 ],i); if (_current.attr( " id " ).split( ' - ' ).length > 2 ) { _right = _current; _right_id = _current.attr( " id " ).split( ' - ' )[ 2 ]; break ; } } for ( var i = _arr[ 0 ] - 1 ; i >= 0 ; i -- ) { _current = selectRowCell(i,_arr[ 1 ]); if (_current.attr( " id " ).split( ' - ' ).length > 2 ) { _top = _current; _top_id = _current.attr( " id " ).split( ' - ' )[ 2 ]; break ; } } for ( var i = parseInt(_arr[ 0 ]) + 1 ; i < parms.row; i ++ ) { _current = selectRowCell(i,_arr[ 1 ]); if (_current.attr( " id " ).split( ' - ' ).length > 2 ) { _bottom = _current; _bottom_id = _current.attr( " id " ).split( ' - ' )[ 2 ]; break ; } } if (_left_id == _top_id && _left_id == _right_id && _left_id == _bottom_id) { action(_left); action(_right); action(_top); action(_bottom); _score = _score + 4 ; setScore(); return ; } else if (_left_id == _top_id && _left_id == _right_id) { action(_left); action(_top); action(_right); _score = _score + 3 ; setScore(); return ; } else if (_left_id == _top_id && _left_id == _bottom_id) { action(_left); action(_top); action(_bottom); _score = _score + 3 ; setScore(); return ; } else if (_left_id == _right_id && _left_id == _bottom_id) { action(_left); action(_right); action(_bottom); _score = _score + 3 ; setScore(); return ; } else if (_right_id == _top_id && _right_id == _bottom_id) { action(_right); action(_top); action(_bottom); _score = _score + 3 ; setScore(); return ; } else if (_left_id == _top_id) { action(_left); action(_top); _score = _score + 2 ; setScore(); return ; } else if (_left_id == _right_id) { action(_left); action(_right); _score = _score + 2 ; setScore(); return ; } else if (_left_id == _bottom_id) { action(_left); action(_bottom); _score = _score + 2 ; setScore(); return ; } else if (_top_id == _right_id) { action(_right); action(_top); _score = _score + 2 ; setScore(); return ; } else if (_top_id == _bottom_id) { action(_top); action(_bottom); _score = _score + 2 ; setScore(); return ; } else if (_right_id == _bottom_id) { action(_right); action(_bottom); _score = _score + 2 ; setScore(); return ; } } var setScore = function () { _scoreFrame.html( " 分数: " + _score) } var action = function (obj) { if ( typeof obj == " undefined " ) return ; var _idArr = obj.attr( " id " ).split( ' - ' ); obj.attr( " id " , " 1111 " ); obj.css( " background " ,(parseInt(_idArr[ 0 ]) + parseInt(_idArr[ 1 ])) % 2 == 0 ? parms.atler: " #fff " ); obj.click( function (){ clickFunc(_idArr[ 0 ] + " - " + _idArr[ 1 ]); }); } var random = function (n) { return Math.floor(Math.random() * n + 1 ); } initStatus(); initBlock(); }


调用:
HTML code
< div id ="t" ></ div >


JScript code
$( " #t " ).game({row: 10 ,cell: 20 });


还有许多小BUG,有已经发现的和未发现的,以及参数说明,都放到明天再说了,好困,睡去了,晚安 =.=
0
0
分享到:
评论

相关推荐

    JQUERY写的小小游戏

    《使用JQUERY构建的彩色砖块游戏解析》 在IT行业中,JavaScript库和框架的使用极大地简化了前端开发,jQuery便是其中的佼佼者。它以其简洁的API和丰富的功能,使得DOM操作、事件处理、动画效果变得轻而易举。本篇...

    jquery的小小测打字速度游戏

    本项目"jquery的小小测打字速度游戏"旨在利用jQuery来创建一个简单的小游戏,帮助用户提升打字速度。在这个游戏中,用户需要尽可能快且准确地输入显示在屏幕上的文字,系统将记录并显示用户的打字速度。 **jQuery...

    JavaScript小小题

    这篇名为“JavaScript小小题”的博文可能探讨了JavaScript在实际项目中的应用,特别是通过一个名为“Guess Flower Game”的游戏来展示其核心概念和技巧。 在JavaScript中,"源码"是指未经编译的文本格式代码,...

    guessingGame:用 HTML、CSS、Javascriptjquery 制作的猜谜游戏

    猜谜游戏 ####您有 5 次机会猜到正确的数字。 您与正确答案的接近程度取决于辣... Pepperonicini - 温暖,只是一个小小的踢 青椒 - 越界,像冷藏的青椒一样寒冷 或将 repo 克隆到您的桌面,然后打开 index.html 文件!

    TTT

    这里提到使用了JavaScript的一个库——jQuery,它简化了DOM操作、事件处理和动画,使得代码更加简洁易读。例如,jQuery可以帮助开发者轻松地监听玩家的点击事件,更新游戏板的状态,并检查是否有玩家获胜。 屏幕...

    js实现手机端网页版的汤姆猫

    在这个项目中,可能使用jQuery选择器来获取HTML元素,然后通过`on()`方法绑定点击事件,当用户触摸屏幕时,触发相应的动作,如汤姆猫的叫声或移动。 例如,你可以这样编写代码来响应用户的点击: ```javascript $...

    html游戏源码 蘑菇与熊

    HTML游戏源码“蘑菇与熊”是一套基于HTML、CSS和JavaScript的游戏开发示例,它展示了如何使用这些技术创建一个互动且有趣的小游戏。HTML(超文本标记语言)是网页内容的基础结构,CSS(层叠样式表)用于设计和美化...

    connect-four:连接四的经典游戏

    基本上,我想给自己一个小小的挑战,看看我是否可以在没有 jQuery 的情况下在浏览器中制作一个快速游戏。 我还想尝试递归和闭包。 这个小游戏就是这种努力的最终结果。 我已经在 Chrome、Firefox 和 Safari 的最新...

    游戏免费下载平台模板 v1.0.rar

    游戏免费下载平台模板 v1.0 是一个专为创建在线游戏下载站点而设计的应用程序模板。这个模板包含了一系列源码和资源,可以帮助开发者快速搭建一个可以让用户免费下载各种游戏的平台。以下是关于这个模板及其相关知识...

    利用JS实现手机页面小球轮滑

    接着,jQuery是JavaScript的一个强大库,它简化了DOM操作、事件处理和动画制作。在小球轮滑中,jQuery将被用来绑定点击事件到小球上,当用户点击某个小球时,对应的轮播内容会被显示出来,同时小球也会有相应的视觉...

    whackamole:用Java编写的hack鼠游戏

    我一直想建立一个传统的游戏循环,但最终发现使用模式或基于步骤的系统更加容易。 我也学到了很多关于不同JavaScript计时器函数及其优点/缺点的知识。 回顾一下,我可能可以多清理一点,并更好地整理评论。 虽然有...

    宠物小精灵游戏

    JavaScript库如jQuery或者更专业的游戏库如Phaser,可能被用来简化DOM操作,处理动画效果,以及提供音频和物理引擎等功能。 在文件名"pokemon-game-master"中,“master”可能指的是游戏的主代码库或者主版本,这...

    两个端午节相关的程序-Scratch少儿编程-百度龙舟前端特效.zip

    在“两个端午节相关的程序”中,我们可以预见到学生或教育者利用Scratch创建了与端午节文化相关的互动故事或者游戏,可能包括角色(如龙舟、粽子等)的动画、简单的游戏规则以及节日氛围的呈现。 第二个项目“名站...

    catamarander.github.io

    总结来说,这个项目展示了如何利用JavaScript进行游戏编程,使用jQuery优化DOM操作,借助HTML构建用户界面,以及通过CSS设计吸引人的视觉效果。对于希望提升前端技能,特别是对游戏开发感兴趣的人来说,这是一个很好...

    网页游戏

    4. **前端界面**:尽管标签中提到的是Java,但现代网页游戏的前端通常会使用HTML5、CSS3和JavaScript(包括其库和框架如jQuery、React或Vue.js)。这部分代码负责创建游戏的用户界面,接收和发送用户的输入,并展示...

    Coding-Quiz-Game

    游戏开始后,将向用户显示四个问题中的第一个。 单击问题的答案以前进至下一个问题。 共有4个问题! 四个问题听起来可能并不多,但用户将争取在页面加载后立即开始的60秒时钟。 如果您回答的问题有误,十秒钟将被...

    C#实现AJAX 上传文件,图片,音乐,

    在IT行业中,C#是一种广泛使用的编程语言,尤其在开发Windows应用程序、Web应用程序以及游戏等方面。AJAX(Asynchronous JavaScript and XML)技术则为Web应用带来了无刷新的用户体验,允许后台与服务器进行异步数据...

    转盘抽奖实例

    转盘抽奖是一种常见的互动式应用,常用于游戏、促销活动或各类软件中,为用户提供一种随机但具有趣味性的中奖体验。在这个实例中,我们关注的是一个能够控制指针转动和停止位置的转盘抽奖系统。这个系统允许开发者...

    学校实训毕业商用项目-HTML5响应式自适应酒店设计室内装修网站源码.zip

    而`&lt;canvas&gt;`元素则支持动态图形,可以用于创建交互式的图表或游戏;`&lt;video&gt;`和`&lt;audio&gt;`元素使得在网页中嵌入多媒体内容变得简单直接。 响应式设计是此项目的一大亮点。它确保网站在不同设备(如桌面电脑、平板...

    学校实训毕业商用项目-html5自适应绿色园林景观设计企业响应式模板-手机自适应.zip

    此外,`&lt;canvas&gt;`元素提供了图形绘制能力,使得动态图形和游戏开发成为可能。同时,HTML5的离线存储特性(如`Application Cache`)使网页在离线状态下也能访问部分内容。 响应式设计是这个模板的关键特性,它通过...

Global site tag (gtag.js) - Google Analytics