Om dit in te stellen in Code::Blocks moet je naar Settings->Editor gaan en dan bij Source formatter K&R selecteren.
Regels
- Alle code moet in het Engels worden geschreven, het commentaar ook
- Alle variabelen declareer je aan het begin van de functie
- Classe namen beginnen met een hoofdletter, functie namen en variabelen met een kleine letter
- Alle namen worden geschreven in CamelCase wat inhoud dat meerdere woorden aan elkaar geplakt worden met een hoofdletter, bijvoorbeeld varNaam
- De * van pointers moeten bij declaraties met 1 spatie tussen het type en de variabele naam, dus char *var
- Bij een cast moeten de * van pointers aan het type vast zitten, dus (char*)type
- Bij het aanroepen van een member in een class gebruik je altijd this->, dus bijvoorbeeld this->width
Header bestand
#ifndef ENGINE_H #define ENGINE_H #ifdef __linux__ #include <SDL2/SDL.h> #include "system/linux/time.h" #else #include <SDL.h> #include "system/win32/time.h" #endif #include "geom/Point.h" /** * The main game engine * Gets run on the main loop and handles IO/Window management */ class Engine { public: Engine(); virtual ~Engine(); void loop(); void createWindow(); void setWindowTitle(const char *title); void setSize(int width, int height); inline void setSize(Point size); private: /* Window status */ enum W_STATUS{ init, open, closed, error } wStatus; /* Window Width */ int wWidth; /* Window Height */ int wHeight; /* Window Title */ const char *wTitle; /* Main Window */ SDL_Window *window; }; #endif // ENGINE_HSource bestand
#include "Engine.h" Engine::Engine() { SDL_Init(SDL_INIT_VIDEO); this->wStatus = init; } void Engine::loop() { SDL_Event event; while(this->wStatus == open) { SDL_WaitEvent(&event); switch(event.type) { case SDL_QUIT: this->wStatus = closed; break; } } SDL_Quit(); } void Engine::setSize(int width, int height) { this->wWidth = width; this->wHeight = height; if(this->wStatus == open) SDL_SetWindowSize(this->window, this->wWidth, this->wHeight); } void Engine::setSize(Point size) { this->setSize(size.x, size.y); }
0 reacties:
Een reactie posten