Theo sự hướng dẫn của thầy em có viết được bài code game con rắn nhưng vẫn chưa hoàn thiện. Điểm số bị in lung tung với con rắn không chết khi bị đâm vào tường.
Với lại em muốn thêm phần độ khó ví dụ chơi được 1000 điểm thì con rắn di chuyển nhanh hơn thì làm thế nào ạ?
Code của e, mấy a/c xem qua rồi chỉnh sửa giúp e nhé. Hướng dẫn thêm cho e với ạ 
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#define MaxH 80
#define MaxW 20
void gotoxy( int column, int line )
{
COORD coord;
coord.X = column;
coord.Y = line;
SetConsoleCursorPosition(
GetStdHandle( STD_OUTPUT_HANDLE ),
coord
);
}
int wherex()
{
CONSOLE_SCREEN_BUFFER_INFO csbi;
COORD result;
if (!GetConsoleScreenBufferInfo(
GetStdHandle( STD_OUTPUT_HANDLE ),
&csbi
))
return -1;
return result.X;
}
int wherey()
{
CONSOLE_SCREEN_BUFFER_INFO csbi;
COORD result;
if (!GetConsoleScreenBufferInfo(
GetStdHandle( STD_OUTPUT_HANDLE ),
&csbi
))
return -1;
return result.Y;
}
typedef struct snake
{
int x;
int y;
};
void DrawSnake(int snakeLength, snake Toado[])
{
for (int i=0;i<snakeLength;i++)
{
gotoxy(Toado[i].x,Toado[i].y);
printf("*");
}
}
int CheckDie(int snakeLength, snake Toado[])
{
for (int i=1;i<snakeLength;i++)
if (Toado[0].x==Toado[i].x&&Toado[0].y==Toado[i].y)
{
system("CLS");
gotoxy(25,1);
printf("Game Over !");
return (1);
}
return (0);
}
void Deltail(int snakeLength,snake Toado[])
{
gotoxy(Toado[snakeLength-1].x,Toado[snakeLength-1].y);
printf(" ");
}
void init(int &snakeLength,snake Toado[1000])
{
Toado[0].x=20; Toado[0].y=2;
Toado[1].x=19; Toado[1].y=2;
Toado[2].x=18; Toado[2].y=2;
Toado[3].x=17; Toado[3].y=2;
Toado[4].x=16; Toado[4].y=2;
Toado[5].x=15; Toado[5].y=2;
snakeLength=5;
DrawSnake(snakeLength,Toado);
gotoxy(25,23);
printf("THE SNAKE GAME");
gotoxy(25,24);
printf("Project by 15520923 & 15520922");
}
void DrawBox()
{
for (int i=1;i<=19;i++)
{
gotoxy(9,i); //Hang trai
printf("%c\n",186);
gotoxy(80,i); //Hang phai
printf("%c\n",186);
}
for (int i=1;i<=72;i++)
{
gotoxy(i+8,20); // Hang duoi
printf("%c",205);
gotoxy(i+8,1); // Hang tren
printf("%c",205);
}
gotoxy(9,1);
printf("%c",201);
gotoxy(9,20);
printf("%c",200);
gotoxy(80,1);
printf("%c",187);
gotoxy(80,20);
printf("%c",188);
}
int main()
{
snake Toado[1000], NewPos, food;
int snakeLength, i, Score=0, Time=125;
bool Check;
unsigned char c;
srand(time(NULL));
Check=false;
init(snakeLength,Toado);
DrawBox();
gotoxy(90,4);
printf("Score: ");
while (1)
{
while (Check==false)
{
Check=true;
food.x=rand()%69+10;
food.y=rand()%17+2;
for (i=0;i<snakeLength;i++)
if (Toado[i].x==food.x&&Toado[i].y==food.y) Check==false;
}
if (Check==true)
{
gotoxy(food.x,food.y);
printf("*");
}
if(kbhit())
c=getch();
if (c==224)
c=getch();
{
if (c==72)//y-1
{
Deltail(snakeLength,Toado);
NewPos.x=Toado[0].x;
NewPos.y=Toado[0].y;
for (i=snakeLength-1;i>0;i--)
{
Toado[i].x=Toado[i-1].x;
Toado[i].y=Toado[i-1].y;
}
Toado[0].x=NewPos.x; Toado[0].y=NewPos.y-1;
}
else if (c==80)//y+1
{
Deltail(snakeLength,Toado);
NewPos.x=Toado[0].x;
NewPos.y=Toado[0].y;
for (i=snakeLength-1;i>0;i--)
{Toado[i].x=Toado[i-1].x; Toado[i].y=Toado[i-1].y;}
Toado[0].x=NewPos.x; Toado[0].y=NewPos.y+1;
}
else if (c==75)//x-1
{
Deltail(snakeLength,Toado);
NewPos.x=Toado[0].x;
NewPos.y=Toado[0].y;
for (i=snakeLength-1;i>0;i--)
{Toado[i].x=Toado[i-1].x; Toado[i].y=Toado[i-1].y;}
Toado[0].x=NewPos.x-1; Toado[0].y=NewPos.y;
}
else if (c==77)//x+1
{
Deltail(snakeLength,Toado);
NewPos.x=Toado[0].x;
NewPos.y=Toado[0].y;
for (i=snakeLength-1;i>0;i--)
{Toado[i].x=Toado[i-1].x; Toado[i].y=Toado[i-1].y;}
Toado[0].x=NewPos.x+1; Toado[0].y=NewPos.y;
}
if (Toado[0].x>MaxH-1) Toado[0].x=10;
if (Toado[0].x<10) Toado[0].x=MaxH-1;
if (Toado[0].y>=MaxW) Toado[0].y=2;
if (Toado[0].y<2) Toado[0].y=MaxW-1;
if (CheckDie(snakeLength,Toado)==1) return (0);
DrawSnake(snakeLength,Toado);
if (Toado[0].x==food.x&&Toado[0].y==food.y)
{
Check=false;
snakeLength++;
Toado[snakeLength].x=Toado[snakeLength-1].x;
Toado[snakeLength].y=Toado[snakeLength-1].y;
Score++;
gotoxy(99,4);
printf("%d",Score*100);
}
Sleep(Time);
}
}
}

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?