初学者cocos2dx 写2048 为了和大家一起分享
第一个是在头文件
部分的代码是学习不变 大多数写自己。
class HelloWorld : public cocos2d::CCLayer
{
public: virtual bool init();
static cocos2d::CCScene* scene();
void menuCloseCallback(CCObject* pSender);
CREATE_FUNC(HelloWorld); //以上为自己主动生成的代码
bool doUp(); //实现上下左右移动功能
bool doDown();
bool doLeft();
bool doRight();
void createCardSprite(cocos2d::CCSize size); //创建出一个4*4的精灵矩阵
void HelloWorld:: Random_createCardSprite(); //随机生成数字 随机位置生成 bool HelloWorld:: FullScreen(); //推断是否全屏充满了数字 而且不能移动
bool HelloWorld:: GameOver();// 游戏结束
void random_num(int x,int y);// 随机生成2跟4 void Random_createCardSprite_easy(int flag); // 设置这个函数的目的本来是想设置游戏难度 因为并未实现选难度的功能 所以 这个函数仅仅有仅仅有调用 Random_createCardSprite(int flag);的功能
void HelloWorld:: Random_createCardSprite(int flag); //随机生成数字 有规律的生成 向上移动则在以下生成 private:int firstX,firstY,endX,endY; //触摸点的坐标 CardSprite *CardNum[4][4]; //创建 数字精力的数组对象 4*4};
class CardSprite: public cocos2d::CCSprite
{
public:
virtual bool init();
static CardSprite* createCardSprite(int numbers,int width,int height,float CardSpriteX,float CardSpriteY);
CREATE_FUNC(CardSprite);
int GetNumber();//取得这个精灵所代表的数字 void SetNumber(int NewNumbers); //改动这个精灵所代表的数字
void change_num_view(); //改变数字的外观 依据 数字大小转换颜色
private:
int number; //这个精灵所代表的数字
void NumberInit(int numbers,int width,int height,float X,float Y); //初始化“数字” //定义显示数字的控件
cocos2d::CCLabelTTF *labelTTFCardNumber; //显示背景
cocos2d::CCLayerColor *layerColorBG;
};版权声明:本文博主原创文章,博客,未经同意不得转载。
初学者cocos2dx 写2048 为了和大家一起分享的更多相关文章
- 用C挑战无准备写2048
下午在刷题过程中,忽然想写2048了,以弥补以前写的那个千多行的,所以简单思考了一下准备采取的数据结构就开始了,本以为一个小时能搞定,结果后面改bug还是多花了些时间.因为在医院,所以声音不敢太大,如 ...
- 一起来写2048(160行python代码)
前言: Life is short ,you need python. --Bruce Eckel 我与2048的缘,不是缘于一个玩家,而是一次,一次,重新的ACM比赛.四月份校赛初赛,第一次碰到20 ...
- 一起写2048(160行python代码)
前言: Life is short ,you need python. --Bruce Eckel 我与2048的缘,不是缘于一个玩家.而是一次,一次,重新的ACM比赛.四月份校赛初赛,第一次碰到20 ...
- js280行代码写2048
2048 原作者就是用Js写的,一直想尝试.但久久未动手. 昨天教学生学习JS代码.最好还是就做个有趣的游戏好了.2048这么火,是一个不错的选择. 思路: 1. 数组 ,2维数组4x4 2. 移动算 ...
- python写2048小游戏
#!/usr/bin/env python # coding=utf-8 #******************************************************** # > ...
- object-c cocos2d-x 写程序时注意调试的技巧
(1)写程序时最好在类的init函数中显示类名,表明现在在执行哪个类,样例代码 CCLOG(@"cocos2d: Using Director Type:%@", [self cl ...
- R语言写2048游戏
2048 是一款益智游戏,只需要用方向键让两两相同的数字碰撞就会诞生一个翻倍的数字,初始数字由 2 或者 4 构成,直到游戏界面全部被填满,游戏结束. 编程时并未查看原作者代码,不喜勿喷. 程序结构如 ...
- js写2048游戏代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 小游戏:200行python代码手写2048
#-*- coding: utf-8 -*- import curses from random import randrange, choice from collections import de ...
随机推荐
- C#List<long>与String(Linq)
1.string => List<long> string ShopIds = "1,2,3"; var ShopIdList = ShopIds.Split(' ...
- HYSBZ 2243(树链剖分)
题目连接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=28982#problem/D 题意:给定一棵有n个节点的无根树及点权和m个操作, ...
- cocoa动态方法决议及消息转发
假设给一个对象发送不能响应的消息,同一时候又没有进行动态方法决议,又没实现消息转发,那么就会引发以下的crash信息 2014-07-30 15:47:54.434 MethodNotFind[171 ...
- CMS垃圾回收机制
详解CMS垃圾回收机制 原创不易,未经允许,不得转载~~~ 什么是CMS? Concurrent Mark Sweep. 看名字就知道,CMS是一款并发.使用标记-清除算法的gc. CMS是针对老 ...
- c++ cin>>详解
参考地址:http://www.cnblogs.com/A-Song/archive/2012/01/29/2331204.html 程序的输入都建有一个缓冲区,即输入缓冲区.一次输入过程是这样的,当 ...
- mysql表修改
CREATE TABLE tab2 AS (SELECT * FROM tab1)这种做法表的存储引擎也会采用服务器默认的存储引擎而不是源表的存储引擎,此种复制方法把表的内容也一起复制过来了. CRE ...
- HDU 4998 Rotate
题意: n次旋转 每次平面绕ai点旋转pi弧度 问 最后状态相当于初始状态绕A点旋转P弧度 A和P是多少 思路: 如果初始X点的最后状态为X'点 则圆心一定在X和X'连线的垂直平分线上 那 ...
- ListView IllegalStateException
贴出源代码: android.widget.ListView ... if(mItemCount == 0){ resetList(); invokeOnItemScrollListener(); r ...
- FREESWITCH SEESION
SESSION SESSION为FS的核心概念之一,所以需要拿出来专门的分析下. 从以下几个方面进行分析,结构类型,资源的管理,对于呼叫的意义,规格. 1.结构类型 每一次呼叫会申请一个session ...
- eclipse 于 Tomcat于 热部署 project
eclipse在 Tomcat中热部署project 1.在eclipse中国安装一个tomcat插件:SysdeoEclipse Tomcat Launcher plugin(http://www. ...