Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <queue>
- #include <cstdlib>
- #include <iomanip>
- using namespace std;
- /*class invader{
- private:
- bool hp;
- int boost;
- public:
- invader(bool hp, int boost) : hp(hp), boost(boost) {}
- bool isHp() const {
- return hp;
- }
- void setHp(bool hp) {
- invader::hp = hp;
- }
- int getBoost() const {
- return boost;
- }
- void setBoost(int boost) {
- invader::boost = boost;
- }
- };*/
- class defender{
- private:
- int dmg;
- int position;
- public:
- defender(int dmg, int position) : dmg(dmg), position(position) {}
- int getDmg() const {
- return dmg;
- }
- void incDmg() {
- defender::dmg = dmg + 1;
- }
- void decDmg() {
- if(defender::dmg>1) defender::dmg = dmg - 1;
- }
- int getPosition() const {
- return position;
- }
- void setPosition(int position) {
- defender::position = position;
- }
- };
- int rand(int n){
- return rand()%n;
- }
- vector<queue<int> > mapa(int k, int b){
- vector<queue<int> > plansza;
- for (int i = 0; i < k; i++) {
- queue<int> kolumna;
- for (int j = 0; j < b; j++) {
- kolumna.push(i+j);
- }
- plansza.push_back(kolumna);
- }
- return plansza;
- }
- void move(vector<queue<int> >& plansza, defender& postac){
- int ruch, damage=postac.getDmg();
- cout<<"Ktora kolumne chcesz zaatakowac?\n";
- cin>>ruch;
- if(damage>plansza[ruch].size()) damage=plansza[ruch].size();
- for(int i = 0; i<damage; i++){
- if(plansza[ruch].front()==1) postac.incDmg();
- if(plansza[ruch].front()==2) postac.decDmg();
- plansza[ruch].pop();
- }
- postac.setPosition(ruch);
- }
- void rysuj(vector<queue<int> > plansza, int w) {
- //system("cls");
- for (int i = 1; i <= plansza.size(); i++) {
- cout << "----";
- if (i < plansza.size()) cout << "--";
- else cout << endl;
- }
- for (int i = 0; i < w-1; i++) {
- for (int j = 0; j < plansza.size(); j++) {
- if(plansza[j].empty()!=1) {
- cout <<setfill('#')<<setw(4)<<plansza[j].front()<<" ";
- plansza[j].pop();
- }
- else cout<<" ";
- }
- cout<<endl;
- }
- }
- int main() {
- srand(time(NULL));
- vector<queue<int> > plansza;
- int w, k, b, r, n;
- k=3;
- b=4;
- defender gracz(5,k/2);
- plansza = mapa(k,b);
- move(plansza,gracz);
- rysuj(plansza, 10);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement