蝙蝠岛资源网 Design By www.hbtsch.com
本文实例讲述了JS小游戏的极速快跑源码,分享给大家供大家参考。具体如下:
游戏运行后如下图所示:
Javascript部分代码如下:
/** 极速快跑
* Author: fdipzone
* Date: 2012-07-15
* Ver: 1.0
*/
var gameimg = ['images/start.png', 'images/start_over.png', 'images/go.png', 'images/go_over.png', 'images/running.gif', 'images/run_start1.gif', 'images/run_start2.gif', 'images/run_start3.gif'];
var speed_obj = new SpeedClass();
window.onload = function(){
var callback = function(){
speed_obj.init();
}
img_preload(gameimg, callback);
}
// Speed Class
function SpeedClass(){
this.levelset = [8,5,8,12]; // 难度参数
this.playerlist = null; // 选手列表
this.player = 0; // 选中的选手
this.level = 2; // 难度
this.lock = 0; // 锁定
this.isstart = 0; // 是否开始
this.isover = 0; // 是否结束
}
// init
SpeedClass.prototype.init = function(){
this.reset();
this.create_player();
this.create_event();
}
// reset
SpeedClass.prototype.reset = function(){
this.player = 0;
this.level = $('level').value; // level
this.playerlist = $_tag('li', 'playerlist');
for(var i=0; i<this.playerlist.length; i++){
this.playerlist[i].className = '';
}
disp('start_btn', 'show', 'start_btn');
disp('go_btn', 'hide', 'go_btn');
this.lock = 0; // unlock
this.isstart = 0; // unstart
this.isover = 0; // unover
}
// create player
SpeedClass.prototype.create_player = function(){
var runway = [];
var playerlist = [];
for(var i=1; i<=8; i++){
runway[i] = '<li><div id="player' + (9-i) + '" class="run_status1"></div></li>';
playerlist[i] = '<li>' + i + '</li>';
}
$('runway').innerHTML = runway.join('');
$('playerlist').innerHTML = playerlist.join('');
runway = null;
playerlist = null;
}
// create event
SpeedClass.prototype.create_event = function(){
var self = this;
this.playerlist = $_tag('li', 'playerlist');
for(var i=0; i<this.playerlist.length; i++){
this.playerlist[i].onmouseover = function(){
if(this.className!='on'){
this.className = 'over';
}
}
this.playerlist[i].onmouseout = function(){
if(this.className!='on'){
this.className = '';
}
}
this.playerlist[i].onclick = function(o,c){
return function(){
if(self.lock==0){
o.playerlist[c].className = 'on';
if(o.player!=0 && o.player!=c+1){ // 不等於0且不等於自己
o.playerlist[o.player-1].className = '';
}
o.player = c + 1;
}
}
}(self, i);
}
$('start_btn').onmouseover = function(){
this.className = 'start_over_btn';
}
$('start_btn').onmouseout = function(){
this.className = 'start_btn';
}
$('start_btn').onclick = function(){
if(self.player==0){
return alert('请选择要支持的选手');
}else{
self.lock = 1; // locked
disp('start_btn','hide');
disp('go_btn','show');
for(var i=1; i<=8; i++){
self.start(i);
}
}
}
$('go_btn').onmouseover = function(){
this.className = 'go_over_btn';
}
$('go_btn').onmouseout = function(){
this.className = 'go_btn';
}
$('go_btn').onclick = function(){
self.go();
}
}
// start game
SpeedClass.prototype.start = function(c){
var o = $('player' + c);
var step = 1;
var self = this;
var exert = 0;
o.style.marginLeft = '62px'; // init
var et = setInterval(function(){
if(step<4){ // step 1-3 is ready
o.className = 'run_status' + step;
}else{
// run
if(o.className!='running'){
o.className = 'running';
}
// start can go
if(self.isstart==0){
self.isstart = 1;
}
// 已有一名选手到达终点
if(self.isover==1){
clearInterval(et);
}else{
if(self.player!=c){ // 其他选手
exert = Math.floor(Math.random()* self.levelset[self.level])+3; // 根据level调整
}
o.style.marginLeft = parseInt(o.style.marginLeft) + Math.floor(Math.random()*8)+4 + exert + 'px';
// 到达终点
if(parseInt(o.style.marginLeft)>=745){
clearInterval(et);
self.isover = 1;
self.gameover(o.id);
}
}
}
step ++;
}, 350)
}
// go
SpeedClass.prototype.go = function(){
if(this.isstart==1 && this.isover==0){
var o = $('player' + this.player);
var exert = Math.floor(Math.random()*3)+2; // 2-5
o.style.marginLeft = parseInt(o.style.marginLeft) + exert + 'px';
}
return false;
}
// gameover
SpeedClass.prototype.gameover = function(id){
id = id.replace('player','');
var self = this;
var msg = '';
if(id==this.player){
msg = "恭喜你,你支持的选手获得胜利\n\n";
}else{
msg = "很遗憾,你支持的选手没有获得胜利,获胜的是" + id + "号选\n\n";
}
if(confirm(msg + '是否重新开始"_blank" href="http://xiazai.jb51.net/201409/yuanma/js-fast-run-game-codes(jb51.net).rar">本站下载。
相信本文所述对大家的javascript游戏设计有一定的借鉴价值。
标签:
JS,小游戏,极速快跑,源码
蝙蝠岛资源网 Design By www.hbtsch.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
蝙蝠岛资源网 Design By www.hbtsch.com
暂无JS小游戏之极速快跑源码详解的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2025年11月08日
2025年11月08日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]
