// C Source File
// Created 1/10/2001; 04:10:31 PM#define RETURN_VALUE // Return Pushed Expression
#define OPTIMIZE_ROM_CALLS // Use ROM Call Optimization
#define SAVE_SCREEN // Save/Restore LCD Contents
#include <tigcclib.h> // Include All Header Files
#define SPRITE_HEIGHT 8
short _ti89; // Produce .89Z File
static unsigned char sprite1[] =
{0x3C,0x7E,0xFF,0xFF,0xFF,0xFF,0x7E,0x3C};void intro(void) {
clrscr();
DrawStr(1,1,"Press ESC to exit",A_NORMAL);
DrawStr(1,9,"Hold Buttons Up, Down,",A_NORMAL);
DrawStr(1,17,"Left, and Right for",A_NORMAL);
DrawStr(1,25,"movement.",A_NORMAL);
DrawStr(1,60,"Press Enter",A_NORMAL);
ngetchx();
}inline void draw(int x, int y) {
Sprite8(x, y, SPRITE_HEIGHT, sprite1, LCD_MEM, SPRT_XOR);
}inline void erase(int x, int y) {
draw(x,y);
}void moveUp(int *y) {
*y-=7;if (*y < 1) {
*y=92;
}if (*y > 92) {
*y=1;
}
}void moveDown(int *y) {
*y+=7;if (*y < 1) {
*y=92;
}if (*y > 92) {
*y=1;
}
}void moveLeft(int *x) {
*x-=7;if (*x < 1) {
*x=152;
}if (*x > 152) {
*x=1;
}
}void moveRight(int *x) {
*x+=7;if (*x < 1) {
*x=152;
}if (*x > 152) {
*x=1;
}
}// Main Function
void _main(void)
{
int x=1,y=1,key;intro();
clrscr();
draw(x,y);while ((key = ngetchx()) != KEY_ESC) {
erase(x,y);if (key == KEY_UP) {
moveUp(&y);
} else if (key == KEY_DOWN) {
moveDown(&y);
} else if (key == KEY_LEFT) {
moveLeft(&x);
} else if (key == KEY_RIGHT) {
moveRight(&x);
} else if (key == KEY_UPRIGHT) {
moveUp(&y);
moveRight(&x);
} else if (key == KEY_DOWNLEFT) {
moveDown(&y);
moveLeft(&x);
}draw(x,y);
}push_quantum(0xE9);
}/* This Project possible by:
David Ratliff: For his tutorials
Xavier Vassor: For the almighty TIGCC environment
Nick P.: I made it. */