From b05fb77064eeb1da0cd93a846ec2b5cccd831371 Mon Sep 17 00:00:00 2001 From: Kevin MacMartin Date: Thu, 29 May 2014 12:50:57 -0400 Subject: [PATCH] Initial commit with working builds for linux and windows (via mingw32) --- DroidSans-Bold.ttf | Bin 0 -> 194488 bytes Makefile | 35 +++ isnake.c | 745 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 780 insertions(+) create mode 100644 DroidSans-Bold.ttf create mode 100755 Makefile create mode 100644 isnake.c diff --git a/DroidSans-Bold.ttf b/DroidSans-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d065b64eb1863f83c2c982264f9442f2313a44a9 GIT binary patch literal 194488 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 +#include +#include + +#include +#include + +/*TITLE OF THE WINDOW*/ +#define GAMENAME "Intelligent Snake" + +/*FONT AND FONTSIZE*/ +#define DEFAULT_FONT_FILE "DroidSans-Bold.ttf" +#define DEFAULT_FONT_SIZE 22 + +/*HEIGHT AND WIDTH OF EACH TILE*/ +#define TILEWIDTH 20 +#define TILEHEIGHT 20 + +/*MIN+MAX+DEFAULT TILE ROWS AND COLUMNS*/ +#define MIN_TILESWIDE 30 +#define MIN_TILESHIGH 20 +#define MAX_TILESWIDE 80 +#define MAX_TILESHIGH 50 +#define DEFAULT_TILESWIDE 50 +#define DEFAULT_TILESHIGH 30 + +/*MIN+MAX+DEFAULT SNAKESPEED*/ +#define MIN_SNAKESPEED 1 +#define MAX_SNAKESPEED 9 +#define DEFAULT_SNAKESPEED 1 + +/*SNAKE LENGTH (+1 FOR BUFFER)*/ +#define MIN_SNAKELENGTH 4 +#define MAX_SNAKELENGTH 36 +#define DEFAULT_SNAKELENGTH 4 + +/*NUMBER OF NPCs (# OF BLOCKS + 1 FOR FOOD)*/ +#define MIN_NPCCOUNT 1 +#define MAX_NPCCOUNT 41 +#define DEFAULT_NPCCOUNT 21 + +/*AMOUNT OF FOOD EATEN BEFORE SNAKESPEED INCREASES*/ +#define ACCEL_FREQ 3 + +/*WHETHER TO DISPLAY COMMANDLINE OUTPUT DURING GAMEPLAY*/ +#define CONSOLE_OUTPUT true + +/*CONSTANT VALUES*/ +const int colourFood[3] = {255, 0, 0}; //Red +const int colourHead[3] = {55, 255, 55}; //Green +const int colourTail[3] = {55, 55, 255}; //Blue +const int colourBody[3] = {110, 55, 255}; //Purple +const int colourBlock[3] = {125, 55, 55}; //Brown +const int colourTiles[3] = {0, 45, 20}; //Dark Green +const int colourBackground[3] = {25, 25, 25}; //Black +const int colourTextGameOver[3] = {230, 230, 230}; //White +const int colourTextLabel[3] = {255, 0, 0}; //Red +const int colourTextData[3] = {55, 55, 255}; //Blue + +/*ENUMERATIONS FOR MORE READABLE CODE*/ +enum direction {Up, Down, Left, Right}; //Movement directions +enum gameParams {QuitGame, TilesHigh, TilesWide, NPCCount, SnakeSpeed, SnakeLength, SnakeDirection, SnakeScore}; + +/*GAME FUNCTIONS*/ +void gameLoop(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8], SDL_Event* event); +int moveSnake(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8], enum direction newDirection); +bool collisionDetect(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8], enum direction newDirection); +void collisionDetectFood(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8]); +bool gameEventPoll(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8], SDL_Event* event); +bool scrollSnake(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8]); +void updateSnake(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8]); +void loadNPCs(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8]); +void randomLocation(int** ppSprites, int (*gameParameters)[8], int* location[2]); +void drawText(SDL_Surface* screen, char* string, int size, int x, int y, SDL_Colour colour); +void updateRect(SDL_Surface* screen, SDL_Rect** ppTiles, int position[2], const int colour[3]); + +/*COMMANDLINE FUNCTIONS*/ +void configureGame(int argc, char** args, int (*gameParameters)[8]); +void printHelpMenu(char filename[]); +void printErrorHelp(char filename[]); + +/*MAIN LOOP*/ +int main(int argc, char* args[]) +{ + int x, y, gameParameters[8]; + int** ppSprites = NULL; + int* pSprites = NULL; + SDL_Surface* screen = NULL; + SDL_Rect** ppTiles = NULL; + SDL_Rect* pTiles = NULL; + SDL_Event event; + + //START RANDOM SEED TO HELP MAKE RANDOM NUMBERS MORE RANDOM + srand(time(NULL)); + + //CONFIGURE GAME SETTINGS USING DEFAULTS AND USER INPUT + configureGame(argc, args, &gameParameters); + + //INITIALIZE SDL + if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) != 0) + { + fprintf(stderr, "\nUnable to initialize SDL: %s\n", SDL_GetError()); + exit(EXIT_FAILURE); + } + atexit(SDL_Quit); + + //INITIALIZE SDL_ttf + if (TTF_Init() != 0) + { + fprintf(stderr, "\nUnable to initialize SDL: %s\n", SDL_GetError()); + exit(EXIT_FAILURE); + } + atexit(TTF_Quit); + + //INITIALIZE THE MAIN SURFACE + if ((screen = SDL_SetVideoMode((TILEWIDTH * gameParameters[TilesWide]), (TILEHEIGHT * gameParameters[TilesHigh]) + 35, 32, SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_ANYFORMAT)) == NULL) + { + fprintf(stderr, "\nUnable to initialize SDL: %s\n", SDL_GetError()); + exit(EXIT_FAILURE); + } + + //SET THE INPUT QUEUE TO IGNORE INPUT VIA MOUSE MOVEMENT + SDL_EventState(SDL_MOUSEMOTION, SDL_IGNORE); + + //SET WINDOW TITLE + SDL_WM_SetCaption(GAMENAME, NULL); + + //SET BACKGROUND COLOUR + SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, colourBackground[0], colourBackground[1], colourBackground[2])); + + while (gameParameters[QuitGame] == 0) + { + //INIT TILES ARRAY + pTiles = malloc(gameParameters[TilesWide] * sizeof(SDL_Rect)); + ppTiles = malloc(gameParameters[TilesHigh] * sizeof(SDL_Rect*)); + for (x = 0; x < gameParameters[TilesHigh]; x++) + ppTiles[x] = malloc(gameParameters[TilesWide] * sizeof(SDL_Rect)); + for (x = 0; x < gameParameters[TilesHigh]; x++) + for (y = 0; y < gameParameters[TilesWide]; y++) + { + ppTiles[x][y].w = TILEWIDTH - (TILEWIDTH / 10); + ppTiles[x][y].h = TILEHEIGHT - (TILEHEIGHT / 10); + ppTiles[x][y].x = ((ppTiles[x][y].w + (TILEWIDTH / 10)) * y); + ppTiles[x][y].y = ((ppTiles[x][y].h + (TILEHEIGHT / 10)) * x); + SDL_FillRect(screen, &ppTiles[x][y], SDL_MapRGB(screen->format, colourTiles[0], colourTiles[1], colourTiles[2])); + } + + //INIT SPRITES ARRAY + pSprites = malloc(2 * sizeof(int)); + ppSprites = malloc((gameParameters[NPCCount] + MAX_SNAKELENGTH) * sizeof(int*)); //The array is defined by the snake's maximum size so it can grow during gameplay + for (x = 0; x < gameParameters[NPCCount] + MAX_SNAKELENGTH; x++) + { + ppSprites[x] = malloc(2 * sizeof(int)); + ppSprites[x][0] = 0; + ppSprites[x][1] = 0; + } + + //SET SNAKE START POSITION + for (x = gameParameters[NPCCount]; x < gameParameters[NPCCount] + gameParameters[SnakeLength]; x++) + { + ppSprites[x][0] = 3; + ppSprites[x][1] = (3 + gameParameters[NPCCount] + gameParameters[SnakeLength] - DEFAULT_SNAKELENGTH + 2 - x); + } + + //SET NPC LOCATIONS + for (x = 0; x < gameParameters[NPCCount]; x++) + randomLocation(ppSprites, &gameParameters, &(ppSprites)[x]); + + //GAME LOOP + gameLoop(screen, ppTiles, ppSprites, &gameParameters, &event); + + //FREE MEMORY AND RESET POINTERS + free(ppTiles); + free(ppSprites); + ppSprites = NULL; + pSprites = NULL; + + //RESET GAME SETTINGS USING DEFAULTS AND USER INPUT + if (gameParameters[QuitGame] == 0) configureGame(argc, args, &gameParameters); + } + + //FREEING THE SCREEN SURFACE BEFORE EXITING + SDL_FreeSurface(screen); + + //EXIT THE PROGRAM + exit(EXIT_SUCCESS); +} + +/*GAME LOOP*/ +void gameLoop(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8], SDL_Event* event) +{ + SDL_Colour SDL_ColourBackground = {colourBackground[0], colourBackground[1], colourBackground[2]}; + SDL_Colour SDL_ColourTextLabel = {colourTextLabel[0], colourTextLabel[1], colourTextLabel[2]}; + SDL_Colour SDL_ColourTextData = {colourTextData[0], colourTextData[1], colourTextData[2]}; + SDL_Colour SDL_ColourTextGameOver = {colourTextGameOver[0], colourTextGameOver[1], colourTextGameOver[2]}; + int scoreLabelPosition[2] = {15, (TILEHEIGHT * (*gameParameters)[TilesHigh]) + 4}; + int scoreDataPosition[2] = {95, (TILEHEIGHT * (*gameParameters)[TilesHigh]) + 4}; + int speedLabelPosition[2] = {(TILEWIDTH * (*gameParameters)[TilesWide]) - 100, (TILEHEIGHT * (*gameParameters)[TilesHigh]) + 4}; + int speedDataPosition[2] = {(TILEWIDTH * (*gameParameters)[TilesWide]) - 25, (TILEHEIGHT * (*gameParameters)[TilesHigh]) + 4}; + int gameOverMsgPosition[5] = {(TILEWIDTH * ((*gameParameters)[TilesWide] / 2)) - 147, (TILEWIDTH * ((*gameParameters)[TilesWide] / 2)) - 50, (TILEWIDTH * ((*gameParameters)[TilesWide] / 2)) + 61, (TILEWIDTH * ((*gameParameters)[TilesWide] / 2)) + 82, (TILEHEIGHT * (*gameParameters)[TilesHigh]) + 9}; + char* gameOverMsg[4] = {"GAME OVER", "SPACE to RESTART", " or ", "ESC to QUIT"}; + char tempString[2][3] = {"-1", "-1"}; + + //LOAD BLOCKS AND FOOD + loadNPCs(screen, ppTiles, ppSprites, gameParameters); + + //DRAW LABELS FOR SCORE AND SPEED RESPECTIVELY + drawText(screen, "SCORE", DEFAULT_FONT_SIZE, scoreLabelPosition[0], scoreLabelPosition[1], SDL_ColourTextLabel); + drawText(screen, "SPEED", DEFAULT_FONT_SIZE, speedLabelPosition[0], speedLabelPosition[1], SDL_ColourTextLabel); + + //LOOP UNTIL GAME IS FINISHED + while (1) + { + //UPDATE THE SNAKE'S SCORE WHEN IT CHANGES + if (atoi(tempString[0]) != (*gameParameters)[SnakeScore]) + { + if (atoi(tempString[0]) != -1) + drawText(screen, tempString[0], DEFAULT_FONT_SIZE, scoreDataPosition[0], scoreDataPosition[1], SDL_ColourBackground); + sprintf(tempString[0], "%d", (*gameParameters)[SnakeScore]); + drawText(screen, tempString[0], DEFAULT_FONT_SIZE, scoreDataPosition[0], scoreDataPosition[1], SDL_ColourTextData); + } + //UPDATE THE SNAKE'S SPEED WHEN IT CHANGES + if (atoi(tempString[1]) != (*gameParameters)[SnakeSpeed]) + { + if (atoi(tempString[1]) != -1) + drawText(screen, tempString[1], DEFAULT_FONT_SIZE, speedDataPosition[0], speedDataPosition[1], SDL_ColourBackground); + sprintf(tempString[1], "%d", (*gameParameters)[SnakeSpeed]); + drawText(screen, tempString[1], DEFAULT_FONT_SIZE, speedDataPosition[0], speedDataPosition[1], SDL_ColourTextData); + } + + if (gameEventPoll(screen, ppTiles, ppSprites, gameParameters, event) == false) break; + updateSnake(screen, ppTiles, ppSprites, gameParameters); + SDL_Flip(screen); + + SDL_Delay(250 / ((*gameParameters)[SnakeSpeed] + 3)); + + if (scrollSnake(screen, ppTiles, ppSprites, gameParameters) == false) break; + updateSnake(screen, ppTiles, ppSprites, gameParameters); + SDL_Flip(screen); + + SDL_Delay(250 / ((*gameParameters)[SnakeSpeed] + 3)); + + if (gameEventPoll(screen, ppTiles, ppSprites, gameParameters, event) == false) break; + updateSnake(screen, ppTiles, ppSprites, gameParameters); + SDL_Flip(screen); + } + + //DISPLAY GAME OVER MESSAGE AND WAIT FOR INPUT + if ((*gameParameters)[QuitGame] == 0) + { + //DISPLAY GAMEOVER MESSAGES + drawText(screen, gameOverMsg[0], DEFAULT_FONT_SIZE - 7, gameOverMsgPosition[0], gameOverMsgPosition[4], SDL_ColourTextGameOver); + drawText(screen, gameOverMsg[1], DEFAULT_FONT_SIZE - 9, gameOverMsgPosition[1], gameOverMsgPosition[4], SDL_ColourTextData); + drawText(screen, gameOverMsg[2], DEFAULT_FONT_SIZE - 9, gameOverMsgPosition[2], gameOverMsgPosition[4], SDL_ColourTextGameOver); + drawText(screen, gameOverMsg[3], DEFAULT_FONT_SIZE - 9, gameOverMsgPosition[3], gameOverMsgPosition[4], SDL_ColourTextData); + SDL_Flip(screen); + + //WAIT A MOMENT TO ENSURE INPUT FROM THE GAME ISN'T CAUGHT + SDL_Delay(250 / ((*gameParameters)[SnakeSpeed] + 3)); + + //CAPTURE SDL_QUIT TO EXIT, ESCAPE TO EXIT, OR SPACEBAR TO RESTART + while (1) + { + if (SDL_PollEvent(event)) + { + if ((*event).type == SDL_QUIT) + { + (*gameParameters)[QuitGame] = 1; + break; + } + else if ((*event).type == SDL_KEYDOWN) + { + if (((*event).key.keysym.sym == SDLK_ESCAPE) || ((*event).key.keysym.sym == SDLK_q)) + { + (*gameParameters)[QuitGame] = 1; + break; + } + else if (((*event).key.keysym.sym == SDLK_SPACE) || ((*event).key.keysym.sym == SDLK_RETURN)) break; + } + } + } + drawText(screen, gameOverMsg[0], DEFAULT_FONT_SIZE - 7, gameOverMsgPosition[0], gameOverMsgPosition[4], SDL_ColourBackground); + drawText(screen, gameOverMsg[1], DEFAULT_FONT_SIZE - 9, gameOverMsgPosition[1], gameOverMsgPosition[4], SDL_ColourBackground); + drawText(screen, gameOverMsg[2], DEFAULT_FONT_SIZE - 9, gameOverMsgPosition[2], gameOverMsgPosition[4], SDL_ColourBackground); + drawText(screen, gameOverMsg[3], DEFAULT_FONT_SIZE - 9, gameOverMsgPosition[3], gameOverMsgPosition[4], SDL_ColourBackground); + SDL_Flip(screen); + } + + drawText(screen, "SCORE", DEFAULT_FONT_SIZE, scoreLabelPosition[0], scoreLabelPosition[1], SDL_ColourBackground); + drawText(screen, "SPEED", DEFAULT_FONT_SIZE, speedLabelPosition[0], speedLabelPosition[1], SDL_ColourBackground); + if (atoi(tempString[0]) != -1) + drawText(screen, tempString[0], DEFAULT_FONT_SIZE, scoreDataPosition[0], scoreDataPosition[1], SDL_ColourBackground); + if (atoi(tempString[1]) != -1) + drawText(screen, tempString[1], DEFAULT_FONT_SIZE, speedDataPosition[0], speedDataPosition[1], SDL_ColourBackground); +} + +/*MOVES THE SNAKE IN THE DESIRED DIRECTION*/ +int moveSnake(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8], enum direction newDirection) +{ + int x; + + //MOVEMENT + for (x = (*gameParameters)[NPCCount] + (*gameParameters)[SnakeLength] - 1; x >= (*gameParameters)[NPCCount]; x--) + { + if (x == (*gameParameters)[NPCCount]) + { + //MOVE THE HEAD OF THE SNAKE TO THE NEW DIRECTION + switch (newDirection) + { + case Up: + ppSprites[x][0] = ppSprites[x][0] - 1; + (*gameParameters)[SnakeDirection] = 0; + break; + case Down: + ppSprites[x][0] = ppSprites[x][0] + 1; + (*gameParameters)[SnakeDirection] = 1; + break; + case Left: + ppSprites[x][1] = ppSprites[x][1] - 1; + (*gameParameters)[SnakeDirection] = 2; + break; + case Right: + ppSprites[x][1] = ppSprites[x][1] + 1; + (*gameParameters)[SnakeDirection] = 3; + break; + } + } + else + { + //MOVE THE BODY/TAIL OF THE SNAKE TO THE PIECE AHEAD OF IT + ppSprites[x][0] = ppSprites[x - 1][0]; + ppSprites[x][1] = ppSprites[x - 1][1]; + } + } +} + +/*DETECT+HANDLE WHEN THE SNAKE COLLIDES WITH WALLS, BLOCKS, ITSELF OR FOOD*/ +bool collisionDetect(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8], enum direction newDirection) +{ + int x; + + switch (newDirection) + { + case Up: + for (x = 0; x < (*gameParameters)[NPCCount] + (*gameParameters)[SnakeLength] - 2; ++x) + { + if (((ppSprites[(*gameParameters)[NPCCount]][0] - 1) == ppSprites[x][0]) && (ppSprites[(*gameParameters)[NPCCount]][1] == ppSprites[x][1])) + { + if (x == 0) collisionDetectFood(screen, ppTiles, ppSprites, gameParameters); + else return false; + } + } + if ((ppSprites[(*gameParameters)[NPCCount]][0] - 1) < 0) return false; + moveSnake(screen, ppTiles, ppSprites, gameParameters, Up); + break; + case Down: + for (x = 0; x < (*gameParameters)[NPCCount] + (*gameParameters)[SnakeLength] - 2; ++x) + { + if (((ppSprites[(*gameParameters)[NPCCount]][0] + 1) == ppSprites[x][0]) && (ppSprites[(*gameParameters)[NPCCount]][1] == ppSprites[x][1])) + { + if (x == 0) collisionDetectFood(screen, ppTiles, ppSprites, gameParameters); + else return false; + } + } + if ((ppSprites[(*gameParameters)[NPCCount]][0] + 1) >= (*gameParameters)[TilesHigh]) return false; + moveSnake(screen, ppTiles, ppSprites, gameParameters, Down); + break; + case Left: + for (x = 0; x < (*gameParameters)[NPCCount] + (*gameParameters)[SnakeLength] - 2; ++x) + { + if (((ppSprites[(*gameParameters)[NPCCount]][1] - 1) == ppSprites[x][1]) && (ppSprites[(*gameParameters)[NPCCount]][0] == ppSprites[x][0])) + { + if (x == 0) collisionDetectFood(screen, ppTiles, ppSprites, gameParameters); + else return false; + } + } + if ((ppSprites[(*gameParameters)[NPCCount]][1] - 1) < 0) return false;; + moveSnake(screen, ppTiles, ppSprites, gameParameters, Left); + break; + case Right: + for (x = 0; x < (*gameParameters)[NPCCount] + (*gameParameters)[SnakeLength] - 2; ++x) + { + if (((ppSprites[(*gameParameters)[NPCCount]][1] + 1) == ppSprites[x][1]) && (ppSprites[(*gameParameters)[NPCCount]][0] == ppSprites[x][0])) + { + if (x == 0) collisionDetectFood(screen, ppTiles, ppSprites, gameParameters); + else return false; + } + } + if ((ppSprites[(*gameParameters)[NPCCount]][1] + 1) >= (*gameParameters)[TilesWide]) return false;; + moveSnake(screen, ppTiles, ppSprites, gameParameters, Right); + break; + } + return true; +} + +/*HANDLES COLLISION WITH FOOD*/ +void collisionDetectFood(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8]) +{ + //INCREASE THE SNAKE'S SIZE IF IT'S NOT ALREADY THE MAXIMUM + if ((*gameParameters)[SnakeLength] < MAX_SNAKELENGTH) (*gameParameters)[SnakeLength]++; + + //INCREASE THE SNAKE'S SPEED WHEN THE SCORE IS DIVISIBLE BY ACCEL_FREQ + if ((((*gameParameters)[SnakeScore] % ACCEL_FREQ) == 0) && ((*gameParameters)[SnakeScore] != 0) && ((*gameParameters)[SnakeSpeed] < MAX_SNAKESPEED)) (*gameParameters)[SnakeSpeed]++; + + //INCREASE THE SNAKE'S SCORE + (*gameParameters)[SnakeScore]++; + + //SET FOOD PIECE IN NEW LOCATION + randomLocation(ppSprites, gameParameters, &(ppSprites)[0]); + updateRect(screen, ppTiles, ppSprites[0], colourFood); + + SDL_Flip(screen); +} + +/*CAPTURES INPUT AND GENERATES APPROPRIATE RESPONSE*/ +bool gameEventPoll(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8], SDL_Event* event) +{ + bool playerAlive = true; + + if (SDL_PollEvent(event)) + { + switch ((*event).type) + { + case SDL_QUIT: + playerAlive = false; + (*gameParameters)[QuitGame] = 1; + break; + case SDL_KEYDOWN: + //WHEN KEY IS PRESSED, CHECK WHICH AND RESPOND ACCORDINGLY + switch ((*event).key.keysym.sym) + { + case SDLK_UP: + case SDLK_w: + case SDLK_k: + if (((*gameParameters)[SnakeDirection] != Up) && ((*gameParameters)[SnakeDirection] != Down)) + playerAlive = (collisionDetect(screen, ppTiles, ppSprites, gameParameters, Up)); + break; + case SDLK_DOWN: + case SDLK_s: + case SDLK_j: + if (((*gameParameters)[SnakeDirection] != Down) && ((*gameParameters)[SnakeDirection] != Up)) + playerAlive = (collisionDetect(screen, ppTiles, ppSprites, gameParameters, Down)); + break; + case SDLK_LEFT: + case SDLK_a: + case SDLK_h: + if (((*gameParameters)[SnakeDirection] != Left) && ((*gameParameters)[SnakeDirection] != Right) && ((*gameParameters)[SnakeDirection] != -1)) + playerAlive = (collisionDetect(screen, ppTiles, ppSprites, gameParameters, Left)); + break; + case SDLK_RIGHT: + case SDLK_d: + case SDLK_l: + if (((*gameParameters)[SnakeDirection] != Right) && ((*gameParameters)[SnakeDirection] != Left)) + playerAlive = (collisionDetect(screen, ppTiles, ppSprites, gameParameters, Right)); + break; + case SDLK_ESCAPE: + case SDLK_q: + playerAlive = false; + (*gameParameters)[QuitGame] = 1; + break; + } + break; + } + } + return playerAlive; +} + +/*MOVES SNAKE AUTOMATICALLY IN WHICHEVER DIRECTION IT WENT LAST*/ +bool scrollSnake(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8]) +{ + bool playerAlive = true; + + switch ((*gameParameters)[SnakeDirection]) + { + case Up: + playerAlive = (collisionDetect(screen, ppTiles, ppSprites, gameParameters, Up)); + break; + case Down: + playerAlive = (collisionDetect(screen, ppTiles, ppSprites, gameParameters, Down)); + break; + case Left: + playerAlive = (collisionDetect(screen, ppTiles, ppSprites, gameParameters, Left)); + break; + case Right: + playerAlive = (collisionDetect(screen, ppTiles, ppSprites, gameParameters, Right)); + break; + default: + break; + } + return playerAlive; +} + +/*REDRAW THE SNAKE BASED ON CURRENT VALUES*/ +void updateSnake(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8]) +{ + int x; + + for (x = (*gameParameters)[NPCCount]; x < (*gameParameters)[NPCCount] + (*gameParameters)[SnakeLength]; x++) + { + if (x == (*gameParameters)[NPCCount]) updateRect(screen, ppTiles, ppSprites[x], colourHead); + else if (x == ((*gameParameters)[NPCCount] + (*gameParameters)[SnakeLength] - 1)) updateRect(screen, ppTiles, ppSprites[x], colourTiles); + else if (x == ((*gameParameters)[NPCCount] + (*gameParameters)[SnakeLength] - 2)) updateRect(screen, ppTiles, ppSprites[x], colourTail); + else updateRect(screen, ppTiles, ppSprites[x], colourBody); + } +} + +/*DRAW NPCs BASED ON ON CURRENT VALUES*/ +void loadNPCs(SDL_Surface* screen, SDL_Rect** ppTiles, int** ppSprites, int (*gameParameters)[8]) +{ + int x, startNPCs = 0; + + for (x = startNPCs; x < (*gameParameters)[NPCCount]; x++) + { + if (x == startNPCs) updateRect(screen, ppTiles, ppSprites[x], colourFood); + else updateRect(screen, ppTiles, ppSprites[x], colourBlock); + } +} + +/*A HELPER FUNCTION TO RANDOMLY PLACE NPCs WITH SOME INTELLIGENCE*/ +void randomLocation(int** ppSprites, int (*gameParameters)[8], int* location[2]) +{ + int x, randLocation[2]; + bool isAcceptable = false; + + while (!isAcceptable) + { + isAcceptable = true; + randLocation[0] = (rand() % ((*gameParameters)[TilesHigh] - 2)) + 1; + randLocation[1] = (rand() % ((*gameParameters)[TilesWide] - 2)) + 1; + + //DON'T LOAD NPCs ONTO SNAKE OR OTHER NPCs + for (x = 0; x < (*gameParameters)[NPCCount] + (*gameParameters)[SnakeLength]; ++x) + if (((ppSprites[x][0]) == randLocation[0]) && ((ppSprites[x][1]) == randLocation[1])) isAcceptable = false; + + //DON'T LOAD NPCs DIRECTLY NEXT TO THE SNAKE'S HEAD + if (((((ppSprites[(*gameParameters)[NPCCount]][0]) - 1) == randLocation[0]) && (((ppSprites[(*gameParameters)[NPCCount]][1])) == randLocation[1])) || //ABOVE THE SNAKE'S HEAD + ((((ppSprites[(*gameParameters)[NPCCount]][0]) + 1) == randLocation[0]) && (((ppSprites[(*gameParameters)[NPCCount]][1])) == randLocation[1])) || //BELOW THE SNAKE'S HEAD + ((((ppSprites[(*gameParameters)[NPCCount]][0])) == randLocation[0]) && (((ppSprites[(*gameParameters)[NPCCount]][1]) - 1) == randLocation[1])) || //LEFT OF THE SNAKE'S HEAD + ((((ppSprites[(*gameParameters)[NPCCount]][0])) == randLocation[0]) && (((ppSprites[(*gameParameters)[NPCCount]][1]) + 1) == randLocation[1]))) //RIGHT OF THE SNAKE'S HEAD + isAcceptable = false; + } + + //SET THE GIVEN NPC'S LOCATION TO THE GENERATED COORDINATES + (*location)[0] = randLocation[0]; + (*location)[1] = randLocation[1]; +} + +//DRAW TEXT WHEN REQUIRED +void drawText(SDL_Surface* screen, char* string, int size, int x, int y, SDL_Colour colour) +{ + SDL_Colour SDL_ColourBackground = {colourBackground[0], colourBackground[1], colourBackground[2]}; + SDL_Rect coordinates = {x, y}; + SDL_Surface *newString = NULL; + TTF_Font *font; + + //LOAD THE FONT + font = TTF_OpenFont(DEFAULT_FONT_FILE, size); + if (!font) fprintf(stderr, "Error loading %s", DEFAULT_FONT_FILE); + + newString = TTF_RenderText_Shaded(font, string, colour, SDL_ColourBackground); + SDL_BlitSurface(newString, NULL, screen, &coordinates); + + TTF_CloseFont(font); + SDL_FreeSurface(newString); +} + +/*LOW LEVEL FUNCTION TO BE RUN BY HIGHER LEVEL ONES FOR UPDATING TILES*/ +void updateRect(SDL_Surface* screen, SDL_Rect** ppTiles, int position[2], const int colour[3]) +{ + SDL_FillRect(screen, &ppTiles[position[0]][position[1]], SDL_MapRGB(screen->format, colour[0], colour[1], colour[2])); +} + +/*PARSES COMMANDLINE OPTIONS AND GENERATES APPROPRIATE RESPONSE*/ +void configureGame(int argc, char** args, int (*gameParameters)[8]) +{ + int parsecount = 1; + + //SET DEFAULT GAME PARAMETERS + (*gameParameters)[QuitGame] = 0; + (*gameParameters)[TilesWide] = DEFAULT_TILESWIDE; + (*gameParameters)[TilesHigh] = DEFAULT_TILESHIGH; + (*gameParameters)[NPCCount] = DEFAULT_NPCCOUNT; + (*gameParameters)[SnakeSpeed] = DEFAULT_SNAKESPEED; + (*gameParameters)[SnakeLength] = DEFAULT_SNAKELENGTH; + (*gameParameters)[SnakeDirection] = -1; + (*gameParameters)[SnakeScore] = 0; + + //PARSE COMMANDLINE FOR SETTINGS + while (parsecount < argc) + { + //HELP MENU + if (strcmp(args[parsecount], "-h") == 0) + { + printHelpMenu(args[0]); + exit(EXIT_SUCCESS); + } + //RESOLUTION + else if (strcmp(args[parsecount], "-g") == 0) + { + if ((parsecount + 2) < argc) + { + if (((atoi(args[parsecount + 1]) >= MIN_TILESWIDE) && (atoi(args[parsecount + 1]) <= MAX_TILESWIDE)) && ((atoi(args[parsecount + 2]) >= MIN_TILESHIGH) && (atoi(args[parsecount + 2]) <= MAX_TILESHIGH))) + { + (*gameParameters)[TilesWide] = atoi(args[parsecount + 1]); + (*gameParameters)[TilesHigh] = atoi(args[parsecount + 2]); + parsecount = parsecount + 3; + } + else + { + printErrorHelp(args[0]); + exit(EXIT_FAILURE); + } + } + else + { + printErrorHelp(args[0]); + exit(EXIT_FAILURE); + } + } + //NUMBER OF BLOCKS + else if (strcmp(args[parsecount], "-b") == 0) + { + if ((parsecount + 1) < argc) + { + if ((atoi(args[parsecount + 1]) >= (MIN_NPCCOUNT - 1)) && (atoi(args[parsecount + 1]) <= (MAX_NPCCOUNT - 1))) + { + (*gameParameters)[NPCCount] = atoi(args[parsecount + 1]) + 1; + parsecount = parsecount + 2; + } + else + { + printErrorHelp(args[0]); + exit(EXIT_FAILURE); + } + } + else + { + printErrorHelp(args[0]); + exit(EXIT_FAILURE); + } + } + //SNAKE'S LENGTH + else if (strcmp(args[parsecount], "-l") == 0) + { + if ((parsecount + 1) < argc) + { + if ((atoi(args[parsecount + 1]) >= (MIN_SNAKELENGTH - 1)) && (atoi(args[parsecount + 1]) <= (MAX_SNAKELENGTH - 1))) + { + (*gameParameters)[SnakeLength] = atoi(args[parsecount + 1]) + 1; + parsecount = parsecount + 2; + } + else + { + printErrorHelp(args[0]); + exit(EXIT_FAILURE); + } + } + else + { + printErrorHelp(args[0]); + exit(EXIT_FAILURE); + } + } + //SNAKE'S SPEED + else if (strcmp(args[parsecount], "-s") == 0) + { + if ((parsecount + 1) < argc) + { + if ((atoi(args[parsecount + 1]) >= MIN_SNAKESPEED) && (atoi(args[parsecount + 1]) <= MAX_SNAKESPEED)) + { + (*gameParameters)[SnakeSpeed] = atoi(args[parsecount + 1]); + parsecount = parsecount + 2; + } + else + { + printErrorHelp(args[0]); + exit(EXIT_FAILURE); + } + } + else + { + printErrorHelp(args[0]); + exit(EXIT_FAILURE); + } + } + //FAIL IF ANYTHING ELSE + else + { + printErrorHelp(args[0]); + exit(EXIT_FAILURE); + } + } +} + +/*PRINT THE HELP MENU TO THE COMMANDLINE*/ +void printHelpMenu(char filename[]) +{ + fprintf(stdout, " Usage: %s [options]\n", filename); + fprintf(stdout, " Options:\n"); + fprintf(stdout, " -g [width] [height]\tSet the grid size: between [%d]x[%d] and [%d]x[%d] (DEFAULT: [%d]x[%d])\n", MIN_TILESWIDE, MIN_TILESHIGH, MAX_TILESWIDE, MAX_TILESHIGH, DEFAULT_TILESWIDE, DEFAULT_TILESHIGH); + fprintf(stdout, " -b [blocks]\t\tSet the number of blocks: between [%d] and [%d] (DEFAULT: [%d])\n", MIN_NPCCOUNT - 1, MAX_NPCCOUNT - 1, DEFAULT_NPCCOUNT - 1); + fprintf(stdout, " -l [length]\t\tSet the snake's starting length: between [%d] and [%d] (DEFAULT: [%d])\n", MIN_SNAKELENGTH - 1, MAX_SNAKELENGTH - 1, DEFAULT_SNAKELENGTH - 1); + fprintf(stdout, " -s [speed]\t\tSet the snake's starting speed: between [%d] and [%d] (DEFAULT: [%d])\n", MIN_SNAKESPEED, MAX_SNAKESPEED, DEFAULT_SNAKESPEED); + fprintf(stdout, " -h\t\t\tDisplay help information\n"); +} + +/*DISPLAYS AN ERROR MESSAGE BEFORE CALLING THE HELP MENU FUNCTION*/ +void printErrorHelp(char filename[]) +{ + fprintf(stderr, " Error: invalid input\n\n"); + printHelpMenu(filename); +} +