Dit is een testje dat ik heb gemaakt met wat ik tot hier toe al heb kan

:
main.cpp:
#include "DarkGDK.h"
int PLAYER = 3;
int WALL = 4;
#include "Load.h"
#include "UnLoad.h"
#include "Move.h"
#include "dbSpritePixelCollision.h"
void DarkGDK(void) {
Load();
while(LoopGDK()) {
Move();
Collisions();
if (dbEscapeKey()){
break;
}
dbSync();
}
UnLoad();
return;
}
Load.h:
void Load() {
dbSyncOn();
dbSyncRate(60);
dbDisableEscapeKey();
dbLoadImage("BackGround.bmp",1);
dbLoadImage("Player.bmp",PLAYER);
dbLoadImage("Wall.bmp",WALL);
dbSprite (1,0,0,1);
dbSprite (PLAYER,10,455,PLAYER);
dbSprite(WALL,50,50,WALL);
dbSetImageColorKey (255,0,255);
}
UnLoad.h:
void UnLoad() {
for ( int i=1 ; i<30 ; i++)
dbDeleteSprite(i);
// delete the backdrop image
dbDeleteImage(1);
}
Move.h:
int speed = 2;
void Move() {
if(dbUpKey()) {
dbMoveSprite(PLAYER,speed);
}
if(dbDownKey()) {
dbMoveSprite(PLAYER,-speed);
}
if(dbLeftKey()) {
dbRotateSprite(PLAYER,90);
dbMoveSprite(PLAYER,-speed);
dbRotateSprite(PLAYER,0);
}
if(dbRightKey()) {
dbRotateSprite(PLAYER,90);
dbMoveSprite(PLAYER,speed);
dbRotateSprite(PLAYER,0);
}
}
dbSpritePixelCollision.h :
bool dbSpritePixelCollision(int x, int y, int OB) {
int PX = 2;
dbLoadImage("Pixel.bmp", PX);
dbSprite(PX,x,y,PX);
return dbSpriteCollision(PX,OB);
}
void Collisions() {
while(dbSpritePixelCollision(dbSpriteX(PLAYER)+dbSpriteWidth(PLAYER)/2, dbSpriteY(PLAYER), WALL)) {
dbMoveSprite(PLAYER,-1);
}
while(dbSpritePixelCollision(dbSpriteX(PLAYER), dbSpriteY(PLAYER)+dbSpriteWidth(PLAYER)/2, WALL)) {
dbRotateSprite(PLAYER,90);
dbMoveSprite(PLAYER,1);
dbRotateSprite(PLAYER,0);
}
while(dbSpritePixelCollision(dbSpriteX(PLAYER)+dbSpriteWidth(PLAYER)/2, dbSpriteY(PLAYER)+dbSpriteWidth(PLAYER)-1, WALL)) {
dbMoveSprite(PLAYER,1);
}
while(dbSpritePixelCollision(dbSpriteX(PLAYER)+dbSpriteWidth(PLAYER)-1, dbSpriteY(PLAYER)+dbSpriteWidth(PLAYER)/2, WALL)) {
dbRotateSprite(PLAYER,90);
dbMoveSprite(PLAYER,-1);
dbRotateSprite(PLAYER,0);
}
}