Public feed #721853

Anonymous

public text v1 · immutable
Raw Edit
·published 2007-10-01 16:18 UTC
rendered paste body
// Global Variablese
int gemist = 0;
int score = 0;
int turn = 1;
int lvl = 1;
int speed = 200;
int timess = 0;
int done = 0;
int done1 = 0;

// Alle classen hiero
class duck {
      
      private:
      
      // positie vogeltje
      int x,y;
      // snelheid vogeltje
      int xVel, yVel;
      // hoeveel keer hij een kant heeft gekozen
      int keertjes;
      // Links true rechts true?
      int links, rechts;
      // Hoe hoog moet ie vliegen
      int HoeHoog;
      //click
      int click;
      //err
      int nietnogeenkeer;
      
      public:
      
      // geef Start positie 
      duck();
      
      // waar vliegt vogeltje heen?
      void move();
      
      // vogettje neer geschoten?
      int shot();
      
      // laat vogeltje zien
      void show();
      
      // Vogeltje gemist?
      void miss();
      
      void reset();
      
      void addturn();
      
      // anders gaat de score -20 steeds -_-
      bool missed;
      bool dead;
      
};

duck::duck() {
               
      x = 0;
      y = 0;
      xVel = 0;
      yVel = 0;
      keertjes = 0;
      links = 0;
      rechts = 0;
      missed = false;
      dead = false;
      click = 0;
      nietnogeenkeer = 0;
          
}

void duck::move() {
     
     // hij kan aan links of rechts beginnen
     // als hij rechts begint moet hij persee naar links blijven gaan
     // als hij links begint moet hij persee rechts blijven gaan 
     
     
     xVel = 0;
     yVel = 0;
     
     int WelkeKant = 0;
     
     WelkeKant = rand() % 2 + 1;
     
     if ( WelkeKant == 1 && keertjes == 0 ) {
          
          x = 0;
          keertjes = 1;
          links = 1;
          
          HoeHoog = rand() % 6 + 1;
          
          switch ( HoeHoog ) {
                 
                 case 1:
                      
                      y = 58;
                      break;
                      
                 case 2:
                      
                      y = 116;
                      break;
                      
                 case 3:
                      
                      y = 174;
                      break;
                      
                 case 4:
                      y = 232;
                      break;
                      
                 case 5:
                      
                      y = 290;
                      break;
                      
                 case 6:
                      
                      y = 348;
                      break;
                      
          }
          
     }
     
     if ( WelkeKant == 2 && keertjes == 0 ) { 
          
          x = 640 - 32;
          keertjes = 1;
          rechts = 1;
          
          HoeHoog = rand() % 6 + 1;
          
          switch ( HoeHoog ) {
                 
                 case 1:
                      
                      y = 58;
                      break;
                      
                 case 2:
                      
                      y = 116;
                      break;
                      
                 case 3:
                      
                      y = 174;
                      break;
                      
                 case 4:
                      y = 232;
                      break;
                      
                 case 5:
                      
                      y = 290;
                      break;
                      
                 case 6:
                      
                      y = 348;
                      break;
          }
          
     }
     
     if ( links == 1 && missed == false ) {
          
          xVel = xVel + 12;
          
     }
     
     if ( rechts == 1 && missed == false ) {
          
          xVel = xVel - 12;
          
     }
     
     if ( dead == true ) {
          
          yVel = yVel + 32;
     
     }
     
     x = x + xVel;
     y = y + yVel;
     

     

}

int duck::shot() {
     
  // mouse offsets
  int mx, my;
  
  //If a mouse button was pressed 
  if( event.type == SDL_MOUSEBUTTONDOWN ) { 
      
      //If the left mouse button was pressed 
      if( event.button.button == SDL_BUTTON_LEFT ) { 
          
          //Get the mouse offsets 
          mx = event.button.x; 
          my = event.button.y;    
          
          //Play the scratch effect 
          if( Mix_PlayChannel( -1, schot, 0 ) == -1 ) { return 1; }
          
          if ( mx >= x && mx <= (x+80) && my >= y && my <= (y+58) ) {
               
               if ( click == 0 ) {
                    
                                        
                    dead = true;
                    score = score + 20;

                    
               }

          }
      }
      
  } 

}

void duck::miss() {
     
     if ( x < -83 || x >  640 ) {
          
          if ( missed == false && dead == false ) {
          
             score = score - 10;
             gemist += 1;
             missed = true;

             
          }
          
     }
     
          
}

void duck::show() {
     
     if ( links == 1 ) {

          apply_surface(x,y,tiles,screen,&clip[1]);
          
     }
     
     else {
          
     // laat duck zien
     apply_surface(x,y,tiles,screen,&clip[0]);
     
     }
     
     
}

