找几个VC6.0环境下用C++写的游戏小程序的源码示例教程。
# include & ltiostream.h & gt
# include & ltwindows.h & gt
# include & lttime.h & gt
# include & ltstdlib.h & gt
# include & ltconio.h & gt
#定义N 21
Void gotoxy(int x,int y)//位置函数
{
坐标位置;
位置。X = 2 * x
位置。Y = y
SetConsoleCursorPosition(GetStdHandle(STD _ OUTPUT _ HANDLE),pos);
}
Void color(int a)//颜色函数
{
SetConsoleTextAttribute(GetStdHandle(STD _ OUTPUT _ HANDLE),a);
}
Void init(int apple[2])//初始化函数(初始化栅栏,显示信息,apple)
{
int i,j;//初始化围栏
int wall[N+2][N+2]= { { 0 } };
for(I = 1;我& lt= N;i++)
{
for(j = 1;j & lt= N;j++)
wall[I][j]= 1;
}
颜色(11);
for(I = 0;我& ltn+2;i++)
{
for(j = 0;j & ltn+2;j++)
{
if(wall[i][j])
cout & lt& lt"■";
else cout & lt& lt"□" ;
}
cout & lt& ltendl
}
gotoxy(N+3,1);//显示信息
颜色(20);
cout & lt& lt“向西南方向移动”endl
gotoxy(N+3,2);
颜色(20);
cout & lt& lt"按任意键暂停"
gotoxy(N+3,3);
颜色(20);
cout & lt& lt"分数:"
apple[0]= rand()% N+1;//苹果
apple[1]= rand()% N+1;
gotoxy(苹果[0],苹果[1]);
颜色(12);
cout & lt& lt"●" & lt;& ltendl
}
int main()
{
int i,j;
int * * snake = NULL
int apple[2];
int得分= 0;
int tail[2];
int len = 3;
char ch = ' p
srand((无符号)时间(空));
init(苹果);
snake=(int**)realloc(snake,sizeof(int *)* len);
for(I = 0;我& ltleni++)
snake[I]=(int *)malloc(sizeof(int)* 2);
for(I = 0;我& ltleni++)
{
snake[I][0]= N/2;
snake[I][1]= N/2+I;
gotoxy(snake[i][0],snake[I][1]);
颜色(14);
cout & lt& lt“★”& lt;& ltendl
}
While(1)//进入消息循环。
{
tail[0]= snake[len-1][0];
尾巴[1]=蛇[len-1][1];
gotoxy(tail[0],tail[1]);
颜色(11);
cout & lt& lt"■" & lt;& ltendl
for(I = len-1;我& gt0;我-)
{
蛇[I][0]=蛇[I-1][0];
蛇[I][1]=蛇[I-1][1];
gotoxy(snake[i][0],snake[I][1]);
颜色(14);
cout & lt& lt“★”& lt;& ltendl
}
if(kbhit())
{
gotoxy(0,N+2);
ch = getche();
}
开关(通道)
{
case ' w ':snake[0][1]-;打破;
case ' s ':snake[0][1]++;打破;
案例“a”:snake[0][0]-;打破;
大小写“d”:snake[0][0]++;打破;
默认:break
}
gotoxy(snake[0][0],snake[0][1]);
颜色(14);
cout & lt& lt“★”& lt;& ltendl
睡眠(ABS(200-0.5 *分));
if(snake[0][0]= = apple[0]& amp;& amp蛇[0] [1] = =苹果[1])//吃了苹果之后,蛇的分数增加1,蛇的长度增加1。
{
得分++;
len++;
snake=(int**)realloc(snake,sizeof(int *)* len);
snake[len-1]=(int *)malloc(sizeof(int)* 2);
apple[0]= rand()% N+1;
apple[1]= rand()% N+1;
gotoxy(苹果[0],苹果[1]);
颜色(12);
cout & lt& lt"●" & lt;& ltendl
gotoxy(N+5,3);
颜色(20);
cout & lt& lt得分& lt& ltendl
}
if(snake[0][1]= = 0 | | snake[0][1]= = n | | snake[0][0]= = 0 | | snake[0]= = n)//撞上栅栏后失败。
{
gotoxy(N/2,N/2);
颜色(30);
cout & lt& lt“游戏结束”& lt& ltendl
for(I = 0;我& ltleni++)
免费(snake[I]);
睡眠(无限);
退出(0);
}
}
返回0;
}
2
|评论(3)
求TA帮忙
受访者:C+语言初学者|五级采用率:42%
擅长领域:C/C++中文流行音乐
参加的活动:暂时没有参加的活动。