Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

Experimento con emscripten y SDL

1178 views
1
#include "engine.h"
2
#include <stdlib.h>
3
4
void apple_render_handler(actor *a)
5
{
6
apple_actor *ap = (apple_actor *)a;
7
8
sprite_render(&ap->sprite);
9
}
10
11
apple_actor *apple_actor_init(apple_actor *ap)
12
{
13
actor_init(&ap->a, apple_render_handler, NULL);
14
sprite_init(
15
&ap->sprite,
16
TILE_DIMENSION,
17
TILE_DIMENSION,
18
&eng.sprites_decals[APPLE]);
19
int grid_coords[] = {2, 2};
20
engine_get_pixel_coord(grid_coords, ap->sprite.r);
21
return ap;
22
}
23
24
void select_random_gridpoint(int *i)
25
{
26
i[0] = rand() % eng.grid_width;
27
i[1] = rand() % eng.grid_height;
28
}
29
30
void apple_replace(apple_actor *ap)
31
{
32
int i[2];
33
bool placed_apple = false;
34
35
while (!placed_apple)
36
{
37
select_random_gridpoint(i);
38
39
if (!eng.occupied_gridpoints[i[0] + eng.grid_width * i[1]])
40
{
41
engine_get_pixel_coord(i, ap->sprite.r);
42
placed_apple = true;
43
}
44
}
45
}
46
47
48