求助C++编辑贪吃蛇小程序的时候遇到LNK2019和LNK1120怎么都解决不了求大佬来解答。
用的是vs2015.
代码如下:
#include
#include<windows.h>
#include
#include<conio.h>
#include<time.h>
using namespace std;
int a = 1, b = 0;
int score = 0, length = 3;
int sleep = 500;
void gotoxy(short x, short y)
{
COORD position = { x, y };
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOut, position);
}
class wall {
char W[12][12];
public:
wall(int i, int j)
{
for (i = 0; i <= 12; i++)
{
for (j = 0; j <= 12; j++)
{
if (i == 0 || j == 0 || i == 11 || j == 11)
W[i][j] = ‘a’;
else W[i][j] = ’ ‘;
if (j == 11)
cout << W[i][j] << endl;
else
cout << W[i][j];
}
}
}
};
class snake {
public:
int s[25][2];
snake() {
gotoxy(s[0][0], s[0][1]);
cout << ‘@’;
gotoxy(s[1][0], s[1][1]);
cout << ‘~’;
gotoxy(s[2][0], s[2][1]);
cout << ‘~’;
}
};
class food {
friend snake;
int s[25][2];
food(int m, int n)
{
m = rand() % 100, n = rand() % 100;
for (int k; k <= 25; k++)
{
if (m == s[k][0] || s[m][1])
m = rand() % 100, n = rand() % 100;
};
gotoxy(m, n);
cout << ‘¥’;
}
};
class move :virtual public snake
{
int ch;
move()
{
if (_kbhit() != 0)
{
char ch = _getch();
switch (ch)
{
case’w’:
case’W’:
if (b == 0)
{
a = 0, b = 1;
}
break;
case’a’:
case’A’:
if (a == 0)
{
a = 0, b = 1;
}
break;
case’s’:
case’S’:
if (b == 0)
{
a = 0, b = -1;
}
case’d’:
case’D’:
if (a == 0)
{
a = 1, b = 0;
}
break;
}
}
s[0][0] += a;
s[0][1] += b;
for (int o = 1; o < 25; o++)
{
for (int p = 0; p < 2; p++)
{
s[o][p] = s[o - 1][p];
}
}
}
};
class level :virtual private snake
{
level() {
if (s[0][0] == a, s[0][1] = b)
score += 1;
if (score % 10 == 0)
{
length += 1;
sleep += 500;
gotoxy(s[length - 1][0], s[length - 1][1]);
cout << ‘~’;
}
}
};
class death :virtual protected snake
{
death() {
if (s[0][0] == 0 || s[0][0] == 10 || s[0][1] == 0 || s[0][1] == 10)
{
system(“cls”);
gotoxy(2, 3);
cout << “You loose”;
}
}
};