void duck::addturn() {
     
     if ( missed == true && nietnogeenkeer == 0 ) {
          
          turn++;
          nietnogeenkeer = nietnogeenkeer + 1;
          
     }
     
     if ( dead == true && nietnogeenkeer == 0 ) {
          
          turn++;
          nietnogeenkeer = nietnogeenkeer + 1;
          
     }
     
}

void duck::reset() {
     
      keertjes = 0;
      links = 0;
      rechts = 0;
      missed = false;
      dead = false;
      click = 0;  
      HoeHoog = 0;
      nietnogeenkeer = 0;
   
}

// maak duck aan dit moet later veranderd worden
// omdat het per lvl gaat
duck ducky;
duck ducky1;
duck ducky2;
duck ducky3;
duck ducky4;
duck ducky5;
duck ducky6;
duck ducky7;
duck ducky8;
duck ducky9;

void maketiles() {
     
     // duckie
     clip[ 0 ].x = 1; 
     clip[ 0 ].y = 1; 
     clip[ 0 ].w = 80; 
     clip[ 0 ].h = 58;
     
     clip[ 1 ].x = 82; 
     clip[ 1 ].y = 1; 
     clip[ 1 ].w = 80; 
     clip[ 1 ].h = 58;
     
}


// Laat score etc zien
void showinfo() {
     
     // laat scoren vrij anders krijg ik gemene buggers
     SDL_FreeSurface( scoren );
     SDL_FreeSurface( gemissed );
     
     // slaat ie de int in op
     char buffer [50];
     char missers [50];
     
     // zet alles in 1 char
     sprintf (buffer, "Score: %i", score);
     sprintf (missers, "Misses: %i", gemist);
     
     //Render the text 
     scoren = TTF_RenderText_Solid( font, buffer, textColor );
     gemissed = TTF_RenderText_Solid( font, missers, textColor );
     
     //laat zien op scherm
     apply_surface(20,430,scoren,screen);
     apply_surface(500,430,gemissed,screen);
     
     
     
}

int levels() {
     
     while ( turn == 11 && lvl < 10 && gemist <= 2 && gemist >= 0 ) {
           
             SDL_FreeSurface( lvlUP );
             lvlUP = TTF_RenderText_Solid( font,"Good job Hunter youre one lvl UP!!", textColor1 );
             apply_surface(100, 200,lvlUP,screen);
             SDL_Flip( screen );
             
          
              //If there's an event to handle 
              if( SDL_PollEvent( &event ) ) { 
                  
              //If a key was pressed 
              if( event.type == SDL_KEYDOWN ) {
                  
                             
                        turn = 1;
                        
                        ducky.reset();
                        ducky1.reset();
                        ducky2.reset();
                        ducky3.reset();
                        ducky4.reset();
                        ducky5.reset();
                        ducky6.reset();
                        ducky7.reset();
                        ducky8.reset();
                        ducky9.reset();
                        
                        
                        lvl++;
             
                        speed = speed - 22;
                        
                        gemist = 0;
                        
                        }
              
              }
              
            //If the user has Xed out the window
            if( event.type == SDL_QUIT ) {
                
                      //Quit the program
                      quit = true;
            
            }
              
     
                                
     }
     
     //If the user has Xed out the window
     if( event.type == SDL_QUIT ) {
                
         //Quit the program
         quit = true;
            
    }
    
    while ( lvl == 10 && done1 == 0 ) {
         
             SDL_Flip( screen );
             // bacground weer laden zodat je niet 10 ducks ziet 
             apply_surface(0,0,background,screen);
                     
             SDL_FreeSurface( lvlUP );
             lvlUP = TTF_RenderText_Solid( font,"You Shot all the Buggies! Good Job", textColor1 );
             apply_surface(50,200,lvlUP,screen);
             SDL_Flip( screen );
             
             //If there's an event to handle 
              if( SDL_PollEvent( &event ) ) { 
                  
                  //If a key was pressed 
                  if( event.type == SDL_KEYDOWN ) {
                      
                       quit = true;
                       done1 = 1;
                      
                  }
                  
              }

    }  
    
    while ( gemist > 2 && turn == 12 && done == 0) {
         
             SDL_FreeSurface( lvlUP );
             lvlUP = TTF_RenderText_Solid( font,"Aww you Failed to shoot 8 of the 10 buggies", textColor1 );
             apply_surface(50,200,lvlUP,screen);
             SDL_Flip( screen );
    
              //If there's an event to handle 
              if( SDL_PollEvent( &event ) ) { 
                  
                  //If a key was pressed 
                  if( event.type == SDL_KEYDOWN ) {
                      
                       quit = true;  
                       done = 1;

                  }
                  
              }
    
    
             
    }
         
  
}