Пример #1
0
int main(int argv, char* argc[]){
  
  XInfo* xinfo = new XInfo(argv, argc);

  //start game with coulmns in middle of screen 
  int currentX = xinfo->windowWidth / 2;
  std::list<Column*>* columns = new std::list<Column*>();

  //construct level
  for(int i = 0; i < 500; i++){

    Column* col = new Column(currentX, *xinfo);
    columns->push_back(col);
    currentX += col->getWidth();

  }

  Helicopter* airWolf = new Helicopter(*xinfo, *columns);
  Painter* mario = new Painter(*columns, *airWolf);
  EventHandler* God = new EventHandler(*mario, *columns, *airWolf);

  //turn auto repeat off to avoid auto-repeat lag
  XAutoRepeatOff(xinfo->display);

  //intro screen
  mario->specialScreen(*xinfo, PAUSE); 
  God->deal(*xinfo);

  XAutoRepeatOn(xinfo->display);

  XFlush(xinfo->display);
  sleep(10);
  XCloseDisplay(xinfo->display);

  //clean up
  delete columns;
  delete airWolf;
  //other classes are not complicated
  //let default destructors handle things

  return 0;

}