cocos2d-x之猜数字游戏
bool HelloWorld::init()
{
if ( !Layer::init() )
{
return false;
}
visibleSize = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();
srand(time(NULL));//随机种子
theRandomNum=rand()%100;//0~100之间
log("the randnum is %d",theRandomNum);
buildUI();
addListeners();
return true;
}
void HelloWorld::buildUI(){
auto label=Label::create();
label->setString("Please input a number between 0~100");
addChild(label);
label->setPosition(visibleSize.width/2,visibleSize.height-label->getContentSize().height/2-20);
tf=TextFieldTTF::textFieldWithPlaceHolder("Input number here","Courier",16);
tf->setPosition(visibleSize.width/2,label->getPositionY()-50);
addChild(tf);
submitBtn=Label::create();
submitBtn->setPosition(visibleSize.width/2,tf->getPositionY()-50);
submitBtn->setString("Submit");
addChild(submitBtn);
messageLabel=Label::create();
messageLabel->setPosition(visibleSize.width/2,submitBtn->getPositionY()-50);
addChild(messageLabel);
}
void HelloWorld::addListeners(){
auto director=Director::getInstance();
auto handle=[this](Touch* t,Event* e){
auto target=e->getCurrentTarget();
auto point=t->getLocation();
if (target->getBoundingBox().containsPoint(point)) {
if (target==tf) {
tf->attachWithIME();
}else if (target==submitBtn){
tf->detachWithIME();
int inputValue=__String::create(tf->getString())->intValue();
if (inputValue>theRandomNum) {
messageLabel->setString("input value is bigger");
}else if (inputValue<theRandomNum){
messageLabel->setString("input value is smaller");
}else{
messageLabel->setString("you get it");
}
}
}else{
tf->detachWithIME();
}
// if (e->getCurrentTarget()==tf) {
// tf->attachWithIME();
// }else if (e->getCurrentTarget()==submitBtn){
//
// }else{
// tf->detachWithIME();
// }
return false;
};
auto l=EventListenerTouchOneByOne::create();
l->onTouchBegan=handle;
director->getEventDispatcher()->addEventListenerWithSceneGraphPriority(l,tf);
auto submitBtnClickListener=EventListenerTouchOneByOne::create();
submitBtnClickListener->onTouchBegan=handle;
director->getEventDispatcher()->addEventListenerWithSceneGraphPriority(submitBtnClickListener,submitBtn);
}
转载于:https://www.cnblogs.com/daochong/p/5261187.html
cocos2d-x之猜数字游戏相关推荐
- C语言经典小游戏---猜数字游戏 (包含C语言中如何实现随机数的生成)
题目描述:输入1-100之间的数字,进行猜数字游戏,猜大猜小有提示,直至才对为止,游戏可以重复游玩. 算法思路: 1.用void函数分别写出菜单程序与游戏进程程序. 2.用switch-case-de ...
- 例题3-4 猜数字游戏的提示(Master-Mind Hints, UVa 340)
实现一个经典"猜数字"游戏.给定答案序列和用户猜的序列,统计有多少数字位置正确 (A),有多少数字在两个序列都出现过但位置不对(B). 输入包含多组数据.每组输入第一行为序列长度n ...
- c语言猜数字游戏用while,【C语言基础】有趣的猜数字游戏。(while循环,if语句,switch语句)...
要求:猜数字游戏的实现.代码如下:#include #include #include void menu() { printf("***************************** ...
- python猜年龄代码_python入门教程NO.7用python来写一个猜数字游戏
python入门教程 本文涉及的python基础语法为while循环 #python#3中while语句常常被用于循环执行某个程序,任何非0和非空null的值,都会被条件判断为True while 条 ...
- Go-实现猜数字游戏代码
实现猜数字游戏代码 1 package main 2 3 import ( 4 "fmt" 5 "math/rand" 6 "time" 7 ...
- python猜数字游戏简单-python猜数字游戏快速求解解决方案
python猜数字游戏快速求解解决方案.使用方法: 1. 保存代码为guessall.py 2. 执行python guessall.py > result.txt 3. 打开result.tx ...
- python游戏最简单代码-如何利用Python开发一个简单的猜数字游戏
前言 本文介绍如何使用Python制作一个简单的猜数字游戏. 游戏规则 玩家将猜测一个数字.如果猜测是正确的,玩家赢.如果不正确,程序会提示玩家所猜的数字与实际数字相比是"大(high)&q ...
- python写一个游戏多少代码-Python项目实战之猜数字游戏(含实现代码)
猜数字游戏,旨在提高初学者对 Python 变量类型以及循环结构的使用. 此游戏的游戏规则如下:程序随机内置一个位于一定范围内的数字作为猜测的结果,由用户猜测此数字.用户每猜测一次,由系统提示猜测结果 ...
- java猜数字游戏应用程序_猜数字游戏的Java小程序
/* 猜数字游戏: 1,产生随机数. 2,获取键盘录入. 3,将录入数据变成数字,和随机数比较. 给出提示信息. 4,重复这个过程,如果猜中,程序就结束. 注意:对于输入1~100以外的数字,,以及非 ...
- 猜数字游戏python程序gui_python GUI 猜数字游戏
# -*- coding:utf-8 -*- import easygui,random status = easygui.buttonbox("这是一个猜数字游戏,点击开始进行游戏,点击退 ...
最新文章
- ViewPager多页面滑动切换以及动画效果
- varchar2改为clob带来的问题
- session 重写进入redis测试
- 云南大学网络课程作业计算机,云南大学842计算机程序设计考研复习经验
- Leaflet笔记-把leaflet-tilelayer-wmts移植到vue cli中(含思路)
- OpenJudge NOI 1.8 17:最好的草
- 部分格式文件解释以及万能文件查看器下载
- Kracker路由器破解工具
- 离散时间傅里叶变换(DTFT)与离散傅里叶级数(DFS)
- 达内CEO受邀出席搜狐“2011职业教育高峰论坛”
- 帧动画和骨骼动画 本质的理解
- 在iOS开发中如何高效使用静态库
- scp cp
- 通信教程 | 概述并行与串行通信的区别
- 每日一学:Python 将时间戳转换为指定格式日期
- iSCSI #2 issue 记录
- C++学习——第一节课
- BLE 发射功率 发射功率概念介绍
- linux如何用命令寻找环境变量?
- 云端软件平台与虚拟系统大比拼
热门文章
- QWT错误static struct QMetaObject const QwtPlot
- Can't create handler inside thread that has not called Looper.prepare()
- Python基础进阶之路(三)之列表
- 微信小程序-配置请求合法域名的问题以及豆瓣api问题
- PHPer 面试指南-扩展阅读资源整理
- PHP 长连接,奏是这么简单
- Web.xml详解(转)
- [文摘20110527] 小故事 : 大有 和 天成 都是一辈子
- 反序列化时恢复transient字段
- 1月2日金象山滑雪(图片)