分享一个以前写的小游戏,纯js游戏,代码很简单。欢迎大家来喷呦!
效果图:
代码展示://直接复制到html文件即可 支持IE9+版本
<!DOCTYPE html> <html> <head> <meta charset="{CHARSET}"> <title>Best Fly Car</title> <style> input { border: 1px solid yellow; margin-left: 20px; margin-top: 20px; } .way-content { margin-left: auto; margin-right: auto; width: 1024px; height: 700px; position: relative; border: 1px solid burlywood; background-color: darkolivegreen; } .car { color:black; width: 20px; height: 20px; border: 1px solid brown; background: greenyellow; position: absolute; left: 502px; top: 678px; text-align: center; z-index: 99; } .C-car { color:black; width: 20px; height: 15px; border: 1px solid brown; background: red; position: absolute; left: 502px; top: 0px; text-align: center; z-index: 98; } .way-grid { margin: 0 0; margin-left: 412px; background-color: grey; border: none; border-right: 1px solid brown; border-left: 1px solid brown; min-width: 100px; max-width: 1024px; width: 200px; height: 10px; color: white; font-size: 5px; position: relative; text-align: center; } .go { background: greenyellow; width: 100px; height: 50px; text-align: center; } </style> </head> <body> <div id="way-content" class="way-content"> <div id="car" class="car">++</div> </div> <br /> The width of the road:<input id="wayWhite" type="number" value="200" /> <br /> Keyboard sensitivity: <input type="number" id="LMD" value="10" /><br /> The game difficulty:<input type="number" id="ND" value="5" /><br /> <input class="go" id="go" type="button" value="go" /><br /> <script type="text/javascript"> var wayLeft = [], cO = null, LC = null, RC = null, st = null, clickLR = false, s = null, LMD = 5, wayWhite = 200, ND = 15, //n*2+1; NDArry = [0, 1, -1], gridStr = 'way-grid-', PX = 'px', length = 70, NDIndex = 30, waysetIndex = 10, waysetValue = (1024 - wayWhite) / 2, delvalue = 0, n = 5, waitvalue = 10 / n, checkOut = function () { var index = wayLeft[wayLeft.length - 1].wayLeft, CCarvalue = wayLeft[wayLeft.length - 1].CCarvalue + index, carIndex = parseInt(document.getElementById('car').offsetLeft) + 10; if (carIndex < index + wayWhite && carIndex > index && (CCarvalue == 0 || !(CCarvalue < carIndex && CCarvalue + 20 > carIndex))) { return true; } else { clearInterval(st); clearInterval(cO); clearInterval(LC); clearInterval(RC); var e = new Date(); alert('totle :' + parseInt((e.getTime() - s.getTime()) / 600) + 's'); document.onkeydown = null; document.onkeyup = null; clearInterval(cO); clearInterval(LC); clearInterval(RC); } }, //初始道路坐标 getFitstArray = function () { waysetValue = (1 - wayWhite) / 2; for (var i = 0; i < length; i++) { wayLeft[i] = {}; wayLeft[i].wayLeft = (1024 - wayWhite) / 2; } }, //初始化道路 setWay = function () { var docElem = document.createDocumentFragment(); for (var i = 0; i < length; i++) { var grid = document.createElement('div'); grid.className = 'way-grid'; grid.id = gridStr + i; grid.textContent = '|'; docElem.appendChild(grid); } document.getElementById('way-content').appendChild(docElem); }, //生成下一个道路 getNextL = function (firstL) { var CCarvalue = 0; //渐变道路 if (waysetIndex > 1) { waysetIndex -= 1; waysetValue = firstL + delvalue; } else if (waitvalue > 0) { //直线缓冲道路 waitvalue--; waysetValue = firstL; } else { //渐变规则 delvalue = NDArry[parseInt(Math.random() * 3)] * parseInt(n / 2 + 1); CCarvalue = parseInt(Math.random() * wayWhite); waysetIndex = NDIndex; waitvalue = 100 / n; waysetValue = firstL + delvalue; } return waysetValue >= 0 && waysetValue <= (1024 - wayWhite) ? { wayLeft: waysetValue, CCarvalue: CCarvalue } : { wayLeft: firstL, CCarvalue: CCarvalue }; }, //根据数组刷新道路 getWayByArry = function () { var CCarvalueList = document.getElementsByClassName('C-car'); while (CCarvalueList[0]) { CCarvalueList[0].remove(); } for (var i = 0; i < wayLeft.length; i++) { var grid = document.getElementById(gridStr + i); grid.style['width'] = wayWhite + PX; grid.style['margin-left'] = wayLeft[i].wayLeft + PX; if (wayLeft[i].CCarvalue) { var CCarvalue = document.createElement('div'); CCarvalue.id = 'CCarvalue' + i; CCarvalue.className = 'C-car'; CCarvalue.textContent = '+'; CCarvalue.style['left'] = wayLeft[i].CCarvalue + PX; grid.appendChild(CCarvalue); } } }, //左键事件 lClick = function () { if (document.onkeydown) { var a = document.getElementById('car') a.style['left'] = (a.offsetLeft - LMD) + PX; } }, //右键事件 rClick = function () { if (document.onkeydown) { var a = document.getElementById('car') a.style['left'] = (a.offsetLeft + LMD) + PX; } }, //确定事件 goClick = function () { clearInterval(st); clearInterval(cO); clearInterval(LC); clearInterval(RC); document.onkeydown = null; document.onkeyup = null; LMD = parseInt(document.getElementById('LMD').value) / 4; wayWhite = parseInt(document.getElementById('wayWhite').value); ND = parseInt(document.getElementById('ND').value) * 1 + 1; NDIndex = 30; getFitstArray(); getWayByArry(); s = new Date(); document.onkeydown = function (evt) { var evt = window.event ? window.event : evt; if (clickLR) { } else if (evt.keyCode == 37) { //锁定当前按键 clickLR = true; LC = setInterval(lClick, 10); } else if (evt.keyCode == 39) { //锁定当前按键 clickLR = true; RC = setInterval(rClick, 10); } }; document.onkeyup = function (evt) { //清除锁定 clickLR = false; clearInterval(LC); clearInterval(RC); } document.getElementById('car').style['left'] = 502 + PX; st = setInterval(stratBC, 100 / ND); cO = setInterval(checkOut, 10); }, stratBC = function () { setWayArray(); getWayByArry(); }, setWayArray = function () { var firstL = wayLeft[0], nextL = (1024 - wayWhite) / 2; nextL = getNextL(firstL.wayLeft); for (var i = 0; i < wayLeft.length; i++) { firstL = wayLeft[i]; wayLeft[i] = nextL; nextL = firstL; } }; getFitstArray(); setWay(); getWayByArry(); document.getElementById('go').onclick = goClick; </script> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
风云阁资源网 Design By www.bgabc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
风云阁资源网 Design By www.bgabc.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2024年11月17日
2024年11月17日
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】