Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct tower
- {
- int healthT;
- int N;
- int powerT;
- char region;
- };
- struct castle
- {
- tower tower[4];
- int Width;
- int Length;
- };
- struct enemy
- {
- int ID;
- int healthE;
- int powerE;
- int hitperiod;
- int type;
- char region;
- int timeofarrival;
- int distance;
- int priority;
- };
- struct node
- {
- node* next;
- enemy* enemy;
- };
- struct queue
- {
- node* front;
- node* rear;
- };
- bool Enqueue(queue &q,enemy* En)
- {
- node* ptr1=new node;
- if(ptr1==NULL)
- return false;
- ptr1->enemy=En;
- ptr1->next=NULL;
- if(q.front==NULL)
- {
- q.front=ptr1;
- q.rear=ptr1;
- return true;
- }
- q.rear->next=ptr1;
- q.rear=ptr1;
- return true;
- }
- bool Dequeue( queue&q,enemy* En)
- {
- if (q.front==NULL)
- return false;
- node*ptr2=q.front;
- En=ptr2->enemy;
- q.front=ptr2->next;
- delete ptr2;
- return true;
- }
- bool IsActive(queue &q,int timestep)
- {
- queue activequeue;
- queue inactivequeue;
- if(q.front->enemy->timeofarrival==timestep)
- Enqueue(activequeue,q.front->enemy);
- else
- Enqueue(inactivequeue,q.front->enemy);
- return true;
- }
- bool IsDead(queue &q,int timestep)
- {
- queue deadqueue;
- if(q.front->enemy->timeofarrival==timeofarrival+10)
- Enqueue(deadqueue,q.front->enemy);
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement