void GameLayer::SetFood(){ this->removeChild(food); Point foodposi = RandomPosition(); Point headposi = head->getPosition(); while (foodposi==headposi||ifCollideBody(foodposi)) { foodposi = RandomPosition(); } food = Sprite::create("Food.png"); food->setPosition(foodposi); this->addChild(food); }
bool World::CreateEntity() { entity_ptr player(new PlayerEntity); if (!player) return false; player->ID(entities.size()); player->Position(RandomPosition(0, 448)); entities.push_back(player); out_buffer->pushMessage(Serialize()); //OUT_BUFFER.PushMessage(entities.back()); return true; }
//gera o movimento da maquina int *GetComputerMovement(int hash[HASH_DIMENSION][HASH_DIMENSION]) { //se puder vencer vença! if(ComputerCanWin(hash)) return ComputerWinningPosition(hash); //não permitir que o adversário vença! if(PlayerCanWin(hash)) return PlayerWinningPosition(hash); //tente montar um triangulo if(ComputerCanBuildTriangle(hash)) return ComputerTrianglePosition(hash); //bloqueie o triangulo do oponente if(PlayerCanBuildTriangle(hash)) return PlayerTrianglePosition(hash); //jogue no centro if(CenterIsAvailable(hash)) return CenterPosition(); //jogue no canto if(CornerIsAvailable(hash)) return RandomCorner(hash); //jogue numa posição qualquer return RandomPosition(hash); }