Inicjalizacja projektu.
This commit is contained in:
14
inc/def.hh
Normal file
14
inc/def.hh
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#ifndef DEF_HH
|
||||||
|
#define DEF_HH
|
||||||
|
|
||||||
|
#include <SFML/Window.hpp>
|
||||||
|
|
||||||
|
/* Plik zawiera definicje stałych globalnych oraz przedefiniowanie istniejących typów. */
|
||||||
|
|
||||||
|
// Długość boku pojedynczego kafelka(który jest kwadratem)
|
||||||
|
const int TILE_SIZE = 64;
|
||||||
|
|
||||||
|
// Przedefiniowanie sf::Vector2f na RealVector
|
||||||
|
typedef sf::Vector2f RealVector;
|
||||||
|
|
||||||
|
#endif
|
||||||
38
inc/misc.hh
Normal file
38
inc/misc.hh
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
#ifndef MISC_HH
|
||||||
|
#define MISC_HH
|
||||||
|
|
||||||
|
#include <SFML/Window.hpp>
|
||||||
|
|
||||||
|
#include "def.hh"
|
||||||
|
|
||||||
|
/* Struktura reprezentująca wektor w układzie odniesienia planszy do gier (a nie według rzeczywistych współrzędnych - pikseli). */
|
||||||
|
struct Vector
|
||||||
|
{
|
||||||
|
unsigned int x;
|
||||||
|
unsigned int y;
|
||||||
|
|
||||||
|
// Konstruktor tworzący parę (_x, _y)
|
||||||
|
Vector(unsigned int _x, unsigned int _y) : x(_x), y(_y) {}
|
||||||
|
|
||||||
|
// Konstruktor tworzący parę (x, y) na podstawie rzeczywistych współrzędnych
|
||||||
|
Vector(const RealVector& real_position) : x(real_position.x/TILE_SIZE), y(real_position.y/TILE_SIZE) {}
|
||||||
|
|
||||||
|
// Pobierz rzeczywistą pozycję górnego, lewego narożnika kafelka o współrzędnych (x, y)
|
||||||
|
RealVector getRealVector() const { return RealVector(x*TILE_SIZE, y*TILE_SIZE); }
|
||||||
|
|
||||||
|
// Pobierz rzeczywistą pozycję środka kafelka o współrzędnych (x, y)
|
||||||
|
RealVector getCenterRealVector() const { return RealVector(x*TILE_SIZE + 0.5*TILE_SIZE, y*TILE_SIZE + 0.5*TILE_SIZE); }
|
||||||
|
|
||||||
|
// Operator dodawania wektorów
|
||||||
|
Vector operator+(const Vector& v) { return Vector(x+v.x, y+v.y); }
|
||||||
|
|
||||||
|
// Operator odejmowania wektorów
|
||||||
|
Vector operator-(const Vector& v) { return Vector(x-v.x, y-v.y); }
|
||||||
|
|
||||||
|
// Mnożenie wektora przez liczbę
|
||||||
|
Vector operator*(int a) { return Vector(a*v.x, a*v.y); }
|
||||||
|
Vector operator*(float a) { return Vector(a*v.x, a*v.y); }
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
36
inc/object.hh
Normal file
36
inc/object.hh
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
#ifndef OBJECT_HH
|
||||||
|
#define OBJECT_HH
|
||||||
|
|
||||||
|
/* Klasa object będąca interfejsem po którym dziedziczą pionki.
|
||||||
|
* Klasa ta deklaruje podstawowe elementy obiektów znajdujących się
|
||||||
|
* na planszy, takie jak wyświetlanie, przesuwanie czy odczytywanie pozycji.
|
||||||
|
* Nie definiuje ona jeszcze żadnych kształtów czy kolorów, jest więc zatem klasą
|
||||||
|
* w zasadzie czysto abstrakcyjną. */
|
||||||
|
|
||||||
|
#include <SFML/Window.hpp>
|
||||||
|
|
||||||
|
#include "def.hh"
|
||||||
|
#include "misc.hh"
|
||||||
|
|
||||||
|
class Object
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
|
||||||
|
// Pozycja obiektu
|
||||||
|
Vector position;
|
||||||
|
public:
|
||||||
|
|
||||||
|
// Pobierz pozycję obiektu
|
||||||
|
Vector getPosition() const { return position; }
|
||||||
|
|
||||||
|
// Ustaw pozycję obiektu
|
||||||
|
void setPosition(const Vector& _position) { position = _position }
|
||||||
|
|
||||||
|
// Przesuń obiekt o wektor
|
||||||
|
void move(const Vector& vector) {}
|
||||||
|
|
||||||
|
// Rysuj obiekt
|
||||||
|
void draw(sf::RenderWindow window) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
10
src/main.cpp
Normal file
10
src/main.cpp
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <SFML/Window.hpp>
|
||||||
|
|
||||||
|
#include "../inc/def.hh"
|
||||||
|
#include "../inc/misc.hh"
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user