Example #1
0
MainMenu::MainMenu(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainMenu)
{
    ui->setupUi(this);
    //playFontMusic();
    connect(ui->playButton,&QPushButton::clicked, this, &MainMenu::playButtonClicked);
    connect(ui->optionsButton,&QPushButton::clicked, this, &MainMenu::optionsButtonClicked);
    //connect(levelMenuEx, SIGNAL(backToMenu()), this, SLOT(showMenu()));
    ui->infoButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    ui->optionsButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    ui->playButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    ui->rulesButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    ui->label->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    connect(optionsWindow, SIGNAL(backToMenu()), this, SLOT(showMenu()));
    connect(rulesField, SIGNAL(backToMenu()), this, SLOT(showMenu()));
    connect(ui->rulesButton, &QPushButton::clicked, this, &MainMenu::rulesButtonClicked);
    connect(ui->infoButton, &QPushButton::clicked, this, &MainMenu::infoButtonClicked);
    //connect(gameField, SIGNAL(endGame()), this, SLOT(showMenu()));
}
Example #2
0
bool AboutLayer::init()
{
	bool bRet = false;
	do 
	{
		auto board = Sprite::create("ui/about-board.png");
		CC_BREAK_IF(board == NULL);
		board->setPosition(Point(WINSIZE.width / 2 + 300, WINSIZE.height / 2));
		this->addChild(board, enZOrderBoard, enTagBoard);
		auto actionTo = EaseElasticOut::create(MoveTo::create(1, Point(WINSIZE.width / 2, WINSIZE.height / 2)));
		board->runAction(actionTo);

		auto backBtn = Button::create("ui/back-btn.png", "ui/back-btn.png", "");
		backBtn->addTouchEventListener([&](Ref* sender, Widget::TouchEventType type){
			switch (type)
			{
			case ui::Widget::TouchEventType::BEGAN:
				break;
			case ui::Widget::TouchEventType::ENDED:
				backToMenu();
				break;
			default:
				break;
			}
		});

		backBtn->setPosition(Point(WINSIZE.width + 100, 60));
		backBtn->runAction(EaseElasticOut::create(MoveTo::create(1, Point(WINSIZE.width / 2 - 100, WINSIZE.height / 2 - 190))));
		this->addChild(backBtn, enZOrderBackBtn,enTagBackBtn);

		bRet = true;
		return bRet;
	} while (false);
	CCLOG("Func AboutLayer::init Run Error!");
	return bRet;
}
Example #3
0
void startGame()
{
	reset_hints();
	endMenu();
	wait(1);
	level_load("mainLevel.wmb");
//	level_load("menuLevel2.wmb");
//wait(1); // wait until last_error becomes valid
	on_esc = NULL;
	gameCameraInit();
	startIngameGUI();
	playMusicGameDay();
	startSnow();
	
	// Start a new day
	dayOrNight = DAY;
	dayTime = 28800;
	
	hut_restart();
	item_restart();
	show_dayhint();

	set(mtl_model, PASS_SOLID);
	random_seed(8);
	
	VECTOR tempVector;
	int i;
	for(i = 0; i < 100; i++)
	{
		vec_set(tempVector, vector(random(6400)-3200, random(6400)-3200, 0));
		if(vec_length(tempVector) < 800)
		{
			i--;
			continue;
		}
		
		tempVector.z = 5000;
		tempVector.z -= c_trace(tempVector, vector(tempVector.x, tempVector.y, -5000), SCAN_TEXTURE|IGNORE_PASSABLE|IGNORE_FLAG2);
		if(hit.nz < 0.5)
		{
			i--;
			continue;
		}
		
//		ENTITY *tree = ent_create("pine_3.mdl", tempVector, 0);
		ENTITY *tree = ent_create("pine_3_reduced.mdl", tempVector, 0);
		set(tree, PASSABLE|SHADOW);
		vec_scale(tree.scale_x, random(0.5) + 0.5);
		tree.pan = random(360);
		tree->emask &= ~DYNAMIC;
		
	}
	
	random_seed(0);
	pssm_run(4);
wait(1); // f*****g wait(1) seems to fix something which breaks everything

	var sunlightFactor = 0;
	var dayCounter = 0;
	while(isGameOver < 2)
	{
		if (isGameOver == 0)
		{
			updateGui();
			goblin_loop();
			item_spawn_loop();
			
			dayTime += DAY_TIME_SPEED * time_step * 1;
			if(dayTime >= 86400)
			{
				dayTime -= 86400;
				dayCounter += 1;
				
				goblinSpawnDelay = maxv(16.0*3.0-dayCounter*2, 1);
			}
			
			hours = integer(dayTime/60.0/60.0);
			minutes = (integer(dayTime)-hours*60.0*60.0)/60.0;
			
			sunlightFactor = sinv((dayTime-28800.0)/(60.0*60.0*12.0)*180.0);
			
			// Day start
			if(dayTime >= 28800 && dayOrNight == NIGHT && dayTime < 72000)
			{
				dayOrNight = 3;
				fadeWithBlack(startDay);
			}
			
			// Day
			if(sunlightFactor > 0.0)
			{
				sun_light = sunlightFactor*60;
			}
			
			// Night start
			if(dayTime >= 72000 && dayOrNight == DAY)
			{
				dayOrNight = 3;
				fadeWithBlack(startNight);
			}
			
			// Night
			if(sunlightFactor <= 0.0)
			{
				sun_light = -sunlightFactor*30;
			}
			
			sun_angle.pan = (dayTime-28800.0)/(60.0*60.0*12.0)*180.0;
			sun_angle.tilt = abs(ang(asinv(sunlightFactor)))*70.0/180.0+10.0;
			
			d3d_fogcolor1.red = sun_light*255.0/100.0;
			d3d_fogcolor1.green = sun_light*255.0/100.0;
			d3d_fogcolor1.blue = sun_light*255.0/100.0;
		}
		
		/*if (key_l) {
			while(key_l) wait(1);
			shake();
		}*/
		
		
		if (key_esc) {
			while(key_esc) wait(1);
			break;
		}
		wait(1);
	}
	isGameOver = 0;	
	backToMenu();
}