山寨 《寻找房祖名》

去年在微信上刚出来的时候做着玩的,当时有点小BUG 现在项目不忙把BUG修改了一下(主要是css的问题不过现在也没有解决的100%完美 ps:原本想把代码 http://codepen.io/ 代码展示一得,后来不会整这个图片所以就放弃了 )

上图

上代码:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="description" content="">
<meta name="apple-touch-fullscreen" content="yes" />
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />
<meta content="no" name="apple-mobile-web-app-capable" />
<meta content="black" name="apple-mobile-web-app-status-bar-style" />
<meta content="telephone=no" name="format-detection" />
<style>
*{margin:0;padding: 0;}
a{ text-decoration: none;}
html,body{ height: 100%;}
.game{ width: 100%;height:100%; background-color:#f06060; }
.start{ height: 100%; position:relative;}
.tit{ font-size: 2em; color: #fff; font-weight: bold; text-align:center; padding-top: 3em;}
.title{ line-height: 1.3em; color: #ff9e9e; font-size: 1.3em; text-align:center; margin: 0.5em;}
.btn_main{ width: 100%; position: absolute; bottom: 10%;}
.btn{ display: block; width: 40%; margin:0 auto;line-height:1.8em;  font-size: 1.8em; text-align:center; background-color: #fbad25; border-radius: 10px; color:#fff;}

.game_main{ position: absolute; top: 20%;border: 10px solid red; background-color: #ddd; border-radius: 10px;text-align:center;width:100%; box-sizing: border-box;}
.imInfo{text-align:center; width:100%;}
.game_main .game_img{margin:0 auto;}
.game_info{ padding-top:5%; position: relative;}
.game_gk{ color: #ff9d9f; font-size:1.2em; text-indent:5%;}
.game_time{ position: absolute;left:50%;margin-left: -10px; width: 20px; text-align: center; display: inline-block; padding: 0 15px; border-radius: 13px; font-size: 1.2em; font-weight: bold; color: #fecbca; height: 30px; line-height: 30px; background: #fd9191;}

.end{height: 100%; position:relative; background-color: #a74343;}
.end p{ color: #332212; text-align:center; font-weight: bold; font-size: 2em; position:absolute; top:30%; width:100%; }
.end .btn_main{ bottom:40%;}
</style>
<title>寻找房祖名</title>
</head>
<body>

<div class="game" id="game" >
   <div class="start" id="start" >
        <h2 class="tit">全民摇一摇寻找房祖名</h2>
        <p class="title">虽然柯少向龙叔保证不会带坏房祖名,但龙叔强烈要求你找回房祖名。</p>
        <div class="btn_main">
            <a href="javascript:;" class="btn" id="btn">开始游戏</a>
        </div>
    </div>
    <div class="rel" id="gameWrap" style=" display: none;">
        <div class="game_info">
            <span class="game_gk">过关:<span id="game_jf"></span></span>
            <span class="game_time" id="gameTime"></span>
        </div>
        <div class="game_main clearfix" id="gameMain" >

            <!-- <img src="img/kzd.gif" class="game_img" width="50%" height="50%">
            <img src="img/kzd.gif" class="game_img" width="50%" height="50%">
            <img src="img/kzd.gif" class="game_img" width="50%" height="50%">
            <img src="img/kzd.gif" class="game_img" width="50%" height="50%">
            -->
        </div>
    </div> 

</div>
<div class="end" id="end" style=" display: none;">
    <p>龙叔的路人粉lv<span id="endJf"></span></p>
    <div class="btn_main">
        <a href="javascript:;" class="btn" id="aGain">再来一次</a>
    </div>
</div>
</body>
<script src="js/jquery-2.0.2.js"></script>
<script>
$(function(){

    $(‘#btn‘).on(‘click‘,function(){
        $(‘#start‘).hide();
        Game.init();
    });

    var Game = {
        gkNum   : 0,
        timer   : 60,
        btn     : 0 ,
        round   : 0,
        endTime : null,
        arr     : [1,2,3,4,5,6,7,8,9,‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘],
        init  : function(){
            this.game = $(‘#game‘);
            this.oParent = $(‘#gameWrap‘);
            this.oParent.show();

            this.oJf = $(‘#game_jf‘); // 积分;
            this.gameMain = $(‘#gameMain‘);
            this.shijian = $(‘#gameTime‘);
            this.end = $(‘#end‘);
            this.endJf = $(‘#endJf‘);
            this.aGain = $(‘#aGain‘);
            this.createEnemy(this.gkNum); // 关卡初始值;
            this.createTime(); //倒计时
            this.clickEnemy();
            this.againGame();

        },
        createTime   : function(){
            var This = this;
            This.shijian.html(This.timer);
            this.endTime = setInterval(function( ){
                var t = This.timer--;
                if( t < 0 ){
                    clearInterval( This.endTime );
                    This.game.hide();
                    This.endJf.html( parseInt(This.gkNum)+1);
                    This.end.show();
                }else{
                    This.shijian.html( t );
                }

            },1000);
        },
        createEnemy : function( num ){
            var html = ‘‘;
            this.round = fnRound( ((num+2)*(num+2)) );
            this.oJf.html( parseInt(num)+1 );
            var wh = 100/(num+2);
            for( var i=0,len = ((num+2)*(num+2));i<len;i++ ){
                if( this.round == i ){
                   html += ‘<img src="img/fzm.gif" class="game_img imgFzm">‘;
                }else{
                   html += ‘<img src="img/kzd.gif" class="game_img" >‘;
                }
            }
            if( num > 1 ){
                this.sortBg();
            }
            this.gameMain.html(html);
            this.gameMain.find(‘img‘).css({‘width‘:wh+‘%‘,‘height‘:wh+‘%‘});

        },
        clickEnemy : function(){
            var This = this;
            this.gameMain.delegate(‘img.imgFzm‘,‘click‘,function(){
                This.btn++;
                This.sortBg();
                This.createEnemy( This.gkNum );
                if( This.btn == 3 ){
                    This.btn = 0;
                    This.gkNum++;
                    This.createEnemy( This.gkNum );
                }
            });
        },
        sortBg     : function(){
            this.arr.sort(function(){return Math.random()-0.5;});
            this.arr.length=6;
            this.gameMain.css(‘border‘,"10px solid #"+this.arr.join(‘‘)+"");
        },
        againGame  : function(){
            this.aGain.on(‘click‘,function(){
                window.location.reload();
                return false;
            });
        }

    }

});

//随机数
function fnRound( n ){
   return  Math.round(Math.random()*(n-1));
}
</script>
</html>

心得:

去年写的代码,具体细节有点忘了,宏观上梳理一下流程:

单体写的静态方法

几个关键的变量:

关卡 :不同的关卡不同的 图片的数量:第一关开始是 2行2列就是4,第二关是3行3列就是9,第三关是4行4列就是16 其实就是 2的平方 3的平方 4的平方 累加平方;

时间:限时的一分钟;

点击次数:每关都要找对三次才能到下一关,记录点击正确的次数;

正确的图片位置:随机出 房祖名 的位置;

剩下就是一些封装一些 创建 图片的方法,点击方法,随机数方法等。。。。

我主要的BUG 问题 其实是 图片的宽度

因为像第5关  100/6 的话 其实是有余数 导致右侧没有沾满,最后我是用 text-align: center 解决的不过感觉还是不太好,如有大神有别的解决办法请告知。。。。

时间: 2024-08-28 11:49:14

山寨 《寻找房祖名》的相关文章

【Android小项目】找不同,改编自&amp;quot;寻找房祖名&amp;quot;的一款开源小应用。

近期在微信朋友圈"寻找房祖名"和"万里寻刀"这类小游戏比較火.我试着写了一个android版本号的,里面全是一系列的形近字,实现原理非常easy:用一个GridView然后每一项做成正方形的就可以,点击到正确项改变GridView的行数和列数就可以. 一. 游戏说明: 找不同.一款区分形近字的Androidclient软件,旨在帮助用户认识和区分形近字: 二.游戏规则: 1.指定时间内通关数越多积分越高. 三.截图: 项目地址:FindDifferent

DOM应用实例(寻找房祖名)

在上一篇我讲到了DOM的一些总结,这一次我就用我前几天做的一个游戏demo来讲讲DOM的一些用法吧. 首先简单说说这个游戏,如下图所示(大家忽略样式/(ㄒoㄒ)/~~).当玩家点击开始后,只要选择了正确的图片,则跳到下一关,展开更多的图片.其主要原理是利用DOM中节点的增删操作来实现. =>=>=> HTML代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8&qu

【Android小项目】找不同,改编自&quot;寻找房祖名&quot;的一款开源小应用。

最近在微信朋友圈"寻找房祖名"和"万里寻刀"这类小游戏比较火,我试着写了一个android版本的,里面全是一系列的形近字,实现原理很简单:用一个GridView然后每一项做成正方形的即可,点击到正确项改变GridView的行数和列数即可. 一. 游戏说明: 找不同,一款区分形近字的Android客户端软件,旨在帮助用户认识和区分形近字: 二.游戏规则: 1.指定时间内通关数越多积分越高: 三.截图: 项目地址:FindDifferent

H5游戏的山寨坑,绕不过只能跳了

H5游戏要遏制山寨,解决之道不是没有,但却很难实现.毕竟,超低门槛.超低成本和超强转换率,更吸引了肆虐过网络视频.网页游戏.团购和移动游戏的机会主义蝗虫们觉得有机可乘. 文/张书乐 刊载于<法人>杂志2014年10月刊 <围住神经猫><看你有多色><打企鹅><捏泡泡>--今年以来,类似的虐心小游戏一个接一个地占据着朋友圈.这些游戏的规则极为简单,游戏时间也极短,一两分钟就可结束游戏.但它们充满诱惑,朋友圈内总有人分享自己的游戏战果. 这些如露珠般

H5游戏:碎片时间的生意经

在技术上逐步拉近和手机App游戏.PC端网页游戏.客户端游戏之间的距离,逐步发挥自己跨屏的优势,并让自身的内容不再受限于极简小游戏范畴,才可以逐步延长玩家的游戏时间和黏合度,自然收益模式也就慢慢和其他游戏类型趋同并稳定.在业内,对于H5游戏的未来,观点已经趋于一致. 文/张书乐 刊载于<互联网经济>杂志2014年11月刊,刊载时有删节 整个夏季,微信朋友圈被一只表情很欠.身材妖娆的猫无情"刷屏"了."我用了11步围住神经猫,击败89%的人,你能超过我吗?"

【涛舅舅】利用微信游戏每天为公众号吸粉1000人的方法

之前在群里和大家语音分享了这个方法了,有的伙伴反应听不了语音,有的伙伴可能也没有注意群里的消息,那么还是专门写一个教程发在这里方便大家随时学习吧~ 可能很多小伙伴在用微信游戏进行推广的过程中发现,虽然游戏传播的效果不错,可就是主动关注微信的用户还是比较少,转化率没有想象中的那么高.其实这是非常正常的事情,因为受限于微信的接口,是不能强制用户关注微信的,再加上可能玩游戏的用户对你的微信平台的服务内容并不是很关心,用户不够精准,这就导致转化的结果是比较低的. 可能有一种非常不知所措的局面就是,游戏的

一步围住神经猫,其实就是个转换率问题(人民邮电报专栏《乐游记》之28)

最有名的极简游戏当属<俄罗斯方块>,只是那时还没出现移动社交,但并不妨碍玩家在等人.等车的时间里玩游戏:更多的玩家还会拿出游戏机在朋友面前炫耀分数,瞬间满足感"爆棚". 张书乐 刊载于10月10日<人民邮电报>应用版乐游记专栏 今年7月底,<围住神经猫>这款小游戏在微信朋友圈里"泛滥成灾".我是个"异类",从始至终没有被"传染".对于那些在朋友圈里病毒式传播的小游戏,我从来只是偷偷玩一把,决

人民邮电报:网络游戏产业进入破冰关键期

未来很长一段时间,如无类似<传奇>.<魔兽世界>.<征途>之类的"大手笔"游戏产品出现,或在游戏玩法.收费等环节没有颠覆性创新,客户端游戏仍将继续保持"审美疲劳"态势.破冰之难,难在游戏厂商的决心. 文/张书乐 刊载于<人民邮电报>2015年2月6日应用版 2月3日,中国互联网信息中心(CNNIC)发布的<第35次中国互联网发展统计报告>(以下简称<报告>)显示,截至2014年12月,中国网络游

英特尔为何热衷于中国“山寨”?

2014年平板电脑市场正在面临一次"寒流", 据预估,2014年全球平板电脑全年出货增长率可能低于5%,龙头品牌苹果或将出现上市以来首次出货衰退.在津城市场中,不少平板电脑产品都推出了较大力度的促销活动.业内人士分析指出,大尺寸平板手机与低价笔记本电脑的夹击,让平板电脑市场面临被分食的命运. 日前,相关行业机构发布数据报告显示,2014年全球平板电脑出货量或将下降至2.055亿台的规模,年出货增长率低于5%.与此同时,龙头品牌苹果可能出现上市以来首次出货衰退,预估出货将减至6840万台