Explorar el Código

* test/demo.c:

+ Wrote a little sprite demo.
  * data/:
    + Added bar_fighter (from ttyvaders) and bar_boss (from shapes.txt).


git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/ttyvaders/trunk@118 92316355-f0b4-4df1-b90c-862c8a59935f
master
sam hace 22 años
padre
commit
9112be1b86
Se han modificado 5 ficheros con 94 adiciones y 1 borrados
  1. +1
    -1
      Makefile.am
  2. +1
    -0
      configure.ac
  3. +27
    -0
      data/bar_boss
  4. +14
    -0
      data/bar_fighter
  5. +51
    -0
      test/demo.c

+ 1
- 1
Makefile.am Ver fichero

@@ -3,7 +3,7 @@
############################################################################### ###############################################################################


SUBDIRS = libee test src SUBDIRS = libee test src
DIST_SUBDIRS = $(SUBDIRS) autotools debian
DIST_SUBDIRS = $(SUBDIRS) autotools data debian


EXTRA_DIST = doc/shapes.txt bootstrap EXTRA_DIST = doc/shapes.txt bootstrap
AUTOMAKE_OPTIONS = foreign dist-bzip2 AUTOMAKE_OPTIONS = foreign dist-bzip2


+ 1
- 0
configure.ac Ver fichero

@@ -42,6 +42,7 @@ AC_OUTPUT([
test/Makefile test/Makefile
src/Makefile src/Makefile
autotools/Makefile autotools/Makefile
data/Makefile
debian/Makefile debian/Makefile
]) ])



+ 27
- 0
data/bar_boss Ver fichero

@@ -0,0 +1,27 @@
36 13 18 6
_,--._
,' `.
|\ / ,-. ,-. \ /|
)o),/ ( ( o )( o ) ) \.(o(
/o/// /| `-' `-' |\ \\\o\
/ / |\ \( . , )/ /| \ \
| | \o`-/ `\/' \-'o/ | |
\ \ `,' `.' / /
\. \ `-' ,'| /\ |`. `-' / ,/
\`. `.__,' / / \ \ `.__,' ,'/
\o\ ,' ,' `. `. /o/
\o`---' ,' `. `---'o/
`.____,' `.____,'
kkkkkk
kkkkkkkkkk
kk kkhhhkkhhhkk kk
khkkk kkhhehhhhehhkk kkkhk
khkkk kkkkhhhkkhhhkkkk kkkhk
kkk kk kkkkkhkkkkhkkkkk kk kkk
kkk khkkkkkkkhhhhkkkkkkkhk kkk
kkk kkkkkkkkkkkkkkkkkkkk kkk
kk kkkkkkkkkkkkkkkkkkkkk kkkkk kk
kkk kkkkkk kkkkk kkkkk kkkkkk kkk
khk kkkkkk kkkkkk khk
khkkkkkkkkk kkkkkkkkkhk
kkkkkkkk kkkkkkkk

+ 14
- 0
data/bar_fighter Ver fichero

@@ -0,0 +1,14 @@
5 3 2 1
,---.
\O o/
^^^^^
kkkkk
keeek
kkkkk
5 3 2 1
,---.
\o O/
^^^^^
kkkkk
keeek
kkkkk

+ 51
- 0
test/demo.c Ver fichero

@@ -35,8 +35,10 @@ static void demo_thin_lines(void);
static void demo_circles(void); static void demo_circles(void);
static void demo_triangles(void); static void demo_triangles(void);
static void demo_outlined_triangles(void); static void demo_outlined_triangles(void);
static void demo_sprites(void);


int clipping = 0; int clipping = 0;
struct ee_sprite *sprite = NULL;


int main(int argc, char **argv) int main(int argc, char **argv)
{ {
@@ -48,6 +50,10 @@ int main(int argc, char **argv)
return 1; return 1;
} }


/* Initialize data */
sprite = ee_load_sprite("data/bar_boss");

/* Main menu */
display_menu(); display_menu();


/* Go ! */ /* Go ! */
@@ -91,6 +97,10 @@ int main(int argc, char **argv)
ee_clear(); ee_clear();
demo = demo_outlined_triangles; demo = demo_outlined_triangles;
break; break;
case '7':
ee_clear();
demo = demo_sprites;
break;
} }
} }


@@ -99,6 +109,7 @@ int main(int argc, char **argv)
} }


/* Clean up */ /* Clean up */
ee_free_sprite(sprite);
ee_end(); ee_end();


return 0; return 0;
@@ -133,6 +144,8 @@ static void display_menu(void)
ee_putstr("5: triangles demo"); ee_putstr("5: triangles demo");
ee_goto(4, 11); ee_goto(4, 11);
ee_putstr("6: outlined triangles demo"); ee_putstr("6: outlined triangles demo");
ee_goto(4, 12);
ee_putstr("7: sprites demo");


ee_goto(4, yo - 2); ee_goto(4, yo - 2);
ee_putstr("q: quit"); ee_putstr("q: quit");
@@ -285,6 +298,44 @@ static void demo_outlined_triangles(void)
ee_refresh(); ee_refresh();
} }


static void demo_sprites(void)
{
static int i = 0;

int x1, y1, x2, y2, x3, y3;

i++;

x1 = 2;
y1 = 2;

x2 = ee_get_width() - 3;
y2 = ee_get_height() / 2;

x3 = ee_get_width() / 3;
y3 = ee_get_height() - 3;

ee_clear();

/* Draw a sprite behind the triangle */
ee_draw_sprite(ee_get_width() / 2 + cos(0.027*i) * 30,
ee_get_height() / 2 - sin(0.027*i) * 20, sprite);

/* Draw a background triangle */
ee_color(EE_BLUE);
ee_fill_triangle(x1, y1, x2, y2, x3, y3, '.');
ee_color(EE_CYAN);
ee_draw_thin_line(x1, y1, x3, y3);
ee_draw_thin_line(x2, y2, x1, y1);
ee_draw_thin_line(x3, y3, x2, y2);

/* Draw foreground sprite */
ee_draw_sprite(ee_get_width() / 2 + cos(0.02*i) * 20,
ee_get_height() / 2 + sin(0.02*i) * 10, sprite);

ee_refresh();
}

static void demo_pyramid(void) static void demo_pyramid(void)
{ {
static int i = 0; static int i = 0;


Cargando…
Cancelar
Guardar