コード例 #1
0
// 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;
}
コード例 #2
0
/**
 * 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;
  }
}
コード例 #3
0
ファイル: main.c プロジェクト: nfaralli/SPH
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));
}
コード例 #4
0
ファイル: the_maze_2.cpp プロジェクト: evg123/the_maze_2
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);
        }
    }
}
コード例 #5
0
ファイル: stage.cpp プロジェクト: Voidious/BerryBots
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;
}
コード例 #6
0
ファイル: walls.cpp プロジェクト: binji/simfun
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);
}
コード例 #7
0
ファイル: world.cpp プロジェクト: antonikon/BattleCity
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);
		}
	}
}
コード例 #8
0
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;
  }
}
コード例 #9
0
ファイル: pattern.c プロジェクト: Eiyeron/Super-Hexagon-Casio
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);
	}
}
コード例 #10
0
ファイル: cblab.cpp プロジェクト: CiberRato/pei2015-ciberrato
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();
}
コード例 #11
0
ファイル: world.cpp プロジェクト: antonikon/BattleCity
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;
		}
	}
}
コード例 #12
0
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);
}
コード例 #13
0
ファイル: main.c プロジェクト: nfaralli/SPH
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));
}
コード例 #14
0
ファイル: Scene.cpp プロジェクト: burakertekin/FluidSim
//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);
}
コード例 #15
0
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));
}
コード例 #16
0
ファイル: main.c プロジェクト: nfaralli/SPH
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]));
}
コード例 #17
0
ファイル: MazeParser.cpp プロジェクト: jfiorio/renderer
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;
}
コード例 #18
0
ファイル: Physics.cpp プロジェクト: klt592/GTFinal
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;
}
コード例 #19
0
ファイル: Physics.cpp プロジェクト: klt592/GTFinal
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;
}
コード例 #20
0
ファイル: Physics.cpp プロジェクト: klt592/GTFinal
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;
}
コード例 #21
0
ファイル: board.cpp プロジェクト: marcinlawnik/Quoridor-2
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);
}