2020-06-25 23:53:57 +02:00
|
|
|
#include "drawlevel.h"
|
|
|
|
#include <gint/std/string.h>
|
|
|
|
#include <gint/display.h>
|
|
|
|
|
2020-07-01 21:35:52 +02:00
|
|
|
extern bopti_image_t img_solid_0; //solid block
|
|
|
|
extern bopti_image_t img_solid_1; //another solid block
|
|
|
|
extern bopti_image_t img_dead; //dead block
|
|
|
|
extern bopti_image_t img_player; //player
|
|
|
|
extern bopti_image_t img_end; //end of level
|
2020-06-25 23:53:57 +02:00
|
|
|
|
|
|
|
void draw_player(int x, int y)
|
|
|
|
{
|
|
|
|
dimage(x,y,&img_player);
|
|
|
|
}
|
|
|
|
void draw_level(char level[])
|
|
|
|
{
|
2020-07-02 00:00:04 +02:00
|
|
|
dclear(C_BLACK);
|
2020-06-25 23:53:57 +02:00
|
|
|
unsigned int x = 0;
|
|
|
|
unsigned int y = 0;
|
|
|
|
unsigned int i = 0;
|
|
|
|
while (i!=strlen(level))
|
|
|
|
{
|
|
|
|
switch(level[i])
|
|
|
|
{
|
|
|
|
case '1':
|
|
|
|
dimage(x,y,&img_solid_0);
|
|
|
|
break;
|
|
|
|
case '2':
|
|
|
|
dimage(x,y,&img_solid_1);
|
|
|
|
break;
|
2020-07-01 21:35:52 +02:00
|
|
|
case 'd':
|
|
|
|
dimage(x,y,&img_dead);
|
|
|
|
break;
|
|
|
|
case 'e':
|
|
|
|
dimage(x,y,&img_end);
|
|
|
|
break;
|
2020-06-25 23:53:57 +02:00
|
|
|
}
|
|
|
|
x+=16;
|
2020-06-26 01:46:28 +02:00
|
|
|
if(x==16*25)
|
2020-06-25 23:53:57 +02:00
|
|
|
{
|
|
|
|
x=0;
|
|
|
|
y+=16;
|
|
|
|
}
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
}
|