Jump item, erase tile system, improved transfer.sh

Made cp verbose
This commit is contained in:
KikooDX 2020-02-13 10:43:45 +01:00
parent 2caf479d42
commit 682f4fb49f
7 changed files with 69 additions and 8 deletions

BIN
assets-cg/img/jitem.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 B

View File

@ -42,6 +42,44 @@ levels = {[[
-00000000000000000000000000-
----------------------------
]],
[[
----------------------------
-00000000000000000000000000-
-00000000000000000000000000-
000......................00-
-........................00-
-........................00-
000......................00-
-00......................00-
-00.....0...0.000.000....00-
-00.....0...0..0..0.0....00-
-00.....0.0.0..0..000....00-
-00.....0.0.0..0..0......00-
-00......0.0..000.0....vv00-
-00....................vv00-
-00000000000000000000000000-
-00000000000000000000000000-
----------------------------
]],
[[
----------------------------
-00000000000000000000000000-
-00000000000000000000000000-
-00......................00-
-00......................00-
-00......................00-
-00......................00-
-00......................00-
-00......................00-
-00......................00-
-00......................00-
-00......................00-
-00......................00-
-00......................00-
-00000000000000000000000000-
-00000000000000000000000000-
----------------------------
]],
}
to_write = ""

Binary file not shown.

View File

@ -19,12 +19,13 @@ void draw_player(int old_x, int old_y, int x, int y)
}
}
void draw_level(char level[])
void draw_level(char level[], char upgrades[])
{
dclear(BG_COLOR);
extern image_t img_ground; //ground texture, 16x16
extern image_t img_spike; //spike texture, 16x16
extern image_t img_elevator; //elevator texture, 16x16
extern image_t img_jitem; //jump item texture, 16x16
unsigned int i = 0;
unsigned int x = 0;
unsigned int y = 0;
@ -41,6 +42,10 @@ void draw_level(char level[])
case '^':
dimage(x * 2 + DRAW_OFFSET_X, y * 2 + DRAW_OFFSET_Y, &img_elevator);
break;
case 'j':
if (!upgrades[0])
dimage(x*2 + DRAW_OFFSET_X, y*2 + DRAW_OFFSET_Y, &img_jitem);
else level[i] = '.';
}
x += 8;
if (x == 8*LEVEL_WIDTH)
@ -51,3 +56,15 @@ void draw_level(char level[])
i++;
}
}
void erase_tile(int x, int y, char level[])
{
x = (int)(x/8);
y = (int)(y/8);
level[x + y * 28] = '.';
x *= 16;
y *= 16;
drect(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y,
x + 15 + DRAW_OFFSET_X,
y + 15 + DRAW_OFFSET_Y, BG_COLOR);
}

View File

@ -1,2 +1,3 @@
void draw_player(int old_x, int old_y, int x, int y);
void draw_level(char level[]);
void draw_level(char level[], char upgrades[]);
void erase_tile(int x, int y, char level[]);

View File

@ -29,7 +29,7 @@ int main(void)
int level_id = 1;
//start upgrades (mostly bools)
char upgrades[] = {
1 //can jump
0 //can jump
};
//end upgrades
char jump_pressed = 0; //avoid holding jump
@ -44,7 +44,7 @@ int main(void)
int start_y = 9*8 + 2;
int old_x, old_y;
set_level(level_id, level);
draw_level(level);
draw_level(level, upgrades);
player_x = start_x;
player_y = start_y;
old_x = player_x + 1; //offset to draw it on first cycle
@ -126,7 +126,7 @@ int main(void)
player_x = 207;
set_start_pos(&start_x, &start_y, player_x, player_y);
set_level(level_id, level);
draw_level(level);
draw_level(level, upgrades);
reset_old_pos(&old_x, &old_y);
}
else if (player_x >= 208)
@ -135,8 +135,14 @@ int main(void)
player_x = 12;
set_start_pos(&start_x, &start_y, player_x, player_y);
set_level(level_id, level);
draw_level(level);
draw_level(level, upgrades);
reset_old_pos(&old_x, &old_y);
}
//item get
if (collide(player_x, player_y, level, 'j'))
{
UG_CAN_JUMP = 1;
erase_tile(player_x, player_y, level);
}
//exit
if (keydown(KEY_EXIT)) return 0;

View File

@ -1,4 +1,3 @@
#/bin/#!/usr/bin/env bash
echo cp
cp platform.g3a /media/user/disk/
cp platform.g3a /media/user/disk/ -v
echo done