zoukankan      html  css  js  c++  java
  • 【来写个2048吧】—— 后期优化及源代码

        卡片里的数字假设越来越大则会超过卡片,这样看起来不好看,所以我们要推断数字的位数然后设置合适的大小。 
    在Card.cpp的setNumber()中增加例如以下代码
            //设置数字大小
            if ( num >= 0)
            {
                   labelCardNumber->setFontSize (100);
            }
            if ( num >= 16)
            {
                   labelCardNumber->setFontSize (90);
            }
            if ( num >= 128)
            {
                   labelCardNumber->setFontSize (60);
            }
            if ( num >= 1024)
            {
                   labelCardNumber->setFontSize (40);
            }
    

    这样就依据数字的位数改变大小了。

    然后就是不同的数字显示不同的颜色。
    相同在setNumber()中增加
    	//推断数字的大小来调整颜色 
            if(number == 0){ 
                   colorBackground->setColor (Color3B( 200,190 ,180));  
            } 
            if ( number == 2) { 
                   colorBackground->setColor (Color3B( 240,230 ,220));  
            } 
            if ( number == 4) { 
                   colorBackground->setColor (Color3B( 240,220 ,200));  
            } 
            if ( number == 8) { 
                   colorBackground->setColor (Color3B( 240,180 ,120));  
            } 
            if ( number == 16) { 
                   colorBackground->setColor (Color3B( 240,140 ,90));  
            } 
            if ( number == 32) { 
                   colorBackground->setColor (Color3B( 240,120 ,90));  
            } 
            if ( number == 64) { 
                   colorBackground->setColor (Color3B( 240,90 ,60));  
            } 
            if ( number == 128) { 
                   colorBackground->setColor (Color3B( 240,90 ,60));  
            } 
            if ( number == 256) { 
                   colorBackground->setColor (Color3B( 240,200 ,70));  
            } 
            if ( number == 512) { 
                   colorBackground->setColor (Color3B( 240,200 ,70));  
            } 
            if ( number == 1024) { 
                   colorBackground->setColor (Color3B( 0,130 ,0));  
            } 
            if ( number == 2048) { 
                   colorBackground->setColor (Color3B( 0,130 ,0));  
            } 
    

    这样差点儿相同就完毕了。


    事实上还有非常多效果没有加,如滑动卡片时的滑动效果,记录最高分等等。因为时间有限,就依据网上的教程试了一下。游戏非常easy,做起来不easy啊。


    最后附上全部的源码



  • 相关阅读:
    在vim中设置将tab自动转化为4个空格
    nginx1.4.6+php5.5.11+mysql5.6.17+mecache+opcache
    Centos7安装杀毒软件ClamAV
    网页中meta标记
    js刷新页面方法大全
    微信第三方登陆,无需注册一键登录,获取用户信息,PHP实现方法
    phpcms v9 如何实现用户登录
    web页面自适应手机屏幕宽度
    微信公共平台消息回复类
    自动回复微信消息
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/3804381.html
Copyright © 2011-2022 走看看