Browse Source

* 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 21 years ago
parent
commit
9112be1b86
5 changed files with 94 additions and 1 deletions
  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 View File

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

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

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


+ 1
- 0
configure.ac View File

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


+ 27
- 0
data/bar_boss View File

@@ -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 View File

@@ -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 View File

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

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

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

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

/* Main menu */
display_menu();

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

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

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

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

ee_goto(4, yo - 2);
ee_putstr("q: quit");
@@ -285,6 +298,44 @@ static void demo_outlined_triangles(void)
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 int i = 0;


Loading…
Cancel
Save