-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathworldMap.cpp
More file actions
90 lines (75 loc) · 2.71 KB
/
Copy pathworldMap.cpp
File metadata and controls
90 lines (75 loc) · 2.71 KB
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include "worldMap.h"
uint8_t surfaceX = 0;
uint8_t OceanArray[9] = {
1,
2,
1,
3,
3,
2,
1,
2,
3,
};
uint8_t OceanFloor[8] = { rand() %3 +4, rand() %3 +4,rand() %3 +4, rand() %3 +4, rand() %3 +4, rand() %3 +4, rand() %3 +4, rand() %3 +4, };
uint8_t mapSlice[] = {
1,
0,
0,
2,
};
const uint8_t OceanBkg[] PROGMEM =
{
// width, height,
16, 16,
// TILE 00
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// TILE 01
0x80, 0x00, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x80, 0x00, 0x00, 0x80,
0x20, 0x41, 0x82, 0x49, 0x50, 0xa1, 0x82, 0x42, 0x22, 0x8a, 0x0a, 0x71, 0x80, 0x81, 0x22, 0x11,
// TILE 02
0x80, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
0x40, 0x08, 0x90, 0x00, 0x21, 0xa2, 0x82, 0x11, 0x10, 0x08, 0x81, 0x92, 0x22, 0x91, 0x88, 0x10,
// TILE 03
0x80, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x40, 0x80, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x80,
0x10, 0x21, 0x42, 0x42, 0x41, 0x20, 0x10, 0x08, 0x11, 0x22, 0x41, 0x48, 0x24, 0x12, 0x22, 0x44,
// TILE 04
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x09, 0x62, 0x9a, 0x06, 0x61, 0x9a, 0x06, 0x01, 0x62, 0x9a, 0x06, 0x01, 0x62, 0x9a, 0x06, 0x61,
// TILE 05
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x31, 0x4e, 0x82, 0x32, 0x49, 0x01, 0x31, 0x4e, 0x82, 0x32, 0x49, 0x01, 0x01, 0x31, 0x4e, 0x81,
// TILE 06
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x05, 0x01, 0x71, 0x8a, 0x05, 0x21, 0x01, 0x72, 0x8a, 0x05, 0x21, 0x09, 0x02, 0x72, 0x8a, 0x05,
};
void drawMap(){
for (int horizontal = 0; horizontal <8; horizontal++){ //x
for (int vertical = 0; vertical < 4; vertical++){ //y
if( mapSlice[vertical] == 0){
sprite.drawSelfMasked(horizontal*16, vertical*16, OceanBkg, 0);
}
else if( mapSlice[vertical] == 2){
sprite.drawSelfMasked(horizontal*16, vertical*16, OceanBkg, OceanFloor[horizontal]);
}
}
}
for (int x = 0; x < 9; x++){
sprite.drawSelfMasked((x*16)-surfaceX, -6, OceanBkg, OceanArray[x]);
}
surfaceX++;
if(surfaceX == 16) {
surfaceX = 0;
byte type = rand() %3 +1;
OceanArray[0] = OceanArray[1];
OceanArray[1] = OceanArray[2];
OceanArray[2] = OceanArray[3];
OceanArray[3] = OceanArray[4];
OceanArray[4] = OceanArray[5];
OceanArray[5] = OceanArray[6];
OceanArray[6] = OceanArray[7];
OceanArray[7] = OceanArray[8];
OceanArray[8] = type;
}
}