platform-test/main.cpp

97 lines
2.3 KiB
C++

//main file
#include<iostream>
#include<SDL2/SDL.h>
#include"entity.h"
#include"player.h"
#include"block.h"
#include"powerup.h"
#include"camera.h"
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
SDL_Window* gWindow = NULL;
SDL_Renderer* gRenderer = NULL;
//12 sz of height and 16 of width
const int sz = SCREEN_WIDTH/16;
void init();
bool loadMedia();
void close();
bool loadMedia(){
bool success = true;
return success;
}
void init(){
SDL_Init(SDL_INIT_VIDEO);
gWindow = SDL_CreateWindow("Platform Test!",SDL_WINDOWPOS_CENTERED,SDL_WINDOWPOS_CENTERED,SCREEN_WIDTH,SCREEN_HEIGHT,SDL_WINDOW_SHOWN);
gRenderer = SDL_CreateRenderer(gWindow,-1,SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
SDL_SetRenderDrawColor(gRenderer,0xFF,0xFF,0xFF,0xFF);
}
void close(){
SDL_DestroyRenderer(gRenderer);
SDL_DestroyWindow(gWindow);
gWindow = NULL;
gRenderer = NULL;
SDL_Quit();
}
int main(int argc, char* args[]){
init();
loadMedia();
bool quit = false;
SDL_Event e;
Camera camera(36*sz,SCREEN_WIDTH);
Player posweg(100,100,sz,sz,&gRenderer);
Block wallA(8*sz,SCREEN_HEIGHT-sz*5,sz*2,sz*2,&gRenderer,&posweg);
Block wallB(4*sz,SCREEN_HEIGHT-sz*3,sz,sz*2,&gRenderer,&posweg);
Block wallC(6*sz,SCREEN_HEIGHT-sz*3,sz,sz*2,&gRenderer,&posweg);
Block ground(0,SCREEN_HEIGHT-sz,SCREEN_WIDTH,sz,&gRenderer,&posweg);
Block ground2(SCREEN_WIDTH+sz*4,SCREEN_HEIGHT-sz,SCREEN_WIDTH,sz,&gRenderer,&posweg);
Powerup powerup(13*sz,SCREEN_HEIGHT-sz*4,&gRenderer,&posweg);
while(!quit){
while(SDL_PollEvent(&e)!=0){
if(e.type == SDL_QUIT){
quit = true;
}
}
SDL_SetRenderDrawColor(gRenderer,0,0,100,0xFF);
SDL_RenderClear(gRenderer);
camera.update(posweg.getRectangle().x,posweg.getRectangle().y);
posweg.print(camera.getPosX());
wallA.print(camera.getPosX());
wallB.print(camera.getPosX());
wallC.print(camera.getPosX());
ground.print(camera.getPosX());
ground2.print(camera.getPosX());
powerup.print(camera.getPosX());
//Entity *ePwrUp = &powerup;
/*posweg.check(wallA.getRectangle());
posweg.check(wallB.getRectangle());
posweg.check(wallC.getRectangle());
posweg.check(ground.getRectangle());
posweg.check(ground2.getRectangle());*/
//posweg.check(ePwrUp);
SDL_RenderPresent(gRenderer);
}
close();
return 0;
}