#ifndef __HardestGameEver__Win__
#define __HardestGameEver__Win__
#include
#include "cocos2d.h"
using namespace cocos2d;
class Win: public cocos2d::CCLayer
{
public:
virtual bool init(int tag);
static cocos2d::CCScene* scene(int tag);
static Win*create(int tag);
private:
void Retry();
void BackChoose();
void Paihang();
int tag;
};
#endif
#include "Win.h"
#include "SimpleAudioEngine.h"
#include "GameBegain.h"
#include "LoadingScene.h"
using namespace cocos2d;
using namespace CocosDenshion;
CCScene* Win::scene(int tag)
{
CCScene* scene = CCScene::create();
Win* layer = Win::create(tag);
scene->addChild(layer);
return scene;
}
bool Win::init(int tag)
{
if ( !CCLayer::init() )
{
return false;
}
this->tag = tag;
CCSize size = CCDirector::sharedDirector()->getWinSize();
//背景
CCSprite* sp = CCSprite::create("FBrank_bg-iphone4.jpg");
CCSprite * sp2 = CCSprite::create("00_perfect03-iphone4.png");
sp->setPosition(ccp(size.width*0.5, size.height*0.5));
sp2->setPosition(ccp(size.width*0.5, size.height*0.65));
CCBlink*blink = CCBlink::create(1, 10);
CCRepeatForever*repeat = CCRepeatForever::create(blink);
sp2->runAction(repeat);
addChild(sp,0);
addChild(sp2,0);
//
CCSprite*yellowLan = CCSprite::create("FBrank_ranked03-iphone4.png");
yellowLan->setPosition(ccp(size.width*0.5, size.height*0.7));
addChild(yellowLan,1);
CCSprite*blueLan = CCSprite::create("FBrank_ranked01-iphone4.png");
blueLan->setPosition(ccp(size.width*0.5,size.height*0.4));
addChild(blueLan);
CCMenuItemImage* BackChoose = CCMenuItemImage::create("FBrank_button02-iphone4.png","FBrank_button02-iphone4.png",this,menu_selector(Win::BackChoose));
BackChoose->setPosition(ccp(size.width*0.5,size.height*0.1));
//排行榜
CCMenuItemImage* Paihang = CCMenuItemImage::create("FBrank_button03-iphone4.png","FBrank_button03-iphone4.png",this,menu_selector(Win::Paihang));
Paihang->setPosition(ccp(size.width*0.85,size.height*0.1));
//replay
CCMenuItemImage* Retry = CCMenuItemImage::create("FBrank_button01-iphone4.png","FBrank_button01-iphone4.png",this,menu_selector(Win::Retry));
Retry->setPosition(ccp(size.width*0.15,size.height*0.1));
CCMenu* menu = CCMenu::create(BackChoose,Retry,Paihang,NULL);
menu->setPosition(CCPointZero);
addChild(menu);
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("normalScore.mp3");
if (tag==1)
{
CCLabelTTF * word = CCLabelTTF::create("世界纪录:5.00ms", "Helvetica", 20);
this->addChild(word,2);
word->setPosition(ccp(yellowLan->getPositionX()+60, yellowLan->getPositionY()));
int n = CCUserDefault::sharedUserDefault()->getIntegerForKey("sc");
int m = CCUserDefault::sharedUserDefault()->getIntegerForKey("cs");
CCString * s = CCString::createWithFormat("得分:%d.%dms",n,m);
CCLabelTTF * label = CCLabelTTF::create(s->getCString(), "Helvetica", 20);
this->addChild(label,2);
label->setPosition(ccp(blueLan->getPositionX()+60, blueLan->getPositionY()));
}
else
{
CCLabelTTF * word = CCLabelTTF::create("世界纪录:0.2ms", "Helvetica", 20);
this->addChild(word,2);
word->setPosition(ccp(yellowLan->getPositionX()+60, yellowLan->getPositionY()));
float n = CCUserDefault::sharedUserDefault()->getFloatForKey("score");
CCString * s = CCString::createWithFormat("得分:%.2fms",n/9);
CCLabelTTF * label = CCLabelTTF::create(s->getCString(), "Helvetica", 20);
this->addChild(label,2);
label->setPosition(ccp(blueLan->getPositionX()+60, blueLan->getPositionY()));
}
return true;
}
Win*Win::create(int tag)
{
Win*pRet = new Win();
if (pRet&&pRet->init(tag))
{
pRet->autorelease();
return pRet;
}
else
{
CC_SAFE_RELEASE_NULL(pRet);
return NULL;
}
}
void Win::Retry()
{
if (tag==1)
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("gen_click.mp3");
Loadingscene * s = Loadingscene::creat(TargetSceneGame2Scene, 1);
CCDirector::sharedDirector()->replaceScene(s);
}
else if(tag==2)
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("gen_click.mp3");
Loadingscene * s = Loadingscene::creat(TargetSceneInstructionScene, 2);
CCDirector::sharedDirector()->replaceScene(s);
}
}
void Win::BackChoose()
{
Loadingscene * s = Loadingscene::creat(TargetSceneGameChooseScene, 0);
CCDirector::sharedDirector()->replaceScene(s);
}
Win::~Win()
{
this->removeAllChildren();
this->removeFromParent();
}
void Win::Paihang()
{
}
#ifndef __HardGame__FailBoy__
#define __HardGame__FailBoy__
#ifndef __HardestGameEver__fail__
#define __HardestGameEver__fail__
#include "cocos2d.h"
USING_NS_CC;
#include <iostream>
class Fail:public CCSprite
{
public:
bool initWithFile(const char *pszFilename,int tag);
static Fail*create(const char *pszFilename,int tag);
void move();
void install();
~Fail();
private:
int tag;
};
#endif
#include "FailBoy.h"
#include "SimpleAudioEngine.h"
#include "GameScene2.h"
#include "LoadingScene.h"
using namespace cocos2d;
using namespace CocosDenshion;
CCScene* FailBoy::scene(int tag)
{
CCScene* scene = CCScene::create();
FailBoy* layer = FailBoy::create(tag);
scene->addChild(layer);
return scene;
}
bool FailBoy::init(int tag)
{
if ( !CCLayer::init() )
{
return false;
}
CCSize size = CCDirector::sharedDirector()->getWinSize();
//背景
CCSprite* sp = CCSprite::create("arcade_bg-iphone4.jpg");
sp->setPosition(ccp(size.width*0.5, size.height*0.5));
addChild(sp,0);
this->tag = tag;
//boy
CCSprite* boy = CCSprite::create("fail_boy-iphone41.png");
boy->setPosition(ccp(size.width*0.5, size.height* 1.2));
CCMoveTo*boyMove = CCMoveTo::create(0.2, ccp(size.width*0.5, size.height*0.3));
boy->runAction(boyMove);
addChild(boy,1);
//栏杆Langan
CCSprite* Langan = CCSprite::create("fail_prison-iphone4.png");
Langan->setPosition(ccp(size.width*0.5, size.height*3.5));
CCMoveTo* langanMove = CCMoveTo::create(0.6, ccp(size.width*0.5, size.height*0.5));
Langan->runAction(langanMove);
addChild(Langan,2);
//Back
CCMenuItemImage* itemBack = CCMenuItemImage::create("fail_button01-iphone4.png","fail_button01-iphone4.png",this,menu_selector(FailBoy::BackBegin));
itemBack->setPosition(ccp(20,270));
//排行榜
CCMenuItemImage* itemPh = CCMenuItemImage::create("fail_button02-iphone4.png","fail_button02-iphone4.png",this,menu_selector(FailBoy::retry));
itemPh->setPosition(ccp(100,270));
//replay
CCMenuItemImage* itemRe = CCMenuItemImage::create("arcade_button06-iphone4.png","arcade_button06-iphone4.png",this,menu_selector(FailBoy::retry));
itemRe->setPosition(ccp(130,0));
CCMenu* menu = CCMenu::create(itemBack,itemRe,itemPh,NULL);
menu->setPosition(CCPointZero);
//锁
CCSprite* lock = CCSprite::create("fail_kanban-iphone4.png");
lock->setPosition(ccp(size.width*0.5, size.height*3.5));
CCMoveTo* lockMove = CCMoveTo::create(1, ccp(size.width*0.5-2, size.height*0.5));
lock->runAction(lockMove);
addChild(lock,3);
lock-> addChild(menu,3);
this->scheduleOnce(schedule_selector(FailBoy::LockDelay),0.6f);
this->scheduleOnce(schedule_selector(FailBoy::ScreamDelay),0.7f);
if (tag==1)
{
int n = CCUserDefault::sharedUserDefault()->getIntegerForKey("sc");
int m = CCUserDefault::sharedUserDefault()->getIntegerForKey("cs");
CCString * s = CCString::createWithFormat("您的得分:%d.%dms\n闯关要求:<10.00ms",n,m);
CCLabelTTF * label = CCLabelTTF::create(s->getCString(), "Helvetica", 15);
lock->addChild(label,4);
label->setPosition(ccp(lock->getContentSize().width*0.5, lock->getContentSize().height*0.5));
}
else
{
float n = CCUserDefault::sharedUserDefault()->getFloatForKey("score");
CCString * s = CCString::createWithFormat("您的得分:%.2fms\n闯关要求:<0.5ms",n/9);
CCLabelTTF * label = CCLabelTTF::create(s->getCString(), "Helvetica", 15);
lock->addChild(label,4);
label->setPosition(ccp(lock->getContentSize().width*0.5, lock->getContentSize().height*0.5));
}
return true;
}
FailBoy*FailBoy::create(int tag)
{
FailBoy * pRet = new FailBoy();
if (pRet&&pRet->init( tag))
{
pRet->autorelease();
return pRet;
}
else
{
CC_SAFE_RELEASE_NULL(pRet);
return NULL;
}
}
void FailBoy::BackBegin()
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("gen_click.mp3");
Loadingscene * s = Loadingscene::creat(TargetSceneGameChooseScene, 0);
CCDirector::sharedDirector()->replaceScene(s);
}
void FailBoy::retry()
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("gen_click.mp3");
if (tag==1)
{
Loadingscene * s = Loadingscene::creat(TargetSceneGame2Scene, 1);
CCDirector::sharedDirector()->replaceScene(s);
}
else if(tag==2)
{
Loadingscene * s = Loadingscene::creat(TargetSceneInstructionScene, 2);
CCDirector::sharedDirector()->replaceScene(s);
}
}
void FailBoy::LockDelay()
{
SimpleAudioEngine::sharedEngine()->playEffect("failDrop.mp3");
}
void FailBoy::ScreamDelay()
{
SimpleAudioEngine::sharedEngine()->playEffect("failShout.mp3");
}
FailBoy::~FailBoy()
{
this->removeAllChildren();
this->removeFromParent();
}
#ifndef __HardestGameEver__LockAnimate__
#define __HardestGameEver__LockAnimate__
#include <iostream>
#include "cocos2d.h"
using namespace cocos2d;
class LockAnimate : public cocos2d::CCLayer
{
public:
virtual bool init();
static cocos2d::CCScene* scene();
~LockAnimate();
CREATE_FUNC(LockAnimate);
private:
void lockEvent();
};
#endif
#include "LockAnimate.h"
#include "GameChoose.h"
#include "SimpleAudioEngine.h"
using namespace cocos2d;
using namespace CocosDenshion;
CCScene* LockAnimate::scene()
{
CCScene* scene = CCScene::create();
LockAnimate* layer = LockAnimate::create();
scene->addChild(layer);
return scene;
}
bool LockAnimate::init()
{
if ( !CCLayer::init() )
{
return false;
}
CCSprite* lockLeft = CCSprite::create("select_lock01-iphone4.png");
CCSprite* lockright = CCSprite::create("select_lock02-iphone4.png");
addChild(lockLeft,1,102);
addChild(lockright,1,103);
CCMenuItemImage* lock = CCMenuItemImage::create("select_lock03-iphone4.png","select_lock04-iphone4.png",this,menu_selector(LockAnimate::lockEvent));
CCMenu* menu = CCMenu::create(lock,NULL);
menu->setPosition(CCPointZero);
addChild(menu,2,101);
lockLeft->setPosition(ccp(menu->getPositionX()-30, menu->getPositionY()+5));
lockright->setPosition(ccp(menu->getPositionX()+30, menu->getPositionY()+5));
return true;
}
void LockAnimate::lockEvent()
{
GameChoose::shared()->setTouchEnabled(true);
CCSize size = CCDirector::sharedDirector()->getWinSize();
int n = CCUserDefault::sharedUserDefault()->getIntegerForKey("sc");
int m = CCUserDefault::sharedUserDefault()->getIntegerForKey("cs");
CCString * s = CCString::createWithFormat("您的上一关卡得分:%d.%dms\n闯关需要得分<10.0ms",n,m);
if (this->getPositionX()<size.width*0.5)
{
SimpleAudioEngine::sharedEngine()->playEffect("chainDrop.mp3");
GameChoose::shared()->addstar(this);
this->removeFromParent();
}
else
{
if(n>=10)
{
CCLabelTTF * label = CCLabelTTF::create(s->getCString(), "Helvetica", 20);
GameChoose::shared()->addChild(label,4,1211);
label->setPosition(ccp(size.width*0.5, size.height*0.1));
CCMoveTo*action = CCMoveTo::create(1.0f, ccp(size.width*0.5, size.height*0.5));
label->runAction(action);
GameChoose::shared()->scheduleOnce(schedule_selector(GameChoose::delelabel), 1.2f);
}
else
{
CCSprite * news = CCSprite::create("select_button07-iphone4.png");
news->setPosition(ccp(this->getPositionX()+30, this->getPositionY()+35));
news->setRotation(30);
GameChoose::shared()->addChild(news,5);
SimpleAudioEngine::sharedEngine()->playEffect("chainDrop.mp3");
GameChoose::shared()->addstar(this);
this->removeFromParent();
}
}
}
LockAnimate::~LockAnimate()
{
this->removeAllChildren();
this->removeFromParent();
}
#ifndef __HardGame__GameChoose__
#define __HardGame__GameChoose__
#include <iostream>
#include "cocos2d.h"
class LockAnimate;
using namespace cocos2d;
class GameChoose : public cocos2d::CCLayer
{
public:
virtual bool init();
static cocos2d::CCScene* scene();
void addstar(LockAnimate*s);
static GameChoose*shared();
CREATE_FUNC(GameChoose);
virtual~GameChoose();
void delelabel();
void addlock(int tag);
virtual void keyBackClicked();
private:
CCSprite* picture1;
CCSprite* picture2;
int tag;
bool isToucheMe(CCPoint pos);
void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);
void BackBegin();
void choose1();
void choose2();
static GameChoose*gamechose;
};
#endif
#include "GameChoose.h"
#include "GameMode.h"
#include "GameScene.h"
#include "SimpleAudioEngine.h"
#include "StarAnimate.h"
#include "LoadingScene.h"
#include "LockAnimate.h"
using namespace cocos2d;
using namespace CocosDenshion;
GameChoose*GameChoose::gamechose = NULL;
CCScene* GameChoose::scene()
{
CCScene* scene = CCScene::create();
GameChoose* layer = GameChoose::create();
scene->addChild(layer);
return scene;
}
bool GameChoose::init()
{
if ( !CCLayer::init() )
{
return false;
}
gamechose = this;
//响应手机触屏
this->setKeypadEnabled(true);
CCSize size = CCDirector::sharedDirector()->getWinSize();
//背景
CCSprite* sp = CCSprite::create("select_easy_bg-iphone4.jpg");
sp->setPosition(ccp(size.width*0.5, size.height*0.5));
addChild(sp);
//添加返回键
CCMenuItemImage* itemBack = CCMenuItemImage::create("select_button-iphone4.png","select_button-iphone4.png",this,menu_selector(GameChoose::BackBegin));
itemBack->setPosition(ccp(itemBack->getContentSize().width - 180,
itemBack->getContentSize().height + 145));
CCMenu* menu = CCMenu::create(itemBack,NULL);
addChild(menu);
//picture1
picture1 = CCSprite::create("select_image19-iphone4.png");
picture1->setPosition(ccp(size.width*0.28, size.height*0.7));
this->addChild(picture1,1,100);
CCSprite* outline1 =CCSprite::create("select_stage01-iphone4.png");
outline1->setPosition(ccp(size.width*0.28, size.height*0.7));
this->addChild(outline1,3,103);
this->addlock(1);
CCTexture2D*texture = CCTextureCache::sharedTextureCache()->addImage("stage123.png");
StarAnimate* star = StarAnimate::create(texture);
star->setPosition(ccp(picture1->getPosition().x, picture1->getPosition().y));
this->addChild(star,0,1000);
//picture2
picture2 = CCSprite::create("select_image14-iphone4.png");
picture2->setPosition(ccp(size.width*0.72, size.height*0.7));
this->addChild(picture2,2,102);
CCSprite* outline2 =CCSprite::create("select_stage01-iphone4.png");
outline2->setPosition(ccp(size.width*0.72, size.height*0.7));
this->addChild(outline2,3,104);
StarAnimate* star2 = StarAnimate::create(texture);
star2->setPosition(ccp(picture2->getPosition().x, picture2->getPosition().y));
this->addChild(star2,0,999);
this->addlock(2);
return true;
}
void GameChoose::ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent)
{
CCTouch * touch = (CCTouch *)pTouches->anyObject();
CCPoint location = touch->getLocation();
if (isToucheMe(location))
{
switch (tag)
{
case 0:
{
this->choose1();
break;
}
case 1:
{
this->choose2();
break;
}
default:
break;
}
}
}
bool GameChoose::isToucheMe(CCPoint pos)
{
//play键的rect
CCRect touchrect = CCRectMake(picture1->getPosition().x - 105/2, picture1->getPosition().y - 86/2, 105, 86);
CCRect touchrect2 = CCRectMake(picture2->getPosition().x - 105/2, picture1->getPosition().y - 86/2, 105, 86);
//设置键的rect
if (touchrect.containsPoint(pos))
{
tag = 0;
return true;
}
else if (touchrect2.containsPoint(pos))
{
tag = 1;
return true;
}
else
{
return false;
}
}
void GameChoose::choose1()
{
SimpleAudioEngine::sharedEngine()->playEffect("08_jackpotStop.mp3");
Loadingscene * s = Loadingscene::creat(TargetSceneGame2Scene, 1);
CCDirector::sharedDirector()->replaceScene(s);
}
void GameChoose::choose2()
{
SimpleAudioEngine::sharedEngine()->playEffect("08_jackpotStop.mp3");
Loadingscene * s = Loadingscene::creat(TargetSceneInstructionScene, 2);
CCDirector::sharedDirector()->replaceScene(s);
}
void GameChoose::BackBegin()
{
SimpleAudioEngine::sharedEngine()->playEffect("gen_click.mp3");
CCDirector::sharedDirector()->replaceScene( GameMode::scene());
}
void GameChoose::addstar(LockAnimate*s)
{
CCSize size = CCDirector::sharedDirector()->getWinSize();
if (s->getPositionX()<size.width*0.5)
{
this->removeChildByTag(103);
StarAnimate* star1 = (StarAnimate*)this->getChildByTag(1000);
this->reorderChild(star1, 1);
}
else
{
this->removeChildByTag(104);
StarAnimate* star2 = (StarAnimate*)this->getChildByTag(999);
this->reorderChild(star2, 2);
}
}
GameChoose*GameChoose::shared()
{
return gamechose;
}
GameChoose::~GameChoose()
{
this->removeAllChildren();
this->setTouchEnabled(false);
}
void GameChoose::delelabel()
{
this->removeChildByTag(1211);
}
void GameChoose::addlock(int tag)
{
if(tag==1)
{
LockAnimate * lock1 = LockAnimate::create();
this->addChild(lock1,4,9999);
lock1->setPosition(picture1->getPosition());
}
else
{
LockAnimate * lock2 = LockAnimate::create();
this->addChild(lock2,4,8888);
lock2->setPosition(picture2->getPosition());
}
}
void GameChoose::keyBackClicked()
{
SimpleAudioEngine::sharedEngine()->playEffect("ComboMax.mp3");
CCDirector::sharedDirector()->replaceScene( GameMode::scene());
}