// on "init" you need to initialize your instance bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Point origin = Director::getInstance()->getVisibleOrigin(); //SET MOUSE LISTENER auto listener = EventListenerTouchOneByOne::create(); listener->setSwallowTouches(true); listener->onTouchBegan = CC_CALLBACK_2(HelloWorld::onTouchBegan, this); listener->onTouchMoved = CC_CALLBACK_2(HelloWorld::onTouchMoved, this); listener->onTouchEnded = CC_CALLBACK_2(HelloWorld::onTouchEnded, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); //END MOUSE LISTENER b2Vec2 gravity = b2Vec2(0.0f, -10.0f); world = new b2World(gravity); //CREATE A BALL dragOffsetStartX = 0; dragOffsetEndX = 0; dragOffsetStartY = 0; dragOffsetEndY = 0; existBall= false; ballX = 500; ballY = 200; powerMultiplier = 10; ball =Sprite::create("ball.png"); ball->setPosition(CCPoint(ballX,ballY)); this->addChild(ball); //HelloWorld::defineBall(); addWall(visibleSize.width ,10,(visibleSize.width / 2) ,0); //CEIL addWall(10 ,visibleSize.height ,0,(visibleSize.height / 2) ); //LEFT addWall(10 ,visibleSize.height ,visibleSize.width,(visibleSize.height / 2) ); //RIGHT for (int i = 1 ; i <= 31; i++) { points[i] =CCSprite::create("dot.png"); this->addChild(points[i]); } scheduleUpdate(); return true; }
/** * Handle all events that come from SDL. * These are timer or keyboard events. */ void SFApp::OnEvent(SFEvent& event) { SFEVENT the_event = event.GetCode(); switch (the_event) { case SFEVENT_QUIT: is_running = false; break; case SFEVENT_UPDATE: OnUpdateWorld(); OnRender(); break; case SFEVENT_PLAYER_LEFT: left = true; break; case SFEVENT_PLAYER_RIGHT: right = true; break; case SFEVENT_PLAYER_UP: up = true; break; case SFEVENT_PLAYER_DOWN: down = true; break; case SFEVENT_PLAYER_LEFT_RELEASED: left = false; break; case SFEVENT_PLAYER_RIGHT_RELEASED: right = false; break; case SFEVENT_PLAYER_UP_RELEASED: up = false; break; case SFEVENT_PLAYER_DOWN_RELEASED: down = false; break; case SFEVENT_FIRE: fired = true; break; case SFEVENT_FIRE_RELEASED: fired = false; fire = 0; break; case SFEVENT_LWALL: addWall(true); break; case SFEVENT_RWALL: addWall(false); break; case SFEVENT_RESET: Reset(); break; } }
void tmpAddWalls_1(System *sys){ float v1[3],v2[3],v3[3],v4[3]; v1[0]=-0.5; v1[1]=1; v1[2]=-0.5; v2[0]=-0.5; v2[1]=-1; v2[2]=-0.5; v3[0]=1; v3[1]=-1; v3[2]=0.5; v4[0]=1; v4[1]=1; v4[2]=0.5; addWall(sys,createWall(v1,v2,v3)); addWall(sys,createWall(v1,v3,v4)); v1[0]=-0.5; v1[1]=1; v1[2]=-0.51; v2[0]=-0.5; v2[1]=-1; v2[2]=-0.51; v3[0]=1; v3[1]=-1; v3[2]=0.49; v4[0]=1; v4[1]=1; v4[2]=0.49; addWall(sys,createWall(v1,v3,v2)); addWall(sys,createWall(v1,v4,v3)); }
void TheMaze2::addWalls(int xPos, int yPos, int zPos, int xOff, int yOff) { if (xOff != 0) { int abs_off = abs(xOff); int delta = xOff / abs_off; for (int i = 0; i != abs_off*delta; i += delta) { addWall(xPos + i*1000, yPos, zPos); } } if (yOff != 0) { int abs_off = abs(yOff); int delta = yOff / abs_off; for (int i = 0; i != abs_off*delta; i += delta) { addWall(xPos, yPos + i*1000, zPos); } } }
int Stage::buildBaseWalls() { int i = 0; i += addWall(-4, -4, 4, height_ + 8, false); i += addWall(width_, -4, 4, height_ + 8, false); i += addWall(0, -4, width_, 4, false); i += addWall(0, height_, width_, 4, false); baseWallLines_[0] = wallLines_[numWallLines_++] = new Line2D(0, 0, width_, 0); baseWallLines_[1] = wallLines_[numWallLines_++] = new Line2D(width_, 0, width_, height_); baseWallLines_[2] = wallLines_[numWallLines_++] = new Line2D(width_, height_, 0, height_); baseWallLines_[3] = wallLines_[numWallLines_++] = new Line2D(0, height_, 0, 0); return i; }
void Walls::addTile(TileMap &tilemap, TileMapEntry &tme) { Edge::ListConstIterator i; const Tile &t = tme.getTile(); for (i = t.edges.begin(); i != t.edges.end(); ++i) addWall(*i, tilemap, tme); }
void World::addWallRect(const QPoint &start, const QPoint &end, int type) { int width = (end.x() - start.x()) / 25; int height = (end.y() - start.y()) / 25; for (int q = 0; q < width; q ++) { for (int i = 0; i < height; i++) { addWall(QPoint(start.x() + 25 *q, start.y() + 25 * i), type); } } }
void RoundConfig::readSpecJson(const JsonLoader &loader, const Json::Value &obj) { SpecType type; loader.readVal(obj["_type"], &type); switch (type) { case SPEC_BRICK: loader.readVal(obj, &addBrick()); break; case SPEC_BRICK_RING: loader.readVal(obj, &addBrickRing()); break; case SPEC_BRICK_QUADS: loader.readVal(obj, &addBrickQuads()); break; case SPEC_WALL: loader.readVal(obj, &addWall()); break; case SPEC_WALL_RING: loader.readVal(obj, &addWallRing()); break; case SPEC_CURVED_BRICK_COLUMN: loader.readVal(obj, &addCurvedBrickColumn()); break; case SPEC_CURVED_WALL: loader.readVal(obj, &addCurvedWallSet()); break; case SPEC_BALL: { BallSpec spec; loader.readVal(obj, &spec); addBall(spec); break; } case SPEC_MODIFIER: { ModifierSpec spec; loader.readVal(obj, &spec); addModifierDef(spec.name, spec); break; } case SPEC_MESSAGE: { MessageSpec spec; loader.readVal(obj, &spec); addStartMessage(spec); break; } case SPEC_RING_SET: loader.readVal(obj, &addRingSet()); break; case SPEC_UNKNOWN: default: //... break; } }
void addPattern(Game_Data* data, Pattern* pattern, unsigned char offset, unsigned char isReversed) { unsigned int i; for(i = 0; i < pattern->length; i++) { // Build wall int finalSide; if(isReversed) { finalSide = (pattern->side[i] + offset)%data->nb_lines; } else { finalSide = (data->nb_lines - pattern->side[i] + offset)%data->nb_lines; } data->list = addWall(data->list, pattern->distance[i] + pattern->wall_length[i] + 128, pattern->wall_length[i], 1, finalSide); } }
cbLab::cbLab(void) { /* init attributes */ name = "NO NAMED LAB"; height = width = 16.0; /* make border wall and add it to walls */ cbWall *border = new cbWall; border->addCorner(0,0); border->addCorner(0,height); border->addCorner(width,height); border->addCorner(width,0); addWall(border); border->showCorners(); }
void World::loadMission(int index) { _isGameOver = false; switch (index) { case 0: { _playerLife = 3; _enemyLife = 10; _spawnPos.append(QPoint(237, 350)); _spawnPos.append(QPoint(25, 25)); _spawnPos.append(QPoint(400, 25)); addWall(QPoint(225,450),2); addWall(QPoint(225,425),0); addWall(QPoint(250,425),0); addWall(QPoint(200,425),0); addWall(QPoint(275,425),0); addWall(QPoint(200,450),0); addWall(QPoint(275,450),0); addWall(QPoint(200,475),0); addWall(QPoint(275,475),0); addWallRect(QPoint(50,300),QPoint(100, 450),0); addWallRect(QPoint(400,300),QPoint(450, 450),0); addWallRect(QPoint(100,100), QPoint(400, 200), 0); addWallRect(QPoint(-25,-25), QPoint(500, 0), 3); addWallRect(QPoint(-25,-25), QPoint(0, 500), 3); addWallRect(QPoint(0,500), QPoint(500, 525), 3); addWallRect(QPoint(500,0), QPoint(525, 500), 3); /*Tank *tank = new Tank; tank->setPos(QPoint(50,50)); _tankList.append(tank); _playerTank = tank;*/ break; } } }
WallpaperChooser::WallpaperChooser(QWidget *parent) : QWidget(parent) // This widget is shown on the bottom of the screen, // it allows to select a wallpaper and some other parameters { mainColor = QColor(Qt::white); // Used to build the gradient with a cool color, TODO: make it changeable m_settings = new QSettings("Desktop", "Desktop"); m_URLList = m_settings->value("WallpaperList").toStringList(); m_settings->value("BackgroundColor", Qt::black).value<QColor>(); layout = new QGridLayout(this); wallpaperList = new QListWidget(); wallpaperList->setStyleSheet("QListWidget{background-color: transparent; border: none;}"); wallpaperList->setViewMode(QListView::IconMode); wallpaperList->setIconSize(QSize(100, 100)); wallpaperList->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn); wallpaperList->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); wallpaperList->setFlow(QListWidget::TopToBottom); wallpaperList->setMovement(QListWidget::Static); wallpaperList->setResizeMode(QListWidget::Adjust); connect(wallpaperList, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(wallSelected(QListWidgetItem*))); layout->addWidget(wallpaperList, 0, 0, 2, 4); WallsThread *thread = new WallsThread(); thread->run(wallpaperList, m_URLList); addb = new QPushButton(QIcon::fromTheme("add"), tr("Add")); connect(addb, SIGNAL(clicked()), SLOT(addWall())); layout->addWidget(addb, 0, 4); removeb = new QPushButton(QIcon::fromTheme("remove"), tr("Remove")); connect(removeb, SIGNAL(clicked()), SLOT(removeWall())); layout->addWidget(removeb, 1, 4); colorb = new QPushButton(tr("Background color")); connect(colorb, SIGNAL(clicked()), SLOT(colorSelected())); layout->addWidget(colorb, 2, 0); stylecb = new QComboBox(); stylecb->insertItems(0, QStringList() << tr("Zoomed") << tr("Centered") << tr("Resized") << tr("Enlarged")); stylecb->setCurrentIndex(m_settings->value("Style", Zoomed).toInt()); connect(stylecb, SIGNAL(currentIndexChanged(int)), this, SLOT(styleSelected(int))); layout->addWidget(stylecb, 2, 1); layout->addItem(new QSpacerItem(1, 1, QSizePolicy::Expanding), 2, 2); okb = new QPushButton(QIcon::fromTheme("dialog-apply"), tr("Apply")); connect(okb, SIGNAL(clicked()), this, SLOT(emitHide())); layout->addWidget(okb, 2, 4); }
void tmpAddWalls_2(System *sys){ float minx,maxx; float miny,maxy; float minz,maxz; float v1[3],v2[3],v3[3],v4[3]; float v5[3],v6[3],v7[3],v8[3]; float v9[3]; minx=-1; maxx=1; miny=-1; maxy=1; minz=-1; maxz=0; v1[0]=(minx+maxx)/2; v1[1]=miny; v1[2]=(minz+maxz)/2; v2[0]=maxx; v2[1]=(miny+maxy)/2; v2[2]=(minz+maxz)/2; v3[0]=(minx+maxx)/2; v3[1]=maxy; v3[2]=(minz+maxz)/2; v4[0]=minx; v4[1]=(miny+maxy)/2; v4[2]=(minz+maxz)/2; v5[0]=minx; v5[1]=miny; v5[2]=maxz; v6[0]=maxx; v6[1]=miny; v6[2]=maxz; v7[0]=maxx; v7[1]=maxy; v7[2]=maxz; v8[0]=minx; v8[1]=maxy; v8[2]=maxz; v9[0]=(minx+maxx)/2; v9[1]=(miny+maxy)/2; v9[2]=minz; addWall(sys,createWall(v1,v2,v9)); addWall(sys,createWall(v1,v6,v2)); addWall(sys,createWall(v2,v3,v9)); addWall(sys,createWall(v2,v7,v3)); addWall(sys,createWall(v3,v4,v9)); addWall(sys,createWall(v3,v8,v4)); addWall(sys,createWall(v4,v1,v9)); addWall(sys,createWall(v4,v5,v1)); }
//initialisation function of scene, adding boundary walls void Scene::init() { //cube only simulation box float _size = (m_simBox.m_maxx+m_simBox.m_maxy+m_simBox.m_maxz)/3 - (m_simBox.m_minx+m_simBox.m_miny+m_simBox.m_minz)/3; //time to add the walls //left wall addWall(ngl::Vec3(m_simBox.m_minx,0,0), _size, ngl::Vec3(1.0, 0.0, 0.0),true); //right wall addWall(ngl::Vec3(m_simBox.m_maxx,0,0), _size, ngl::Vec3(-1.0, 0.0, 0.0),true); //bottom wall addWall(ngl::Vec3(0,m_simBox.m_maxy,0), _size, ngl::Vec3(0.0, -1.0, 0.0),true); //top wall addWall(ngl::Vec3(0,m_simBox.m_miny,0), _size, ngl::Vec3(0.0, 1.0, 0.0),true); //front wall addWall(ngl::Vec3(0,0,m_simBox.m_maxz), _size, ngl::Vec3(0.0, 0.0, -1.0),false); //back wall addWall(ngl::Vec3(0,0,m_simBox.m_minz), _size, ngl::Vec3(0.0, 0.0, 1.0),true); }
void Physics::registBodies(){ addFloor(); addBall(2.5,btVector3(SIZE_WIDTH/1.5,0,SIZE_DEPTH/1.5),0.08); btVector3 posTeam1[] = {btVector3(15,4,SIZE_DEPTH- 55),btVector3(35,4,30),btVector3(55,4,45)}; btVector3 posTeam2[] = {btVector3(SIZE_WIDTH-15,4,55),btVector3(SIZE_WIDTH-25,4,SIZE_DEPTH - SIZE_DEPTH/2.5 + 20),btVector3(SIZE_WIDTH-55,4,85)}; //Create robots here //Team 1 for(int i = 0;i < numRobotsTeam;i++){ if(numTeams >= 1){ addRobot(Color(0.3,0.3,0.3),posTeam1[i],btVector3(0,90,0),8,0.25,clrPlayers[i],clrTeams[0]); } } for(int i = 0;i < numRobotsTeam;i++){ if(numTeams == 2){ addRobot(Color(0.3,0.3,0.3),posTeam2[i],btVector3(0,-100,0),8,0.25,clrPlayers[i],clrTeams[1]); } } addWall(Color(0,0,0),btVector3(SIZE_WIDTH/2+1,7.5,-2.5),SIZE_WIDTH,15,5,0); addWall(Color(0,0,0),btVector3(SIZE_WIDTH/2+1,7.5,SIZE_DEPTH+2.5),SIZE_WIDTH,15,5,0); addWall(Color(0,0,0),btVector3(-1.6,7.5,SIZE_DEPTH/6),5,15,SIZE_DEPTH/3,0); addWall(Color(0,0,0),btVector3(-1.6,7.5,SIZE_DEPTH-SIZE_DEPTH/6),5,15,SIZE_DEPTH/3,0); addWall(Color(0,0,0),btVector3(-12.5,7.5, SIZE_DEPTH/2),5,15,SIZE_DEPTH/3,0); addWall(Color(0,0,0),btVector3(-7,7.5,SIZE_DEPTH/3),15,15,5,0); addWall(Color(0,0,0),btVector3(-7,7.5,2*SIZE_DEPTH/3+2.5),15,15,5,0); addWall(Color(0,0,0),btVector3(SIZE_WIDTH+3.5,7.5,SIZE_DEPTH/6),5,15,SIZE_DEPTH/3,0); addWall(Color(0,0,0),btVector3(SIZE_WIDTH+3.5,7.5,SIZE_DEPTH-SIZE_DEPTH/6),5,15,SIZE_DEPTH/3,0); addWall(Color(0,0,0),btVector3(SIZE_WIDTH+13.5,7.5, SIZE_DEPTH/2),5,15,SIZE_DEPTH/3,0); addWall(Color(0,0,0),btVector3(SIZE_WIDTH+8.5,7.5,SIZE_DEPTH/3),15,15,5,0); addWall(Color(0,0,0),btVector3(SIZE_WIDTH+8.5,7.5,2*SIZE_DEPTH/3+2.5),15,15,5,0); addCorner(Color(0,0,0),btVector3(10,7.5,10),30,15,btVector3(0,45,0)); addCorner(Color(0,0,0),btVector3(SIZE_WIDTH-9,7.5,10),30,15,btVector3(0,-45,0)); addCorner(Color(0,0,0),btVector3(SIZE_WIDTH-9,7.5,SIZE_DEPTH-10),30,15,btVector3(0,45,0)); addCorner(Color(0,0,0),btVector3(10,7.5,SIZE_DEPTH-10),30,15,btVector3(0,-45,0)); }
void tmpAddWalls_3(System *sys){ float xmin,xmax; float ymin,ymax; float zmin,zmax; //position of wall float holeDim; //hole centered on (xmax+xmin)/2 and (ymin+ymax)/2 float xmin2,xmax2; float ymin2,ymax2; float v[24][3]; xmin=-1; xmax=1; ymin=-1; ymax=1; zmin=-0.3; zmax=0.3; holeDim=0.2; xmin2=(xmin+xmax)/2-holeDim/2; xmax2=(xmin+xmax)/2+holeDim/2; ymin2=(ymin+ymax)/2-holeDim/2; ymax2=(ymin+ymax)/2+holeDim/2; v[0][0]=xmin; v[0][1]=ymin; v[0][2]=zmin; v[1][0]=xmin; v[1][1]=ymax; v[1][2]=zmin; v[2][0]=xmax; v[2][1]=ymax; v[2][2]=zmin; v[3][0]=xmax; v[3][1]=ymin; v[3][2]=zmin; v[4][0]=xmin2; v[4][1]=ymin2; v[4][2]=zmin; v[5][0]=xmin2; v[5][1]=ymax2; v[5][2]=zmin; v[6][0]=xmax2; v[6][1]=ymax2; v[6][2]=zmin; v[7][0]=xmax2; v[7][1]=ymin2; v[7][2]=zmin; v[8][0]=xmin2; v[8][1]=ymin; v[8][2]=zmin; v[9][0]=xmin2; v[9][1]=ymax; v[9][2]=zmin; v[10][0]=xmax2; v[10][1]=ymax; v[10][2]=zmin; v[11][0]=xmax2; v[11][1]=ymin; v[11][2]=zmin; v[12][0]=xmin; v[12][1]=ymin; v[12][2]=zmax; v[13][0]=xmin; v[13][1]=ymax; v[13][2]=zmax; v[14][0]=xmax; v[14][1]=ymax; v[14][2]=zmax; v[15][0]=xmax; v[15][1]=ymin; v[15][2]=zmax; v[16][0]=xmin2; v[16][1]=ymin2; v[16][2]=zmax; v[17][0]=xmin2; v[17][1]=ymax2; v[17][2]=zmax; v[18][0]=xmax2; v[18][1]=ymax2; v[18][2]=zmax; v[19][0]=xmax2; v[19][1]=ymin2; v[19][2]=zmax; v[20][0]=xmin2; v[20][1]=ymin; v[20][2]=zmax; v[21][0]=xmin2; v[21][1]=ymax; v[21][2]=zmax; v[22][0]=xmax2; v[22][1]=ymax; v[22][2]=zmax; v[23][0]=xmax2; v[23][1]=ymin; v[23][2]=zmax; addWall(sys,createWall(v[0],v[1],v[9])); addWall(sys,createWall(v[0],v[9],v[8])); addWall(sys,createWall(v[5],v[9],v[10])); addWall(sys,createWall(v[5],v[10],v[6])); addWall(sys,createWall(v[8],v[4],v[7])); addWall(sys,createWall(v[8],v[7],v[11])); addWall(sys,createWall(v[11],v[10],v[2])); addWall(sys,createWall(v[11],v[2],v[3])); addWall(sys,createWall(v[12],v[21],v[13])); addWall(sys,createWall(v[12],v[20],v[21])); addWall(sys,createWall(v[17],v[22],v[21])); addWall(sys,createWall(v[17],v[18],v[22])); addWall(sys,createWall(v[20],v[19],v[16])); addWall(sys,createWall(v[20],v[23],v[19])); addWall(sys,createWall(v[23],v[14],v[22])); addWall(sys,createWall(v[23],v[15],v[14])); addWall(sys,createWall(v[4],v[16],v[19])); addWall(sys,createWall(v[4],v[19],v[7])); addWall(sys,createWall(v[5],v[18],v[17])); addWall(sys,createWall(v[5],v[6],v[18])); addWall(sys,createWall(v[5],v[17],v[16])); addWall(sys,createWall(v[5],v[16],v[4])); addWall(sys,createWall(v[6],v[19],v[18])); addWall(sys,createWall(v[6],v[7],v[19])); }
void MazeParser::parseFloorPlan(int count, char *line) { int i; int *walls; int row; float x,y; /* make room for the data */ walls = (int *)malloc(sizeof(int) * cells_wide); if (!walls) { fprintf(stderr, "ERROR! Unable to allocate memory to parse floor plan\n"); fflush(stderr); exit(-1); } /* first parse the line and determine where the walls are */ for (i = 0; i < cells_wide; i++) { walls[i] = getWall(&line); /* note that a 0 indicates no wall, else is the wall number */ if ((walls[i] < 0) || (walls[i] > num_tex)) { fprintf(stderr,"ERROR! Invalid wall specified\n"); fflush(stderr); exit(-1); } } row = count/2; y = (((float)scene_height) / (float)2) - row * cell_size; x = -(((float)scene_width) / (float)2); if (count %2) { /* count is odd, so we are specifying vertical walls */ for (i = 0; i < cells_wide; i++) { if (walls[i]) { /* add the wall to the list */ addWall(x, y, x, y - (float)cell_size, wall_height, scene->textures[walls[i] - 1]); } x += (float)cell_size; } } else { /* count is even, so we are specifying horizontal walls */ for (i = 0; i < cells_wide; i++) { if (walls[i]) { addWall(x, y, x + (float)cell_size, y, wall_height, scene->textures[walls[i] - 1]); } x += (float)cell_size; } } free(walls); return; }
void Physics::addStage2(void) { addGround("ground", 0, 0, 0, 0, 8000, 0, 8000); addGoal("goal", 50, 25, 1000, 0); addWall("barrior_s", 0, 60, -200, 0, 500, 60, 50); addWall("barrior_n", 0, 60, 1200, 0, 500, 60, 50); addWall("barrior_w", 550, 60, 500, SIMD_HALF_PI, 650, 60, 50); addWall("barrior_e", -550, 60, 500, SIMD_HALF_PI, 650, 60, 50); // addWall("wall0", 450, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall1", 350, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall2", 250, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall3", 150, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall4", 50, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall5", -50, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall6", -150, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall7", -250, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall8", -350, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall9", -450, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall10", 450, 60, 0, 0, 50, 60, 50, INVISIBLE); addWall("wall11", 350, 60, 0, 0, 50, 60, 50, INVISIBLE); // addWall("wall12", 250, 60, 0, 0, 50, 60, 50, INVISIBLE); addWall("wall13", 150, 60, 0, 0, 50, 60, 50, INVISIBLE); // addWall("wall14", 50, 60, 0, 0, 50, 60, 50, INVISIBLE); addWall("wall15", -50, 60, 0, 0, 50, 60, 50, INVISIBLE); // addWall("wall16", -150, 60, 0, 0, 50, 60, 50, INVISIBLE); // addWall("wall17", -250, 60, 0, 0, 50, 60, 50, INVISIBLE); addWall("wall18", -350, 60, 0, 0, 50, 60, 50, INVISIBLE); // addWall("wall19", -450, 60, 0, 0, 50, 60, 50, INVISIBLE); // addWall("wall20", 450, 60, 100, 0, 50, 60, 50, INVISIBLE); addWall("wall21", 350, 60, 100, 0, 50, 60, 50, INVISIBLE); // addWall("wall22", 250, 60, 100, 0, 50, 60, 50, INVISIBLE); // addWall("wall23", 150, 60, 100, 0, 50, 60, 50, INVISIBLE); // addWall("wall24", 50, 60, 100, 0, 50, 60, 50, INVISIBLE); addWall("wall25", -50, 60, 100, 0, 50, 60, 50, INVISIBLE); // addWall("wall26", -150, 60, 100, 0, 50, 60, 50, INVISIBLE); // addWall("wall27", -250, 60, 100, 0, 50, 60, 50, INVISIBLE); addWall("wall28", -350, 60, 100, 0, 50, 60, 50, INVISIBLE); // addWall("wall29", -450, 60, 100, 0, 50, 60, 50, INVISIBLE); addWall("wall30", 450, 60, 200, 0, 50, 60, 50, INVISIBLE); // addWall("wall31", 350, 60, 200, 0, 50, 60, 50, INVISIBLE); addWall("wall32", 250, 60, 200, 0, 50, 60, 50, INVISIBLE); addWall("wall33", 150, 60, 200, 0, 50, 60, 50, INVISIBLE); addWall("wall34", 50, 60, 200, 0, 50, 60, 50, INVISIBLE); // addWall("wall35", -50, 60, 200, 0, 50, 60, 50, INVISIBLE); // addWall("wall36", -150, 60, 200, 0, 50, 60, 50, INVISIBLE); addWall("wall37", -250, 60, 200, 0, 50, 60, 50, INVISIBLE); addWall("wall38", -350, 60, 200, 0, 50, 60, 50, INVISIBLE); // addWall("wall39", -450, 60, 200, 0, 50, 60, 50, INVISIBLE); // addWall("wall40", 450, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall41", 350, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall42", 250, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall43", 150, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall44", 50, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall45", -50, 60, 300, 0, 50, 60, 50, INVISIBLE); addWall("wall46", -150, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall47", -250, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall48", -350, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall49", -450, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall50", 450, 60, 400, 0, 50, 60, 50, INVISIBLE); addWall("wall51", 350, 60, 400, 0, 50, 60, 50, INVISIBLE); addWall("wall52", 250, 60, 400, 0, 50, 60, 50, INVISIBLE); // addWall("wall53", 150, 60, 400, 0, 50, 60, 50, INVISIBLE); addWall("wall54", 50, 60, 400, 0, 50, 60, 50, INVISIBLE); addWall("wall55", -50, 60, 400, 0, 50, 60, 50, INVISIBLE); addWall("wall56", -150, 60, 400, 0, 50, 60, 50, INVISIBLE); // addWall("wall57", -250, 60, 400, 0, 50, 60, 50, INVISIBLE); addWall("wall58", -350, 60, 400, 0, 50, 60, 50, INVISIBLE); addWall("wall59", -450, 60, 400, 0, 50, 60, 50, INVISIBLE); // addWall("wall60", 450, 60, 500, 0, 50, 60, 50, INVISIBLE); // addWall("wall61", 350, 60, 500, 0, 50, 60, 50, INVISIBLE); addWall("wall62", 250, 60, 500, 0, 50, 60, 50, INVISIBLE); // addWall("wall63", 150, 60, 500, 0, 50, 60, 50, INVISIBLE); // addWall("wall64", 50, 60, 500, 0, 50, 60, 50, INVISIBLE); // addWall("wall65", -50, 60, 500, 0, 50, 60, 50, INVISIBLE); addWall("wall66", -150, 60, 500, 0, 50, 60, 50, INVISIBLE); // addWall("wall67", -250, 60, 500, 0, 50, 60, 50, INVISIBLE); addWall("wall68", -350, 60, 500, 0, 50, 60, 50, INVISIBLE); // addWall("wall69", -450, 60, 500, 0, 50, 60, 50, INVISIBLE); addWall("wall70", 450, 60, 600, 0, 50, 60, 50, INVISIBLE); // addWall("wall71", 350, 60, 600, 0, 50, 60, 50, INVISIBLE); // addWall("wall72", 250, 60, 600, 0, 50, 60, 50, INVISIBLE); addWall("wall73", 150, 60, 600, 0, 50, 60, 50, INVISIBLE); addWall("wall74", 50, 60, 600, 0, 50, 60, 50, INVISIBLE); addWall("wall75", -50, 60, 600, 0, 50, 60, 50, INVISIBLE); // addWall("wall76", -150, 60, 600, 0, 50, 60, 50, INVISIBLE); // addWall("wall77", -250, 60, 600, 0, 50, 60, 50, INVISIBLE); addWall("wall78", -350, 60, 600, 0, 50, 60, 50, INVISIBLE); // addWall("wall79", -450, 60, 600, 0, 50, 60, 50, INVISIBLE); // addWall("wall80", 450, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall81", 350, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall82", 250, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall83", 150, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall84", 50, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall85", -50, 60, 700, 0, 50, 60, 50, INVISIBLE); addWall("wall86", -150, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall87", -250, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall88", -350, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall89", -450, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall90", 450, 60, 800, 0, 50, 60, 50, INVISIBLE); addWall("wall91", 350, 60, 800, 0, 50, 60, 50, INVISIBLE); addWall("wall92", 250, 60, 800, 0, 50, 60, 50, INVISIBLE); addWall("wall93", 150, 60, 800, 0, 50, 60, 50, INVISIBLE); // addWall("wall94", 50, 60, 800, 0, 50, 60, 50, INVISIBLE); addWall("wall95", -50, 60, 800, 0, 50, 60, 50, INVISIBLE); // addWall("wall96", -150, 60, 800, 0, 50, 60, 50, INVISIBLE); addWall("wall97", -250, 60, 800, 0, 50, 60, 50, INVISIBLE); addWall("wall98", -350, 60, 800, 0, 50, 60, 50, INVISIBLE); // addWall("wall99", -450, 60, 800, 0, 50, 60, 50, INVISIBLE); // addWall("wall100", 450, 60, 900, 0, 50, 60, 50, INVISIBLE); // addWall("wall101", 350, 60, 900, 0, 50, 60, 50, INVISIBLE); // addWall("wall102", 250, 60, 900, 0, 50, 60, 50, INVISIBLE); addWall("wall103", 150, 60, 900, 0, 50, 60, 50, INVISIBLE); addWall("wall104", 50, 60, 900, 0, 50, 60, 50, INVISIBLE); addWall("wall105", -50, 60, 900, 0, 50, 60, 50, INVISIBLE); // addWall("wall106", -150, 60, 900, 0, 50, 60, 50, INVISIBLE); // addWall("wall107", -250, 60, 900, 0, 50, 60, 50, INVISIBLE); // addWall("wall108", -350, 60, 900, 0, 50, 60, 50, INVISIBLE); // addWall("wall109", -450, 60, 900, 0, 50, 60, 50, INVISIBLE); // addWall("wall110", 450, 60, 1000, 0, 50, 60, 50, INVISIBLE); addWall("wall111", 350, 60, 1000, 0, 50, 60, 50, INVISIBLE); addWall("wall112", 250, 60, 1000, 0, 50, 60, 50, INVISIBLE); // addWall("wall113", 150, 60, 1000, 0, 50, 60, 50, INVISIBLE); // addWall("wall114", 50, 60, 1000, 0, 50, 60, 50, INVISIBLE); addWall("wall115", -50, 60, 1000, 0, 50, 60, 50, INVISIBLE); // addWall("wall116", -150, 60, 1000, 0, 50, 60, 50, INVISIBLE); addWall("wall117", -250, 60, 1000, 0, 50, 60, 50, INVISIBLE); addWall("wall118", -350, 60, 1000, 0, 50, 60, 50, INVISIBLE); addWall("wall119", -450, 60, 1000, 0, 50, 60, 50, INVISIBLE); // addWall("wall120", 450, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall121", 350, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall122", 250, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall123", 150, 60, 1100, 0, 50, 60, 50, INVISIBLE); addWall("wall124", 50, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall125", -50, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall126", -150, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall127", -250, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall128", -350, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall129", -450, 60, 1100, 0, 50, 60, 50, INVISIBLE); movePenguin(btVector3(25, 25, -100)); checkpoint = btVector3(25, 25, -100); jumping = false; }
void Physics::addStage1(void) { addGround("ground", 0, 0, 0, 0, 8000, 0, 8000, KILLBOX); addWall("south0", 0, 440, 0, 0, 760, 40, 120); // start addWall("wall1", 0, 520, 160, 0, 80, 40, 40); // stairs 1 addWall("wall2", 0, 600, 240, 0, 80, 40, 40); addWall("wall3", 0, 680, 360, 0, 80, 40, 80); addWall("wall4", -220, 700, 540, 0, 40, 10, 40); addWall("wall5", -540, 740, 460, 0, 40, 10, 40); addWall("wall6", -320, 820, 380, 0, 40, 10, 40); addWall("wall7", -20, 860, 370, 0, 40, 10, 40); addWall("wall8", 420, 840, 420, 0, 40, 10, 40); addWall("wall9", 820, 900, 420, 0, 40, 10, 40); addWall("west0", 880, 1030, 800, 0, 120, 40, 670); addWall("wall10", 1340, 780, 660, 0, 40, 10, 40); addWall("wall11", 1820, 700, 320, 0, 40, 10, 40); addWall("wall12", 2060, 760, 400, 0, 40, 10, 40); addWall("wall12_2", 2060, 760, 800, 0, 40, 10, 40); addWall("wall13", 1810, 780, 1200, 0, 40, 10, 60); addWall("wall14", 1380, 800, 1300, 0, 40, 40, 80); // stairs 2 addWall("wall15", 1260, 880, 1300, 0, 40, 40, 80); addWall("wall16", 1140, 970, 1300, 0, 40, 40, 80); addWall("wall17", 170, 1100, 1000, 0, 280, 20, 100, CHECKPOINT); addWall("east0", -880, 840, 800, 0, 120, 40, 670); addWall("wall18", -960, 960, 300, 0, 20, 10, 20); addWall("wall19", -840, 1010, 370, 0, 20, 10, 20); addWall("wall20", -760, 1040, 410, 0, 20, 10, 20); addWall("wall21", -540, 1100, 500, 0, 20, 10, 20); addWall("wall22", -540, 1140, 620, 0, 20, 10, 20); addWall("wall23", -540, 1210, 500, 0, 20, 10, 20); addWall("wall24", -580, 1280, 300, 0, 20, 10, 20); addWall("wall25", -600, 1300, 600, 0, 20, 10, 20); // Stepping stone addWall("wall26", -620, 1350, 680, 0, 10, 10, 10); addWall("wall27", -580, 1355, 720, 0, 10, 10, 10); addWall("wall28", -580, 1360, 1120, 0, 10, 10, 10); addWall("wall29", -250, 1370, 1060, 0, 10, 10, 10); addWall("wall30", 0, 1400, 1000, 0, 15, 10, 15); addWall("wall31", -100, 1460, 1300, 0, 35, 10, 35); addWall("wall32", 0, 1460, 1600, 0, 28, 10, 28); addWall("wall33", 100, 1460, 1300, 0, 35, 10, 35); addWall("wall34", 0, 1500, 1950, 0, 100, 10, 40, CHECKPOINT); addWall("wall35", 0, 1560, 2300, 0, 40, 10, 40); addWall("north0", 0, 2360, 1600, 0, 750, 800, 120); // great wall climb addWall("wall36", 300, 1640, 2200, 0, 80, 15, 40); addWall("wall37", 500, 1670, 1750, 0, 60, 15, 30); addWall("wall38", 100, 1700, 1750, 0, 60, 15, 30); addWall("wall39", -50, 1770, 1750, 0, 60, 10, 30); addWall("wall40", 150, 1835, 1750, 0, 70, 15, 30); addWall("wall41", 300, 1900, 1750, 0, 70, 15, 30); addWall("wall42", 450, 1970, 1750, 0, 50, 15, 30); addWall("wall43", 600, 2140, 1750, 0, 60, 15, 30); addWall("wall44", 350, 2200, 1750, 0, 70, 15, 30); addWall("wall45", 0, 2000, 1750, 0, 40, 15, 30); addWall("wall46", -180, 2080, 1750, 0, 40, 15, 30); addWall("wall47", 180, 2130, 1750, 0, 60, 15, 30); addWall("wall48", 980, 2220, 1750, 0, 70, 10, 30); addWall("wall49", 700, 2300, 1750, 0, 70, 10, 30); addWall("wall50", 300, 2360, 1750, 0, 70, 10, 30); addWall("wall51", 0, 2420, 1750, 0, 70, 10, 30); addWall("wall52", -300, 2490, 1750, 0, 70, 10, 30); addWall("wall53", -600, 2545, 1750, 0, 70, 10, 30); addWall("wall54", -900, 2620, 1750, 0, 70, 10, 30); addWall("wall55", -750, 2700, 1750, 0, 70, 10, 30); addWall("wall56", -1050, 2780, 1650, 0, 70, 10, 30, CHECKPOINT); addWall("wall57", -1050, 2840, 1400, 0, 40, 10, 40); addWall("wall58", -1050, 2920, 1200, 0, 40, 10, 40); addWall("wall59", -1050, 3000, 1100, 0, 40, 10, 40); addWall("wall60", -800, 3080, 1000, 0, 40, 10, 40); addGoal("goal", -400, 2800, 1000, 0); addWall("pillarsw", 880, 2000, 0, 0, 120, 1600, 120); addWall("pillarnw", 880, 2000, 1600, 0, 120, 1600, 120); addWall("pillarne", -880, 2000, 1600, 0, 120, 1250, 120); addWall("pillarse", -880, 2000, 0, 0, 120, 1600, 120); movePenguin(btVector3(0, 505, 0)); checkpoint = btVector3(0, 505, 0); jumping = true; }
void Physics::addStage0(void) { addGround("ground", 0, 0, 0, 0, 8000, 0, 8000, KILLBOX); addGoal("goal", -60, 845, 3640, 0); addWall("wall0", 0, 440, 0, 0, 80, 40, 120); // start addWall("wall1", 0, 520, 160, 0, 80, 40, 40); // stairs 1 addWall("wall2", 0, 600, 240, 0, 80, 40, 40); addWall("wall3", 0, 680, 360, 0, 80, 40, 80); addWall("wall4", 0, 680, 1080, 0, 240, 40, 240); // platform 1 addWall("wall5", -520, 600, 1160, 0, 40, 40, 80); addWall("wall6", -760, 400, 1640, 0, 40, 80, 40); addWall("wall7", -1080, 480, 2000, 0, 80, 20, 80); addWall("wall8", -920, 560, 2160, 0, 20, 20, 120); addWall("wall9", -800, 640, 2280, 0, 40, 30, 40); addWall("wall10", -880, 720, 1880, 0, 40, 20, 80); addWall("wall11", -880, 780, 1760, 0, 40, 40, 40); addWall("wall12", -720, 880, 2200, 45, 80, 20, 320, CHECKPOINT); // end of jump puzzle 1 addWall("wall12_2", -230, 940, 2200, 0, 15, 10, 40); addWall("wall12_3", -170, 1020, 2140, 0, 15, 10, 40); addWall("wall12_4", -110, 1090, 2080, 0, 15, 10, 40); addWall("wall12_5", -50, 1160, 2210, 0, 15, 10, 40, CHECKPOINT); addWall("wall12_6", -10, 900, 1880, 0, 15, 10, 40); addWall("wall12_7", -40, 750, 1480, 0, 50, 5, 50); addWall("wall12_8", 30, 1250, 2280, 0, 32, 20, 25); addWall("wall12_9", 60, 1450, 2500, 0, 80, 20, 50); addWall("wall13", -160, 715, 3240, 0, 120, 10, 120); // platform on other side of wall addWall("wall14", 96, 390, 2690, 0, 804, 400, 50); // Big Wall Bottom addWall("wall15", 100, 1190, 2680, 0, 800, 400, 40); // Big Wall Top addWall("wall16", -60, 795, 3640, 0, 100, 10, 100); // End? jumping = true; }
Board::Board() { for(int i=0;i<54;i++){ CaseTriangle *c = new CaseTriangle(i); cases[i] = c; } //TODO, case avec id=-1 pour les bords CaseTriangle *side = new CaseTriangle(-1); //Row 1 cases[0]->setNeighbour( cases[3], cases[4] ); cases[1]->setNeighbour( cases[4], cases[5] ); cases[2]->setNeighbour( cases[5], cases[6] ); cases[3]->setNeighbour( cases[0], cases[7] ); cases[4]->setNeighbour( cases[0], cases[1], cases[8] ); cases[5]->setNeighbour( cases[1], cases[2], cases[9] ); cases[6]->setNeighbour( cases[2], cases[10] ); //Row 2 cases[7]->setNeighbour( cases[3], cases[11], cases[12] ); cases[8]->setNeighbour( cases[4], cases[12], cases[13] ); cases[9]->setNeighbour( cases[5], cases[13], cases[14] ); cases[10]->setNeighbour( cases[6], cases[14], cases[15] ); cases[11]->setNeighbour( cases[7], cases[16] ); cases[12]->setNeighbour( cases[7], cases[8], cases[17] ); cases[13]->setNeighbour( cases[8], cases[9], cases[18] ); cases[14]->setNeighbour( cases[9], cases[10], cases[19] ); cases[15]->setNeighbour( cases[10], cases[20] ); //Row 3 cases[16]->setNeighbour( cases[11], cases[21], cases[22] ); cases[17]->setNeighbour( cases[12], cases[22], cases[23] ); cases[18]->setNeighbour( cases[13], cases[23], cases[24] ); cases[19]->setNeighbour( cases[14], cases[24], cases[25] ); cases[20]->setNeighbour( cases[15], cases[25], cases[26] ); cases[21]->setNeighbour( cases[16], cases[27] ); cases[22]->setNeighbour( cases[16], cases[17], cases[28] ); cases[23]->setNeighbour( cases[17], cases[18], cases[29] ); cases[24]->setNeighbour( cases[18], cases[19], cases[30] ); cases[25]->setNeighbour( cases[19], cases[20], cases[31] ); cases[26]->setNeighbour( cases[20], cases[32] ); //Row 4 cases[27]->setNeighbour( cases[21], cases[33] ); cases[28]->setNeighbour( cases[22], cases[33], cases[34] ); cases[29]->setNeighbour( cases[23], cases[34], cases[35] ); cases[30]->setNeighbour( cases[24], cases[35], cases[36] ); cases[31]->setNeighbour( cases[25], cases[36], cases[37] ); cases[32]->setNeighbour( cases[26], cases[37] ); cases[33]->setNeighbour( cases[27], cases[28], cases[38] ); cases[34]->setNeighbour( cases[28], cases[29], cases[39] ); cases[35]->setNeighbour( cases[29], cases[30], cases[40] ); cases[36]->setNeighbour( cases[30], cases[31], cases[41] ); cases[37]->setNeighbour( cases[31], cases[32], cases[42] ); //Row 5 cases[38]->setNeighbour( cases[33], cases[43] ); cases[39]->setNeighbour( cases[34], cases[43], cases[44] ); cases[40]->setNeighbour( cases[35], cases[44], cases[45] ); cases[41]->setNeighbour( cases[36], cases[45], cases[46] ); cases[42]->setNeighbour( cases[37], cases[46] ); cases[43]->setNeighbour( cases[38], cases[39], cases[47] ); cases[44]->setNeighbour( cases[39], cases[40], cases[48] ); cases[45]->setNeighbour( cases[40], cases[41], cases[49] ); cases[46]->setNeighbour( cases[41], cases[42], cases[50] ); //Row 6 cases[47]->setNeighbour( cases[43], cases[51] ); cases[48]->setNeighbour( cases[44], cases[51], cases[52] ); cases[49]->setNeighbour( cases[45], cases[52], cases[53] ); cases[50]->setNeighbour( cases[46], cases[53] ); cases[51]->setNeighbour( cases[47], cases[48] ); cases[52]->setNeighbour( cases[48], cases[49] ); cases[53]->setNeighbour( cases[49], cases[50] ); addWall(45,49); addWall(44,48); addWall(46,50); //Test getPath(1,0); }