progress
This commit is contained in:
44
snake/snake.c
Normal file
44
snake/snake.c
Normal file
@@ -0,0 +1,44 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "snake.h"
|
||||
|
||||
extern char board[BRD_SIZE_Y][BRD_SIZE_X];
|
||||
|
||||
void addSnakePart(snakePart* head) {
|
||||
snakePart* tail = head;
|
||||
|
||||
while (tail->next != NULL)
|
||||
tail = tail->next;
|
||||
|
||||
snakePart* newTail = (snakePart*) malloc(sizeof(snakePart));
|
||||
newTail->visChar = '#';
|
||||
newTail->dir = tail->dir;
|
||||
|
||||
switch (newTail->dir) {
|
||||
case 'w':
|
||||
newTail->x = tail->x;
|
||||
newTail->y = tail->y + 1;
|
||||
break;
|
||||
case 's':
|
||||
newTail->x = tail->x - 1;
|
||||
newTail->y = tail->y;
|
||||
break;
|
||||
case 'a':
|
||||
newTail->x = tail->x - 1;
|
||||
newTail->y = tail->y;
|
||||
break;
|
||||
case 'd':
|
||||
newTail->x = tail->x;
|
||||
newTail->y = tail->y - 1;
|
||||
break;
|
||||
default:
|
||||
printf("Invalid direction in func addSnakePart\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
newTail->next = NULL;
|
||||
|
||||
tail->next = newTail;
|
||||
|
||||
board[newTail->y][newTail->x] = newTail->visChar;
|
||||
}
|
||||
17
snake/snake.h
Normal file
17
snake/snake.h
Normal file
@@ -0,0 +1,17 @@
|
||||
#ifndef SNAKE_H_
|
||||
#define SNAKE_H_
|
||||
|
||||
#include "../globals.h"
|
||||
|
||||
typedef struct snakeNode {
|
||||
int x;
|
||||
int y;
|
||||
char visChar;
|
||||
|
||||
char dir;
|
||||
struct snakeNode* next;
|
||||
} snakePart;
|
||||
|
||||
void addSnakePart(snakePart* head);
|
||||
|
||||
#endif // SNAKE_H_
|
||||
Reference in New Issue
Block a user