#include <turboc.h>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define MAX 20
typedef struct _position{
int x;
int y;
}position;
position snakeXY[MAX+4];
position snake_eat[MAX];
int front, rear;
void init_snake (void);
void clear_snake (void);
int put_snake (int Cx,int Cy);
position get_snake (void);
void erase_snake(int Cx, int Cy);
void init_eat (void);
void print_eat (void);
void turn_snake (void);
void eat_food (void);
void die_snake (void);
void die_snake()
{
for(int i=front; i<rear-3; i=++i%MAX){
if(snakeXY[rear-1].x==snakeXY[i].x && snakeXY[rear-1].y==snakeXY[i].y){
printf(\"you lose\");
exit(0);
}
}
if(snakeXY[rear-1].x==79||snakeXY[rear-1].x==0||snakeXY[rear-1].y==0||snakeXY[rear-1].y==25){
printf(\"you lose\");
exit(0);
}
}
void eat_food()
{
for(int i=0;i<MAX;i++){
if(snakeXY[rear-1].x==snake_eat[i].x && snakeXY[rear-1].y==snake_eat[i].y){
put_snake(snakeXY[rear-1].x, snakeXY[rear-1].y);
}
}
}
void init_eat(void)
{
for(int i=0;i<MAX;i++){
snake_eat[i].x=rand()%79;
snake_eat[i].y=rand()%24;
}
}
void print_eat(void)
{
for(int i=0;i<MAX;i++){
gotoxy(snake_eat[i].x,snake_eat[i].y);
printf(\"#\");
}
}
void init_snake(void)
{
front=rear=0;
}
void clear_snake(void)
{
front=rear;
}
int put_snake(int Cx,int Cy)
{
if((rear+1) % MAX == front){
printf(\"you win\");
exit(0);
}
snakeXY[rear].x=Cx;
snakeXY[rear].y=Cy;
rear = ++rear % MAX;
return 1;
}
position get_snake(void)
{
position temp;
if(front == rear){
temp.x=temp.y=-1;
return temp;
}
temp.x=snakeXY[front].x;
temp.y=snakeXY[front].y;
front = ++front % MAX;
return temp;
}
void print_snake(void)
{
for(int i=front; i!=rear; i=++i%MAX){
gotoxy(snakeXY[i].x,snakeXY[i].y);
printf(\"*\");
}
}
void turn_snake(void)
{
for(int i=front; i<rear-1; i=++i%MAX){
if(i==rear-1) break;
snakeXY[i].x=snakeXY[i+1].x;
snakeXY[i].y=snakeXY[i+1].y;
}
}
void erase_snake(int Cx, int Cy)
{
gotoxy(Cx,Cy);
printf(\" \");
}
int main(void)
{
int key;
int checkSum=1;
int Cx=10,Cy=10;
init_snake();
init_eat();
print_eat();
put_snake(Cx,Cy);
while(1){
if(kbhit()){
key=getch();
}
if(key==27)
return 0;
if(key==77){
erase_snake(snakeXY[front].x,snakeXY[front].y);
snakeXY[rear-1].x++;
 
밑에 짤리네 흠좀무
주석있었으면.
http://blog.naver.com/tlsdufwjstk/100037106948
원본은 요기서
turboc.h이거 없다는데..?나 vs인데 횽은 뭘로 짠거?