Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
#include <allegro.h>
#include <cstdlib>
#include <ctime>
#include "collegro.c"
void init();
void deinit();
void keys();
void checkcolission();
void drawfield(),drawrij(int d), drawhaai(),shoot(),drawbullet();
void drawinfo();
BITMAP *eend;
BITMAP *eend2;
BITMAP *eend3;
BITMAP *water;
BITMAP *buffer;
BITMAP *haai;
BITMAP *bullet;
bool justfired,bulletfired,eendisdood,haaiisdood;
int bulletmode=2, mode = 2 ; //Rechts = 1; links = 2;
int x = 320;
int y = 50 ;
int score;
int xhaai=-100,yhaai=50,xbullet=320,ybullet=50;
int main() {
init();
eend = load_bitmap("eend.bmp",NULL);
eend2 = load_bitmap("eend2.bmp",NULL);
eend3 = load_bitmap("eend3.bmp",NULL);
buffer = create_bitmap(640,480);
draw_sprite(buffer,eend,x,y);
while (!key[KEY_ESC]) {
drawfield();
drawbullet();
keys();
drawhaai();
checkcolission();
drawinfo();
if(eendisdood==true)
draw_sprite(buffer,eend3,x,y);
else{
if (mode == 1)
draw_sprite(buffer,eend,x,y);
else
draw_sprite(buffer,eend2,x,y);
}
blit(buffer, screen, 0,0,0,0,640,480);
}
deinit();
return 0;
}
END_OF_MAIN()
void init() {
int depth, res;
allegro_init();
depth = desktop_color_depth();
if (depth == 0) depth = 32;
set_color_depth(depth);
res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
if (res != 0) {
allegro_message(allegro_error);
exit(-1);
}
install_timer();
install_keyboard();
install_mouse();
/* add other initializations here */
}
void deinit() {
clear_keybuf();
/* add other deinitializations here */
}
void keys(){
if(eendisdood == false){
if(key[KEY_SPACE])
justfired=true;
//bulletfired=true;
shoot();
if(key[KEY_LEFT]){
mode=2;
rest(2);
x--;
if(bulletfired == false){
xbullet=x;
ybullet = y;
bulletmode=2;
}
}
if(key[KEY_RIGHT]){
mode=1;
rest(2);
x++;
if(bulletfired == false){
xbullet=x;
ybullet = y;
bulletmode=1;
}
}
if(key[KEY_UP]){
rest(2);
y--;
if(bulletfired == false){
ybullet = y;
xbullet=x;
}
}
if(key[KEY_DOWN]){
rest(2);
y++;
if(bulletfired == false){
ybullet = y;
xbullet=x;
}
}
}
}
void drawfield(){
int c=0;
for(int a = 0; a != 20;a++){
drawrij(c);
c=c+30;
}
}
void drawrij(int d){
int x1=0, y1=0;
water = load_bitmap("water.bmp",NULL);
for(int a = 0; a != 30; a++){
draw_sprite(buffer,water,x1,d);
x1=x1+30;
}
}
void drawhaai(){
srand(time(0));
if(xhaai >=800){
yhaai=rand()%600+40;
xhaai=-100;
}
if(haaiisdood==true){
yhaai=rand()%640;
xhaai=-100;
haaiisdood=false;
rest(10);
}
xhaai++;
rest(3);
haai = load_bitmap("haai.bmp",NULL);
draw_sprite(buffer,haai,xhaai,yhaai);
}
void shoot(){
if((xbullet <=20)||(xbullet>=620)||(haaiisdood==true)){
drawbullet();
justfired=false;
bulletfired=false;
}
}
void drawbullet(){
if(justfired == true){
bullet = load_bitmap("bubbel.bmp",NULL);
draw_sprite(buffer,bullet,xbullet,ybullet);
bulletfired=true;
if(bulletmode == 2)
xbullet--;
else
xbullet++;
}
}
void checkcolission(){
if((clgo_collide_bitmaps(eend,x,y,haai,xhaai,yhaai))||(clgo_collide_bitmaps(eend2,x,y,haai,xhaai,yhaai)))
eendisdood = true;
if(bulletfired == true){
if(clgo_collide_bitmaps(haai,xhaai,yhaai,bullet,xbullet,ybullet)){
haaiisdood=true;
score++;
xbullet=x;
ybullet=y;
}
}
}
void drawinfo(){
textprintf(buffer,font,100,460,makecol(255,255,255),"Controls: Pijltjestoetsen = beweging, Spatiebalk = schieten");
textprintf(buffer,font,100,470,makecol(255,255,255),"Score: %i",score);
}
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.