-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtetravex_display.cc
50 lines (44 loc) · 1.08 KB
/
tetravex_display.cc
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
#include "tetravex.hh"
#include <iostream>
void display_horizontal_line(int size)
{
for (int i = 0; i < size; ++i)
{
std::cout << "+";
std::cout << "-----";
}
std::cout << "+" << std::endl;
}
void display_line_north_south(const Tetravex& game, int line, int direction)
{
for (int i = 0; i < game.size; ++i)
{
Tile& tile = game.get_tile(i, line);
std::cout << "| " << tile.value[direction] << " ";
}
std::cout << "|" << std::endl;
}
void display_line_west_east(const Tetravex& game, int line)
{
for (int i = 0; i < game.size; ++i)
{
Tile& tile = game.get_tile(i, line);
std::cout << "| " << tile.value[WEST] << " " << tile.value[EAST] << " ";
}
std::cout << "|" << std::endl;
}
void display_line(const Tetravex& game, int line)
{
display_line_north_south(game, line, NORTH);
display_line_west_east(game, line);
display_line_north_south(game, line, SOUTH);
}
void Tetravex::display() const
{
for (int line = 0; line < size; line++)
{
display_horizontal_line(size);
display_line(*this, line);
}
display_horizontal_line(size);
}