コード例 #1
0
ファイル: GameLayer.cpp プロジェクト: EricWang1992/cocos2dx
bool GameLayer::init() {
    
    CCLayer::init();
    
    CCSize size = CCDirector::sharedDirector()->getWinSize();
    
    screenW = size.width;
    screenH = size.height;
    
    createBox2DWorld();
    
    generateBackground();
    
    setTerrain(Terrain::terrainWithWorld(world));
    
    addChild(getTerrain());
    
    setHero(Hero::heroWithWorld(world));
    getTerrain()->addChild(getHero());
    
    setTouchEnabled(true);
    
    tapDown = false;
    
    scheduleUpdate();
    return true;
}
コード例 #2
0
ファイル: Sakura.cpp プロジェクト: Ptomaine/Sakura_Game
void SakuraMatrix::paint(Graphics &g)
{
	if(!_pBackImage)
		generateBackground();

	g.drawImageAt(_pBackImage, 0, 0, false);
}
コード例 #3
0
int main(int argc, char* argv[]) {
   checkOptions(options, argc, argv);

   Array<PixelRow> picturedata;
   Array<PixelRow> background;
   HumdrumFile infile;

   int numinputs = options.getArgCount();
   if (numinputs > 0) {
      const char* filenameIn  = options.getArg(1).data();
      infile.read(filenameIn);
   } else {
      infile.read(cin);
   }

   if (infile.getFilename().size() == 0) {
      infile.setFilename(optionfilename);
   }

   if (jsonQ) {
      createJsonProll(infile);
   } else {
      int rfactor = generatePicture(infile, picturedata, style);
      generateBackground(infile, rfactor, picturedata, background);
      printPicture(picturedata, background, rfactor, cfactor, 
            gminpitch, gmaxpitch, infile);
   }

   return 0;
}
コード例 #4
0
ファイル: ValueBar.cpp プロジェクト: Kanel/AllThemPixels
void ValueBar::setPoints(Vector2f start, Vector2f end)
{
	this->start = start;
	this->end = end;

	generateBackground();
	generateForeground();
}
コード例 #5
0
int GradientStopEditor::moveStop( int stop, int newStopValue, qreal newStopPosition )
{
	if( ( stop < 0 ) || ( stop >= values.size() ) )
		return -1;

	if( newStopValue < 0 )
		newStopValue = 0;

	if( newStopValue > 255 )
		newStopValue = 255;

	if( stop != 0 && stop != ( values.size() - 1 ) )
	{
		if( newStopPosition < 0 )
			newStopPosition = 0;

		if( newStopPosition > 1.0 )
			newStopPosition = 1.0;
	}
	else
		newStopPosition = positions[ stop ];

	if( ( stop == 0 ) || ( stop == ( values.size() - 1 ) ) )
	{
		values[ stop ] = newStopValue;
		if( stopChannel == composite )
			generateBackground( true );
		update();
		emit stopMoved( stop, newStopValue, newStopPosition, stop );
		return stop;
	}

	values.remove( stop );
	positions.remove( stop );

	int newIndex = addStop( newStopValue, newStopPosition, false );
	if( currentMovedStop == stop )
		currentMovedStop = newIndex;

	emit stopMoved( stop, newStopValue, newStopPosition, newIndex );
	if( stopChannel == composite )
		generateBackground( true );
	update();

	return newIndex;
}
コード例 #6
0
int GradientStopEditor::addStop( int newStopValue, qreal newStopPosition, bool emitSignalsAndUpdate )
{
	if( newStopValue < 0 )
		newStopValue = 0;

	if( newStopValue > 255 )
		newStopValue = 255;

	if( newStopPosition < 0 )
		newStopPosition = 0;

	if( newStopPosition > 1.0 )
		newStopPosition = 1.0;

	int countStops = values.size();
	for( int i = 1; i < countStops - 1; i++ )
	{
		if( positions[i] < newStopPosition )
			continue;

		values.insert( i, newStopValue );
		positions.insert( i, newStopPosition );
		if( emitSignalsAndUpdate )
		{
			emit stopAdded( newStopValue, newStopPosition, i );
			if( stopChannel == composite )
				generateBackground( true );
			update();
		}
		return i;
		break;
	}

	values.insert( values.size() - 1, newStopValue );
	positions.insert( positions.size() - 1, newStopPosition );
	if( emitSignalsAndUpdate )
	{
		emit stopAdded( newStopValue, newStopPosition, values.size() - 2 );
		if( stopChannel == composite )
			generateBackground( true );
		update();
	}
	return ( values.size() - 2 );
}
コード例 #7
0
bool GradientStopEditor::setStops( const QGradientStops &s )
{
	int countStops = s.size();

	if( countStops < 2 )
		return false;

	values.clear();
	positions.clear();

	switch( stopChannel )
	{
		case redChannel:
			for( int i = 0; i < countStops; i++ )
			{
				positions << s[ i ].first;
				values << s[ i ].second.red();
			}
			break;

		case greenChannel:
			for( int i = 0; i < countStops; i++ )
			{
				positions << s[ i ].first;
				values << s[ i ].second.green();
			}
			break;

		case blueChannel:
			for( int i = 0; i < countStops; i++ )
			{
				positions << s[ i ].first;
				values << s[ i ].second.blue();
			}
			break;

		case composite:
			for( int i = 0; i < countStops; i++ )
			{
				positions << s[ i ].first;
				values << s[ i ].second.alpha();
			}
			break;
	}

	if( positions[ 0 ] != 0.0 )
		positions[ 0 ] = 0.0;

	if( positions[ countStops - 1 ] != 1.0 )
		positions[ countStops - 1 ] = 1.0;

	generateBackground( true );
	update();
	return true;
}
コード例 #8
0
ファイル: ValueBar.cpp プロジェクト: Kanel/AllThemPixels
void ValueBar::update(Vector2f point)
{
	if (containsPoint(point))
	{
		Vector2f bar = end - start;
		Vector2f progress = point - start;
	
		value = min + (max - min) * (Vector2fMath::length(progress) / Vector2fMath::length(bar));
	}
	generateBackground();
	generateForeground();
}
コード例 #9
0
ファイル: ValueBar.cpp プロジェクト: Kanel/AllThemPixels
ValueBar::ValueBar(Vector2f start, Vector2f end, float margin, float size, float min, float max, float value)
{
	this->start = start;
	this->end = end;
	this->margin = margin;
	this->size = size;
	this->min = min;
	this->max = max;
	this->value = value;

	generateBackground();
	generateForeground();
}
コード例 #10
0
void GradientStopEditor::paintEvent( QPaintEvent * event )
{
	QPainter p( this );
	generateBackground( false );

	p.drawImage( 0, 0, bg );

	p.setPen( QColor( 146, 146, 146 ) );
	p.drawRect( 0, 0, width() - 1, height() - 1 );

	int countStops = values.size();
	if( countStops <= 0 )
		return;

	p.setRenderHints( QPainter::Antialiasing |
						QPainter::TextAntialiasing |
						QPainter::SmoothPixmapTransform );

	p.setPen( connectionPen );
	QPainterPath path;
	path.moveTo( getStopPosition( 0 ) );

	for( int i = 1; i < countStops; i++ )
	{
		QPointF p1 = getStopPosition( i-1 );
		QPointF p2 = getStopPosition( i );
		double distance = p2.x() - p1.x();

		path.cubicTo( p1.x() + distance / 2, p1.y(),
						p1.x() + distance / 2, p2.y(),
						p2.x(), p2.y() );
	}

	p.drawPath( path );

	QPointF stopPosition;
	p.setBrush( pointBrush );
	for( int i = 0; i < countStops; i++ )
	{
		stopPosition = getStopPosition( i );
		QRectF cirleRect = QRectF(
			stopPosition - QPointF( 6, 6 ),
			QSizeF( 12, 12 ) );

		p.setPen( linesPen );
		p.drawLine( (int)(stopPosition.x()), 0, (int)(stopPosition.x()), height() - 1 );

		p.setPen( pointPen );
		p.drawEllipse( cirleRect );
	}
}
コード例 #11
0
bool GradientStopEditor::deleteStop( int stop )
{
	if( ( stop <= 0 ) || ( stop >= ( values.size() - 1 ) ) )
		return false;

	values.remove( stop );
	positions.remove( stop );

	emit stopDeleted( stop );
	if( stopChannel == composite )
		generateBackground( true );
	update();
	return true;
}
コード例 #12
0
ファイル: TileMapRender.cpp プロジェクト: ngoaho91/bamboocc
	void TilemapRender::SetTileset(const char* setName)
	{
		if(m_SetID == setName) return;
		m_SetID = setName;
		for(int i=0;i<m_MapWidth;i++)
		{
			for(int j=0;j<m_MapHeight;j++)
			{
				if(!m_MatrixAB[i][j]) continue;
				ostringstream texturePath;
				texturePath<<"resources.pak/terrain/";
				texturePath<<m_SetID<<"-"<<m_MatrixID[i][j]<<".png";
				m_MatrixAB[i][j]->setTexture(
						CCTextureCache::sharedTextureCache()->addImage(texturePath.str().c_str())
						);
			}
		}
		generateBackground();
	}
