Floor system working
This commit is contained in:
parent
42b504fc07
commit
3bc7c75e88
48
levels.lua
48
levels.lua
|
@ -3,8 +3,11 @@
|
|||
-- - placeholder tile
|
||||
-- v spike
|
||||
-- ^ elevator
|
||||
-- j jump upgrade
|
||||
--
|
||||
-- level id format : YYXX with YY and XX being the Y and X position on the map
|
||||
|
||||
levels = {[[
|
||||
levels = {[5049] = [[
|
||||
----------------------------
|
||||
-00000000000000000000000000-
|
||||
-00000000000000000000000000-
|
||||
|
@ -23,18 +26,18 @@ levels = {[[
|
|||
-00000000000000000000000000-
|
||||
----------------------------
|
||||
]],
|
||||
[[
|
||||
[5050] = [[
|
||||
----------------------------
|
||||
-00000000000000000000000000-
|
||||
-00000000000000000000000000-
|
||||
-000000000000000000000000000
|
||||
-00000000000...............-
|
||||
-0000000000................-
|
||||
-0000000000....0000000000000
|
||||
-000000^....000000000000000-
|
||||
-000000^....000000000000000-
|
||||
-00000000....000000000000000
|
||||
-00000000..................-
|
||||
-00000000..................-
|
||||
-0000000000.....000000000000
|
||||
-0000000000.....00000000000-
|
||||
-00000000..........00000000-
|
||||
000000.............00000000-
|
||||
-..........-.00000000000000-
|
||||
-.............0000000000000-
|
||||
-..........0000000000000000-
|
||||
-.......0000000000000000000-
|
||||
000000000000000000000000000-
|
||||
|
@ -42,7 +45,7 @@ levels = {[[
|
|||
-00000000000000000000000000-
|
||||
----------------------------
|
||||
]],
|
||||
[[
|
||||
[5051] = [[
|
||||
----------------------------
|
||||
-00000000000000000000000000-
|
||||
-00000000000000000000000000-
|
||||
|
@ -61,7 +64,26 @@ levels = {[[
|
|||
-00000000000000000000000000-
|
||||
----------------------------
|
||||
]],
|
||||
[[
|
||||
[4950] = [[
|
||||
----------------------------
|
||||
-00000000000000000000000000-
|
||||
-00000000000000000000000000-
|
||||
-00......................00-
|
||||
-00......................00-
|
||||
-00......................00-
|
||||
-00......................00-
|
||||
-00......................00-
|
||||
-00......................00-
|
||||
-00......................00-
|
||||
-00......................00-
|
||||
-00......................00-
|
||||
-00......................00-
|
||||
-00......................00-
|
||||
-0000000...0000000000000000-
|
||||
-0000000...0000000000000000-
|
||||
----------------------------
|
||||
]],
|
||||
[0] = [[
|
||||
----------------------------
|
||||
-00000000000000000000000000-
|
||||
-00000000000000000000000000-
|
||||
|
@ -85,9 +107,9 @@ levels = {[[
|
|||
to_write = ""
|
||||
|
||||
--remove all "\n" from level strings
|
||||
for i, v in ipairs(levels) do
|
||||
for i, v in pairs(levels) do
|
||||
v = string.gsub(v, "\n", "")
|
||||
to_write = to_write.." case "..(i-1)..":\n memcpy(level, \""..v.."\", "..#v..");\n break;\n"
|
||||
to_write = to_write.." case "..i..":\n memcpy(level, \""..v.."\", "..#v..");\n break;\n"
|
||||
end
|
||||
|
||||
--finish and write
|
||||
|
|
BIN
platform.g3a
BIN
platform.g3a
Binary file not shown.
31
src/main.c
31
src/main.c
|
@ -30,7 +30,7 @@ int main(void)
|
|||
{
|
||||
volatile int has_ticked = 1; //fps cap
|
||||
char level[477];
|
||||
int level_id = 1;
|
||||
int level_id = 5050;
|
||||
//start upgrades (mostly bools)
|
||||
char upgrades[] = {
|
||||
0 //can jump
|
||||
|
@ -47,6 +47,7 @@ int main(void)
|
|||
int start_x = 18*8 + 1;
|
||||
int start_y = 9*8 + 2;
|
||||
int old_x, old_y;
|
||||
char spawn_buffer = 0;
|
||||
set_level(level_id, level);
|
||||
draw_level(level, upgrades);
|
||||
player_x = start_x;
|
||||
|
@ -73,7 +74,15 @@ int main(void)
|
|||
player_x += hspd;
|
||||
}
|
||||
//ground detection
|
||||
if (vspd >= 0 && collide_solid(player_x, player_y + 1, level)) on_ground = 6;
|
||||
if (vspd >= 0 && collide_solid(player_x, player_y + 1, level))
|
||||
{
|
||||
on_ground = 6;
|
||||
if (spawn_buffer)
|
||||
{
|
||||
spawn_buffer = 0;
|
||||
set_start_pos(&start_x, &start_y, player_x, player_y);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (on_ground != 6 && vspd < MAX_VSPD) vspd += GRAV;
|
||||
|
@ -149,6 +158,24 @@ int main(void)
|
|||
draw_level(level, upgrades);
|
||||
reset_old_pos(&old_x, &old_y);
|
||||
}
|
||||
else if (player_y <= 4)
|
||||
{
|
||||
level_id -= 100;
|
||||
player_y = 123;
|
||||
spawn_buffer = 1;
|
||||
set_level(level_id, level);
|
||||
draw_level(level, upgrades);
|
||||
reset_old_pos(&old_x, &old_y);
|
||||
}
|
||||
else if (player_y >= 124)
|
||||
{
|
||||
level_id += 100;
|
||||
player_y = 5;
|
||||
set_start_pos(&start_x, &start_y, player_x, player_y);
|
||||
set_level(level_id, level);
|
||||
draw_level(level, upgrades);
|
||||
reset_old_pos(&old_x, &old_y);
|
||||
}
|
||||
//item get
|
||||
if (collide(player_x, player_y, level, 'j'))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue