old-c-code/robots/my_robots.h
2021-10-24 16:19:06 -07:00

105 lines
1.5 KiB
C

//#define PLAYER 0x01
#define PLAYER 'X'
#define ROBOT 'o'
#define DEAD_ROBOT '%'
#define WALL '#'
#define BOTTOM_ROW 22
#define LAST_COLUMN 79
#define ESC 0x1b //Escape Key
#define TRUE 1
#define FALSE 0
#define LIVES 3
/* globals */
typedef struct player_data PLAYER_DATA;
struct player_data
{
int current_x;
int current_y;
int NewX;
int NewY;
int level;
int restart_level;
int prev_level;
int lives;
};
struct robot_data
{
int number;
int x;
int y;
int dead;
};
struct robot_data robot_table[21] = //20 max robots for now
{
/* { number, x, y, dead } */
{ 1, 0, 0, 0 },
{ 2, 0, 0, 0 },
{ 3, 0, 0, 0 },
{ 4, 0, 0, 0 },
{ 5, 0, 0, 0 },
{ 6, 0, 0, 0 },
{ 7, 0, 0, 0 },
{ 8, 0, 0, 0 },
{ 9, 0, 0, 0 },
{ 10, 0, 0, 0 },
{ 11, 0, 0, 0 },
{ 12, 0, 0, 0 },
{ 13, 0, 0, 0 },
{ 14, 0, 0, 0 },
{ 15, 0, 0, 0 },
{ 16, 0, 0, 0 },
{ 17, 0, 0, 0 },
{ 18, 0, 0, 0 },
{ 19, 0, 0, 0 },
{ 20, 0, 0, 0 },
{ 0, 0, 0, 0} //all 0's is the end
};
/* Randomizer. */
void seedrnd(void) //Seed the randomizer
{
srand((unsigned)time(NULL));
}
int rnd(int range)
{
return(rand()%range); //spit up random num 0-range
}
long number_mm(void)
{
return random() >> 6;
}
int number_range(int from, int to)
{
int power;
int number;
if (from == 0 && to == 0)
return 0;
if ( ( to = to - from + 1 ) <= 1 )
return from;
for ( power = 2; power < to; power <<= 1)
;
while ( ( number = number_mm() & (power -1 ) ) >= to )
;
return from+number;
}
void locate(int x, int y)
{
move(y, x);
refresh();
return;
}