Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SDL/SDL.h>
- #include <SDL_image/SDL_image.h>
- #include "Player.h"
- #include "Bullet.h"
- #define WIDTH 475
- #define HEIGHT 625
- #define FPS 60
- SDL_Surface* loadImage(char* filename) {
- SDL_Surface* loadedImage = IMG_Load(filename);
- SDL_Surface* optimized = NULL;
- if(loadedImage) {
- optimized = SDL_DisplayFormat(loadedImage);
- SDL_FreeSurface(loadedImage);
- }
- return optimized;
- }
- int main(int argc, char* argv[]) {
- SDL_Init(SDL_INIT_EVERYTHING);
- SDL_Surface* screen = SDL_SetVideoMode(WIDTH, HEIGHT, 32, SDL_SWSURFACE);
- SDL_WM_SetCaption("Galaga Test", NULL);
- //init
- Player player((WIDTH-25)/2, HEIGHT-35);
- Bullet bill(player.getX(), player.getY(), 0, -8);
- bool running = true;
- while(running) {
- SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0));
- SDL_Event event;
- int start = SDL_GetTicks();
- while(SDL_PollEvent(&event)) {
- if(event.type == SDL_QUIT) {
- running = false;
- } else if(event.type == SDL_KEYDOWN) {
- int key = event.key.keysym.sym;
- if(key == SDLK_RIGHT || key == SDLK_d) {
- player.setXVel(6);
- } else if(key == SDLK_LEFT || key == SDLK_a) {
- player.setXVel(-6);
- }
- } else if(event.type == SDL_KEYUP) {
- int key = event.key.keysym.sym;
- if(key == SDLK_RIGHT || key == SDLK_d) {
- player.setXVel(0);
- } else if(key == SDLK_LEFT || key == SDLK_a) {
- player.setXVel(0);
- }
- }
- }
- //update
- player.update();
- bill.update();
- if(player.getX() < 0 || player.getX()+player.getWidth() > WIDTH) {
- player.setX(player.getX()-player.getXVel());
- player.setXVel(0);
- }
- //render
- bill.render(screen);
- player.render(screen);
- int end = SDL_GetTicks();
- int duration = end-start;
- if(duration > (1000/FPS)) {
- SDL_Delay(5);
- } else {
- SDL_Delay((1000/FPS)-duration);
- }
- SDL_Flip(screen);
- }
- SDL_Quit();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment