-
Notifications
You must be signed in to change notification settings - Fork 0
/
display.h
50 lines (34 loc) · 899 Bytes
/
display.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#ifndef __DISPLAY_H__
#define __DISPLAY_H__
#include <iostream>
#include <map>
#include "observer.h"
#include "posn.h"
#include "subject.h"
#include "player.h"
struct Posn;
class Display final : public Observer {
std::map<Posn, char> theDisplay;
const int h; // height will be 25
const int w; // width 79
// for stats display
Stats s;
public:
Display();
~Display();
void notify(Subject *whoNotified) override;
char getType() const override;
void updateDisplay(const Posn &p, char c);
// updates theDisplay at Posn of who notified
//void notify(Subject &whoNotified);
/*
void notifyComing(Subject *whoNotified) override;
void notifyLeave() override;
*/
SubscriptionType getSubType() const override;
// puts h and w in height and width
void getHW(int &height, int &width);
// to output
friend std::ostream &operator<<(std::ostream &out, const Display &d);
};
#endif