#include <iostream>
#include <cstdlib>
#include <vector>
#include <string>
#include <utility>
#ifndef LGE_H
#define LGE_H
class Player {
private:
char player;
short x, y;
short ziel_x, ziel_y;
short leben;
short munition;
public:
Player();
Player(const char player_icon);
Player(const char player_icon, short x, short y);
void set_x(const short &xPos);
void set_y(const short &yPos);
short get_x() const;
short get_y() const;
void set_ziel_x(const short &xZielPos);
void set_ziel_y(const short &yZielPos);
short get_ziel_x() const;
short get_ziel_y() const;
const char get_playerICON() const;
const char get_levelElement(std::string name) {
if (name == "door") return door;
else if (name == "wallSenkrecht") return wallSenkrecht;
else if (name == "wallWaagerecht") return wallWaagerecht;
else if (name == "border") return border;
else if (name == "muniElement") return muniElement;
else if (name == "leer") return leer;
else {
std::cerr << "FEHLER: \"" << name << "\" nicht bekannt!" << std::endl;
// ...
}
}
// Screen
public:
const short SIZE_X = 20;
const short SIZE_Y = 10;
void initScreen();
void refreshScreen();
void print();
void showWinningText() {
level.at(3).at(7) == 'Y';
level.at(4).at(7) == 'o';
level.at(5).at(7) == 'u';
level.at(6).at(7) == '\'';
level.at(7).at(7) == 'v';
level.at(8).at(7) == 'e';
level.at(9).at(7) == ' ';
level.at(10).at(7) == 'w';
level.at(11).at(7) == 'o';
level.at(12).at(7) == 'n';
level.at(13).at(7) == '!';
}
// Level
public:
std::vector<std::string> level{SIZE_Y};
void initLevelelements();
bool isALevelElement(char zeichen);
void set_door(char &new_door);
private:
char wallSenkrecht = 254;
char wallWaagerecht = 254;
char border = 178;
char muniElement = 8;
char door = 127;
char leer = ' ';
std::pair<short, short> levelElementPos[43] = {
// Waagerecht
std::pair<short,short>( 4, 3),
std::pair<short,short>( 5, 3),
std::pair<short,short>( 6, 3),
std::pair<short,short>( 7, 3),
std::pair<short,short>( 8, 1),
std::pair<short,short>( 9, 1),
std::pair<short,short>(10, 1),
std::pair<short,short>(11, 1),
std::pair<short,short>(12, 1),
std::pair<short,short>(13, 1),
std::pair<short,short>(14, 1),
std::pair<short,short>(15, 1),
std::pair<short,short>(16, 1),
std::pair<short,short>(17, 1),
std::pair<short,short>(18, 1),
std::pair<short,short>( 1, 5),
std::pair<short,short>( 2, 5),
std::pair<short,short>( 3, 5),
std::pair<short,short>( 4, 5),
std::pair<short,short>( 5, 5),
std::pair<short,short>( 6, 5),
std::pair<short,short>( 7, 5),
std::pair<short,short>( 8, 5),
std::pair<short,short>(10, 3),
std::pair<short,short>(11, 3),
std::pair<short,short>(14, 6),
std::pair<short,short>(15, 6),
std::pair<short,short>(12, 6),
// Senkrecht
std::pair<short,short>( 4, 1),
std::pair<short,short>( 4, 2),
std::pair<short,short>( 7, 2),
std::pair<short,short>( 7, 1),
std::pair<short,short>( 9, 5),
std::pair<short,short>( 9, 4),
std::pair<short,short>( 9, 3),
std::pair<short,short>(11, 4),
std::pair<short,short>(11, 5),
std::pair<short,short>(11, 6),
std::pair<short,short>(11, 7),
std::pair<short,short>(13, 4),
std::pair<short,short>(13, 5),
std::pair<short,short>(13, 6),
// Tür
std::pair<short,short>(10, 4),
// Munition
//std::pair<short,short>( 8, 2);
};
};
class Enemy {
};
class Console {
public:
static void Log(std::string msg) {
std::clog << "CLog: " << msg << std::endl;
}
};
#endif