コード例 #13
0
bool GameLayer::init() {
    
    CCLayer::init();
    
    CCSize size = CCDirector::sharedDirector()->getWinSize();
    
    screenW = size.width;
    screenH = size.height;
    
    createBox2DWorld();
    
    //setBackground(CCSprite::spriteWithFile("background.png"));
    //setBackground(generateBackground());
    //getBackground()->setPosition(ccp(screenW/2, screenH/2));
    
    //getBackground()->setScaleX(screenW/getBackground()->getTextureRect().size.width);
    //getBackground()->setScaleY(screenH/getBackground()->getTextureRect().size.height);
    
    //CCLog("sw = %f, sh = %f, bw = %f, bh = %f", screenW, screenH, getBackground()->getTextureRect().size.width, getBackground()->getTextureRect().size.height);
    
    //ccTexParams tp = {GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT};
    //getBackground()->getTexture()->setTexParameters(&tp);
    //addChild(getBackground());
    
    generateBackground();
    
    setTerrain(Terrain::terrainWithWorld(world));
    
    addChild(getTerrain());
    
    setHero(Hero::heroWithWorld(world));
    getTerrain()->addChild(getHero());
    
    setIsTouchEnabled(true);
    
    tapDown = false;
    
    scheduleUpdate();

    return true;
}
コード例 #14
0
void GradientStopEditor::setCompositeGradientStops( const QGradientStops &s )
{
	if( stopChannel == composite )
	{
		compositeGradient = QLinearGradient( 0, 0, width(), 0 );

		QGradientStops newStops;
		int countStops = s.size();
		for( int i = 0; i < countStops; i++ )
		{
			QColor c( s[ i ].second );
			c.setAlpha( 255 );
			newStops << QGradientStop( s[ i ].first, c );
		}

		//newStops << compositeGradient.stops();
		compositeGradient.setStops( newStops );
		generateBackground( true );
		update();
	}
}
コード例 #15
0
int main()
{
  initializeCrap();
  install_int_ex(increment_speed_counter,BPS_TO_TIMER(120));
  int screenMode = 0; //0 for windowed, 1 for fullscreen
  srand((unsigned)time(NULL));

  BITMAP *buffer = create_bitmap(800,600);
  BITMAP *titleimg = load_bitmap("quiximgTitle.bmp",NULL);
  BITMAP *imgPlayers = load_bitmap("quiximgPlayerSet.bmp",NULL);
  MIDI *song = load_midi("quixsong.mid");
  PlayerObject poPlayer[4];
  LaserObject loLaser[4];
  LevelObject Level;
  MenuObject Menu;
  float scrollerX = -150.0, scrollerY = 5.0;
  int winner;

  poPlayer[0].setControlScheme(0);
  poPlayer[1].setControlScheme(1);
  poPlayer[2].setControlScheme(2);
  poPlayer[3].setControlScheme(3);
  poPlayer[0].samSound = load_sample("quixp1Death.wav");
  poPlayer[1].samSound = load_sample("quixp2Death.wav");
  poPlayer[2].samSound = load_sample("quixp3Death.wav");
  poPlayer[3].samSound = load_sample("quixp4Death.wav");
  poPlayer[0].setX(32);
  poPlayer[0].setY(32);
  poPlayer[0].setDir('l');
  poPlayer[1].setX(32);
  poPlayer[1].setY(544);
  poPlayer[1].setDir('l');
  poPlayer[2].setX(736);
  poPlayer[2].setY(544);
  poPlayer[2].setDir('r');
  poPlayer[3].setX(736);
  poPlayer[3].setY(32);
  poPlayer[3].setDir('r');

  int mouseDown[21];    //Kind of a crappy array --- Each button is a #
                        //and it's set to true if that button was clicked.
  for (int i = 0; i < 20; i++) { mouseDown[i] = false; }

  while ( !Menu.isDone() )
  {
    while (speed_counter > 0)
    {
      /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
      /* ~~~~~~~~~~~~~~~~~~~~~ MENU SCREEN ~~~~~~~~~~~~~~~~~~~~~ */
      /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
      if ( Menu.getEnabled() == true ) {
        if (key[KEY_Z]) {
          if (Menu.getFullscreen() == true) { Menu.changeScreenSize(0); Menu.setFullscreen(false); }
          else { Menu.changeScreenSize(1); Menu.setFullscreen(true); }
        }

        if (mouse_b & 1)
        {
          mouseDownClick(&Menu, mouseDown);
        }
        else {
          mouseUp(&Menu, mouseDown, poPlayer, &Level, song);
        }
      }
      /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
      /* ~~~~~~~~~~~~~~~~~~~~~~~ IN-GAME ~~~~~~~~~~~~~~~~~~~~~~~ */
      /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
      else {

        //Player Input1
        if (key[KEY_ESC]) {
            play_midi(NULL, false);
          if (Menu.fragLimitHit == true) {
            Menu.fragLimitHit == false;

            for (int i=0; i<4; i++) {
              poPlayer[i].resetScore();
              poPlayer[i].resetDeaths();
            }

            poPlayer[0].setX(32);
            poPlayer[0].setY(32);
            poPlayer[0].setDir('l');
            poPlayer[1].setX(32);
            poPlayer[1].setY(544);
            poPlayer[1].setDir('l');
            poPlayer[2].setX(736);
            poPlayer[2].setY(544);
            poPlayer[2].setDir('r');
            poPlayer[3].setX(736);
            poPlayer[3].setY(32);
            poPlayer[3].setDir('r');

            Menu.fragLimitHit = false;

            Menu.resetPressed = false;
            mouseDown[19] = false;

          }
          Level.setEnabled(false); Menu.setEnabled(true);
        }
        for (int i=0; i<4; i++) {
          if (poPlayer[i].getControlScheme() == 0) {
            if (key[KEY_W]) { moveCharacter(Level, &poPlayer[i], i, 'u'); }
            if (key[KEY_A]) { moveCharacter(Level, &poPlayer[i], i, 'l'); }
            if (key[KEY_S]) { moveCharacter(Level, &poPlayer[i], i, 'd'); }
            if (key[KEY_D]) { moveCharacter(Level, &poPlayer[i], i, 'r'); }
            if (key[KEY_F]) {
              if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); }
            }
          }
          else if (poPlayer[i].getControlScheme() == 1) {
            if (key[KEY_I]) { moveCharacter(Level, &poPlayer[i], i, 'u'); }
            if (key[KEY_J]) { moveCharacter(Level, &poPlayer[i], i, 'l'); }
            if (key[KEY_K]) { moveCharacter(Level, &poPlayer[i], i, 'd'); }
            if (key[KEY_L]) { moveCharacter(Level, &poPlayer[i], i, 'r'); }
            if (key[KEY_H]) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } }
          }
          else if (poPlayer[i].getControlScheme() == 2) {
            if (key[KEY_UP]) { moveCharacter(Level, &poPlayer[i], i, 'u'); }
            if (key[KEY_LEFT]) { moveCharacter(Level, &poPlayer[i], i, 'l'); }
            if (key[KEY_DOWN]) { moveCharacter(Level, &poPlayer[i], i, 'd'); }
            if (key[KEY_RIGHT]) { moveCharacter(Level, &poPlayer[i], i, 'r'); }
            if (key[KEY_RCONTROL]) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } }
          }
          else if (poPlayer[i].getControlScheme() == 3) {
            if (key[KEY_8_PAD]) { moveCharacter(Level, &poPlayer[i], i, 'u'); }
            if (key[KEY_4_PAD]) { moveCharacter(Level, &poPlayer[i], i, 'l'); }
            if (key[KEY_2_PAD]) { moveCharacter(Level, &poPlayer[i], i, 'd'); }
            if (key[KEY_6_PAD]) { moveCharacter(Level, &poPlayer[i], i, 'r'); }
            if (key[KEY_PLUS_PAD]) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } }
          }
          else if(poPlayer[i].getControlScheme() == 4) {
            //Joystick #1
            poll_joystick();
            if (joy[0].stick[0].axis[1].d1) { moveCharacter(Level, &poPlayer[i], i, 'u'); } //Up
            if (joy[0].stick[0].axis[0].d1) { moveCharacter(Level, &poPlayer[i], i, 'l'); } //Left
            if (joy[0].stick[0].axis[1].d2) { moveCharacter(Level, &poPlayer[i], i, 'd'); } //Down
            if (joy[0].stick[0].axis[0].d2) { moveCharacter(Level, &poPlayer[i], i, 'r'); } //Right
            if (joy[0].button[0].b || joy[0].button[1].b || joy[0].button[2].b) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } }
          }
          else if(poPlayer[i].getControlScheme() == 5) {
            //Joystick #2
            poll_joystick();
            if (joy[1].stick[0].axis[1].d1) { moveCharacter(Level, &poPlayer[i], i, 'u'); } //Up
            if (joy[1].stick[0].axis[0].d1) { moveCharacter(Level, &poPlayer[i], i, 'l'); } //Left
            if (joy[1].stick[0].axis[1].d2) { moveCharacter(Level, &poPlayer[i], i, 'd'); } //Down
            if (joy[1].stick[0].axis[0].d2) {moveCharacter(Level, &poPlayer[i], i, 'r'); } //Right
            if (joy[1].button[0].b || joy[0].button[1].b || joy[0].button[2].b) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } }
          }
          else if(poPlayer[i].getControlScheme() == 6) {
            //Joystick #3
            poll_joystick();
            if (joy[2].stick[0].axis[1].d1) { moveCharacter(Level, &poPlayer[i], i, 'u'); } //Up
            if (joy[2].stick[0].axis[0].d1) { moveCharacter(Level, &poPlayer[i], i, 'l'); } //Left
            if (joy[2].stick[0].axis[1].d2) {moveCharacter(Level, &poPlayer[i], i, 'd'); } //Down
            if (joy[2].stick[0].axis[0].d2) { moveCharacter(Level, &poPlayer[i], i, 'r'); } //Right
            if (joy[2].button[0].b || joy[0].button[1].b || joy[0].button[2].b) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } }
          }
          else if(poPlayer[i].getControlScheme() == 7) {
            //Joystick #4
            poll_joystick();
            if (joy[3].stick[0].axis[1].d1) { moveCharacter(Level, &poPlayer[i], i, 'u'); } //Up
            if (joy[3].stick[0].axis[0].d1) { moveCharacter(Level, &poPlayer[i], i, 'l'); } //Left
            if (joy[3].stick[0].axis[1].d2) { moveCharacter(Level, &poPlayer[i], i, 'd'); } //Down
            if (joy[3].stick[0].axis[0].d2) { moveCharacter(Level, &poPlayer[i], i, 'r'); } //Right
            if (joy[3].button[0].b || joy[0].button[1].b || joy[0].button[2].b) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } }
          }
        }
        if (Level.timeForAPowerupTimer >= 60) { Level.timeForAPowerupTimer = 0; }
        else { Level.timeForAPowerupTimer++; }
      }
      if ( Level.getFrame() < 32 ) { Level.setFrame( Level.getFrame() + 1 ); }
      else { Level.setFrame(0); }

    //Score Bar
      if (Level.getFragLimit() != 0 && Level.getEnabled() == true) {
        scrollerX += 0.5;
        if (scrollerX >= 1200.0) { scrollerX = -150.0; }
      }
      for (int i=0; i<4; i++) {
        //Res circle
        if (poPlayer[i].getRespawnCounter() >= 0) {
          poPlayer[i].setRespawnCounter( poPlayer[i].getRespawnCounter() + 1);
        }
        //"Laser" movement
        if (loLaser[i].getEnabled() == true) {
          if (loLaser[i].getDir() == 'u') { loLaser[i].moveUp('l'); }
          else if (loLaser[i].getDir() == 'd') { loLaser[i].moveDown('l'); }
          else if (loLaser[i].getDir() == 'l') { loLaser[i].moveLeft('l'); }
          else if (loLaser[i].getDir() == 'r') { loLaser[i].moveRight('l'); }
          checkCollision(&loLaser[i], poPlayer, i, Level);
        }
        if ((poPlayer[i].returnScore() == Level.getFragLimit()) && (Level.getFragLimit() > 0)) {
          //Frag Limit hit
          Menu.fragLimitHit = true;
          winner = i;
        }
      }

      speed_counter--;
    }//while (speed_counter > 0)

    if ( Menu.getEnabled() == true ) {
      drawMenuStuff(buffer, Menu, titleimg, imgPlayers, Level);
    }
    else if (Menu.fragLimitHit == true) {
      //Show win window!
      floodfill  (buffer, 0, 0, makecol(0,0,0));
      textprintf(buffer,font,348,203,makecol(100,0,0), "Player %i Wins!", winner+1 );
      textprintf(buffer,font,347,202,makecol(150,0,0), "Player %i Wins!", winner+1 );
      textprintf(buffer,font,346,201,makecol(200,0,0), "Player %i Wins!", winner+1 );
      textprintf(buffer,font,345,200,makecol(255,0,0), "Player %i Wins!", winner+1 );

      textprintf(buffer,font,330,250,makecol(255,0,0), "Player 1 score: %i", poPlayer[0].returnScore() );
      textprintf(buffer,font,330,260,makecol(255,0,0), "Player 2 score: %i", poPlayer[1].returnScore() );
      textprintf(buffer,font,330,270,makecol(255,0,0), "Player 3 score: %i", poPlayer[2].returnScore() );
      textprintf(buffer,font,330,280,makecol(255,0,0), "Player 4 score: %i", poPlayer[3].returnScore() );

      textprintf(buffer,font,330,249,makecol(255,255,255), "Player 1 score: %i", poPlayer[0].returnScore() );
      textprintf(buffer,font,330,259,makecol(255,255,255), "Player 2 score: %i", poPlayer[1].returnScore() );
      textprintf(buffer,font,330,269,makecol(255,255,255), "Player 3 score: %i", poPlayer[2].returnScore() );
      textprintf(buffer,font,330,279,makecol(255,255,255), "Player 4 score: %i", poPlayer[3].returnScore() );

      textout_centre(buffer, font, "Hit esc to continue", 400, 300, makecol(255,255,255));
    }
    else {
      generateBackground(buffer, Level);
      drawCharacters(poPlayer, Level, buffer);
      drawScoreBar(buffer, poPlayer, scrollerX, scrollerY, Level);
      if (loLaser[0].getEnabled() == true) { drawLaser(loLaser[0], buffer, Level, 0); }
      if (loLaser[1].getEnabled() == true) { drawLaser(loLaser[1], buffer, Level, 1); }
      if (loLaser[2].getEnabled() == true) { drawLaser(loLaser[2], buffer, Level, 2); }
      if (loLaser[3].getEnabled() == true) { drawLaser(loLaser[3], buffer, Level, 3); }
    }


    acquire_screen();
    blit(buffer, screen, 0, 0, 0, 0, 800, 600);
    clear_bitmap(buffer);
    release_screen();
  }//while ( !Menu.isDone() )

    return 0;

  return 0;
}