bouncy fpga game
www.youtube.com/watch?v=IiLWF3GbV7w
1-- =======================================================================
2-- Level package: level
3-- Auto-generated by level_builder.py — do not edit by hand.
4--
5-- Usage in physics_engine / renderer:
6-- library work;
7-- use work.level.all;
8--
9-- Then iterate:
10-- for i in 0 to OBS_COUNT-1 loop
11-- if c_right >= OBS_L(i) and ... then <collision logic> end if;
12-- end loop;
13-- =======================================================================
14library IEEE;
15use IEEE.STD_LOGIC_1164.all;
16use IEEE.STD_LOGIC_ARITH.all;
17use IEEE.STD_LOGIC_UNSIGNED.all;
18
19package level is
20
21 constant OBS_COUNT : integer := 34;
22
23 -- Obstacle coordinate arrays (11-bit world-space, left/top/right/bottom)
24 type obs_arr_t is array(0 to OBS_COUNT-1) of std_logic_vector(10 downto 0);
25
26 constant OBS_L : obs_arr_t := (
27 CONV_STD_LOGIC_VECTOR(60, 11),
28 CONV_STD_LOGIC_VECTOR(250, 11),
29 CONV_STD_LOGIC_VECTOR(490, 11),
30 CONV_STD_LOGIC_VECTOR(690, 11),
31 CONV_STD_LOGIC_VECTOR(460, 11),
32 CONV_STD_LOGIC_VECTOR(100, 11),
33 CONV_STD_LOGIC_VECTOR(200, 11),
34 CONV_STD_LOGIC_VECTOR(570, 11),
35 CONV_STD_LOGIC_VECTOR(930, 11),
36 CONV_STD_LOGIC_VECTOR(590, 11),
37 CONV_STD_LOGIC_VECTOR(590, 11),
38 CONV_STD_LOGIC_VECTOR(790, 11),
39 CONV_STD_LOGIC_VECTOR(920, 11),
40 CONV_STD_LOGIC_VECTOR(920, 11),
41 CONV_STD_LOGIC_VECTOR(590, 11),
42 CONV_STD_LOGIC_VECTOR(720, 11),
43 CONV_STD_LOGIC_VECTOR(650, 11),
44 CONV_STD_LOGIC_VECTOR(310, 11),
45 CONV_STD_LOGIC_VECTOR(70, 11),
46 CONV_STD_LOGIC_VECTOR(190, 11),
47 CONV_STD_LOGIC_VECTOR(420, 11),
48 CONV_STD_LOGIC_VECTOR(490, 11),
49 CONV_STD_LOGIC_VECTOR(200, 11),
50 CONV_STD_LOGIC_VECTOR(1010, 11),
51 CONV_STD_LOGIC_VECTOR(780, 11),
52 CONV_STD_LOGIC_VECTOR(1120, 11),
53 CONV_STD_LOGIC_VECTOR(990, 11),
54 CONV_STD_LOGIC_VECTOR(940, 11),
55 CONV_STD_LOGIC_VECTOR(1280, 11),
56 CONV_STD_LOGIC_VECTOR(640, 11),
57 CONV_STD_LOGIC_VECTOR(1250, 11),
58 CONV_STD_LOGIC_VECTOR(1200, 11),
59 CONV_STD_LOGIC_VECTOR(1330, 11),
60 CONV_STD_LOGIC_VECTOR(1270, 11)
61 );
62 constant OBS_T : obs_arr_t := (
63 CONV_STD_LOGIC_VECTOR(1430, 11),
64 CONV_STD_LOGIC_VECTOR(1380, 11),
65 CONV_STD_LOGIC_VECTOR(1420, 11),
66 CONV_STD_LOGIC_VECTOR(1360, 11),
67 CONV_STD_LOGIC_VECTOR(1220, 11),
68 CONV_STD_LOGIC_VECTOR(1170, 11),
69 CONV_STD_LOGIC_VECTOR(980, 11),
70 CONV_STD_LOGIC_VECTOR(1060, 11),
71 CONV_STD_LOGIC_VECTOR(1210, 11),
72 CONV_STD_LOGIC_VECTOR(480, 11),
73 CONV_STD_LOGIC_VECTOR(480, 11),
74 CONV_STD_LOGIC_VECTOR(480, 11),
75 CONV_STD_LOGIC_VECTOR(500, 11),
76 CONV_STD_LOGIC_VECTOR(490, 11),
77 CONV_STD_LOGIC_VECTOR(760, 11),
78 CONV_STD_LOGIC_VECTOR(640, 11),
79 CONV_STD_LOGIC_VECTOR(570, 11),
80 CONV_STD_LOGIC_VECTOR(800, 11),
81 CONV_STD_LOGIC_VECTOR(620, 11),
82 CONV_STD_LOGIC_VECTOR(360, 11),
83 CONV_STD_LOGIC_VECTOR(540, 11),
84 CONV_STD_LOGIC_VECTOR(200, 11),
85 CONV_STD_LOGIC_VECTOR(170, 11),
86 CONV_STD_LOGIC_VECTOR(220, 11),
87 CONV_STD_LOGIC_VECTOR(280, 11),
88 CONV_STD_LOGIC_VECTOR(580, 11),
89 CONV_STD_LOGIC_VECTOR(770, 11),
90 CONV_STD_LOGIC_VECTOR(970, 11),
91 CONV_STD_LOGIC_VECTOR(850, 11),
92 CONV_STD_LOGIC_VECTOR(910, 11),
93 CONV_STD_LOGIC_VECTOR(350, 11),
94 CONV_STD_LOGIC_VECTOR(1360, 11),
95 CONV_STD_LOGIC_VECTOR(1220, 11),
96 CONV_STD_LOGIC_VECTOR(1100, 11)
97 );
98 constant OBS_R : obs_arr_t := (
99 CONV_STD_LOGIC_VECTOR(150, 11),
100 CONV_STD_LOGIC_VECTOR(360, 11),
101 CONV_STD_LOGIC_VECTOR(620, 11),
102 CONV_STD_LOGIC_VECTOR(980, 11),
103 CONV_STD_LOGIC_VECTOR(620, 11),
104 CONV_STD_LOGIC_VECTOR(270, 11),
105 CONV_STD_LOGIC_VECTOR(460, 11),
106 CONV_STD_LOGIC_VECTOR(1050, 11),
107 CONV_STD_LOGIC_VECTOR(1140, 11),
108 CONV_STD_LOGIC_VECTOR(600, 11),
109 CONV_STD_LOGIC_VECTOR(790, 11),
110 CONV_STD_LOGIC_VECTOR(930, 11),
111 CONV_STD_LOGIC_VECTOR(930, 11),
112 CONV_STD_LOGIC_VECTOR(930, 11),
113 CONV_STD_LOGIC_VECTOR(820, 11),
114 CONV_STD_LOGIC_VECTOR(820, 11),
115 CONV_STD_LOGIC_VECTOR(730, 11),
116 CONV_STD_LOGIC_VECTOR(510, 11),
117 CONV_STD_LOGIC_VECTOR(180, 11),
118 CONV_STD_LOGIC_VECTOR(370, 11),
119 CONV_STD_LOGIC_VECTOR(500, 11),
120 CONV_STD_LOGIC_VECTOR(650, 11),
121 CONV_STD_LOGIC_VECTOR(300, 11),
122 CONV_STD_LOGIC_VECTOR(1170, 11),
123 CONV_STD_LOGIC_VECTOR(890, 11),
124 CONV_STD_LOGIC_VECTOR(1280, 11),
125 CONV_STD_LOGIC_VECTOR(1220, 11),
126 CONV_STD_LOGIC_VECTOR(1340, 11),
127 CONV_STD_LOGIC_VECTOR(1350, 11),
128 CONV_STD_LOGIC_VECTOR(700, 11),
129 CONV_STD_LOGIC_VECTOR(1330, 11),
130 CONV_STD_LOGIC_VECTOR(1300, 11),
131 CONV_STD_LOGIC_VECTOR(1400, 11),
132 CONV_STD_LOGIC_VECTOR(1430, 11)
133 );
134 constant OBS_B : obs_arr_t := (
135 CONV_STD_LOGIC_VECTOR(1440, 11),
136 CONV_STD_LOGIC_VECTOR(1390, 11),
137 CONV_STD_LOGIC_VECTOR(1430, 11),
138 CONV_STD_LOGIC_VECTOR(1370, 11),
139 CONV_STD_LOGIC_VECTOR(1230, 11),
140 CONV_STD_LOGIC_VECTOR(1180, 11),
141 CONV_STD_LOGIC_VECTOR(990, 11),
142 CONV_STD_LOGIC_VECTOR(1070, 11),
143 CONV_STD_LOGIC_VECTOR(1220, 11),
144 CONV_STD_LOGIC_VECTOR(760, 11),
145 CONV_STD_LOGIC_VECTOR(490, 11),
146 CONV_STD_LOGIC_VECTOR(490, 11),
147 CONV_STD_LOGIC_VECTOR(760, 11),
148 CONV_STD_LOGIC_VECTOR(500, 11),
149 CONV_STD_LOGIC_VECTOR(770, 11),
150 CONV_STD_LOGIC_VECTOR(650, 11),
151 CONV_STD_LOGIC_VECTOR(580, 11),
152 CONV_STD_LOGIC_VECTOR(810, 11),
153 CONV_STD_LOGIC_VECTOR(640, 11),
154 CONV_STD_LOGIC_VECTOR(410, 11),
155 CONV_STD_LOGIC_VECTOR(550, 11),
156 CONV_STD_LOGIC_VECTOR(220, 11),
157 CONV_STD_LOGIC_VECTOR(180, 11),
158 CONV_STD_LOGIC_VECTOR(290, 11),
159 CONV_STD_LOGIC_VECTOR(290, 11),
160 CONV_STD_LOGIC_VECTOR(590, 11),
161 CONV_STD_LOGIC_VECTOR(790, 11),
162 CONV_STD_LOGIC_VECTOR(980, 11),
163 CONV_STD_LOGIC_VECTOR(890, 11),
164 CONV_STD_LOGIC_VECTOR(940, 11),
165 CONV_STD_LOGIC_VECTOR(380, 11),
166 CONV_STD_LOGIC_VECTOR(1380, 11),
167 CONV_STD_LOGIC_VECTOR(1250, 11),
168 CONV_STD_LOGIC_VECTOR(1140, 11)
169 );
170
171end package level;