Base code
This commit is contained in:
parent
fefc90006f
commit
92dd81cdaa
|
@ -1,8 +1,53 @@
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
struct Params {
|
||||||
|
int life = 3;
|
||||||
|
int movement = 4;
|
||||||
|
int pos[2];
|
||||||
|
};
|
||||||
|
|
||||||
|
class Enemy: protected Params {
|
||||||
|
virtual void move() {};
|
||||||
|
friend void killAi(Enemy);
|
||||||
|
};
|
||||||
|
|
||||||
|
template <class TT>
|
||||||
|
|
||||||
|
class Palladin : public Enemy {
|
||||||
|
TT stamina;
|
||||||
|
string weapon = "sword";
|
||||||
|
int mana = 10;
|
||||||
|
public:
|
||||||
|
void move(int x, int y) {
|
||||||
|
if (movement > x && movement > y) {
|
||||||
|
pos[0] = x;
|
||||||
|
pos[1] = y;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
void killAi(Enemy e) {
|
||||||
|
e.life = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class TTTT>
|
||||||
|
|
||||||
|
TTTT upgradeAi(TTTT e) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
cout << "Hello World!\n";
|
Palladin<vector<int>> jerzy;
|
||||||
|
Enemy kretoszczur;
|
||||||
|
jerzy.move(1, 1);
|
||||||
|
killAi(jerzy);
|
||||||
|
killAi(kretoszczur);
|
||||||
|
|
||||||
|
upgradeAi(jerzy);
|
||||||
|
upgradeAi(kretoszczur);
|
||||||
|
upgradeAi("kolonia");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue