Public feed
#721853
// 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;
}
}
}
}