永发信息网

求几个C++在VC6.0环境下编写的游戏小程序的源代码实例教程

答案:5  悬赏:20  手机版
解决时间 2021-11-17 00:49
  • 提问者网友:爱了却不能说
  • 2021-11-16 04:42
求几个C++在VC6.0环境下编写的游戏小程序的源代码实例教程
最佳答案
  • 五星知识达人网友:零点过十分
  • 2021-11-16 05:10
百度,看到一条蛇游戏
#包括ltiostream.h的>

BR p>定义N 21

位置

无效gotoxy(X,Y)/ /函数

COORD位置; BR p> pos.X = 2 * X;

pos.Y = Y;

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),POS)

}

无效的颜色(INT)/ /颜色功能

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE) ,A);

}

无效的init(苹果[2])/ /初始化函数(初始化长城显示器的信息,苹果)

{

我;/ /初始化墙

长城[N +2] [N + 2] = {{0}}(i = 1; <= N + + )

{

(J = 1; <= N; J + +)

墙[I] [J] = 1; BR p>}

颜色(11);

(i = 0; I
BR /> {

(J = 0,J
{

(墙[I] [J ])

法院<<


}

苑<
}

gotoxy(N +3,1);/ /显示信息

颜色(20);

法院<<“<< endl WSAD方向的运动;

gotoxy(N +3,2);

颜色(20)

cout <<“请按任意键暂停
gotoxy(N +3,3);

颜色(20); BR p> COUT <评分:“<< endl;

>苹果[0] = RAND()的%N +1 ;/ /苹果

苹果1] = RAND()%N + 1;

gotoxy(苹果[0],苹果[1]);

颜色(12);

BR /> cout <<“请,OE”<< endl;

}

:()

{

INT I,J

**蛇= NULL;

解释苹果[2];

解释得分= 0;

时间

解释[2];

诠释莱恩? ? ;

字符路='P'

函数srand((无符号)时间(NULL));的init(苹果);

蛇(**)的realloc(蛇,sizeof(*)的* LEN);

为(i = 0;
蛇[I] =( *)的malloc(sizeof(廉政公署)的* 2);

为(i = 0;
{

蛇[I] [0] = N / 2;

蛇[I] [1] = N / 2 + I

gotoxy(蛇[I] [ 0],蛇[I] [1]);(14);

法院<<“面向对象”<< endl;

} BR p>(1)/ /进入消息循环

{

尾[0] =蛇[LEN-1] [0]; / >>尾[1] =蛇[LEN-1] [1];

gotoxy(尾[0],尾[1]);

颜色(11 );

法院<<“,”<< endl;

(I = LEN-1> 0,I - )

{

蛇[I] [0] =蛇[I-1] [0;

蛇[I] [1] =蛇[I -1] [1];

gotoxy(蛇[I] [0],蛇[I] [1]);

}

(kbhit())

{


CH = getche();

}

开关(CH)

BR /> {

'W':[0] [1] - 的蛇;突破;

情况下,'S':蛇0 [1] + +;突破;

[0] [0] - 一个突破;

情况下,“E”:蛇[0] [0 + +;突破的情况下,“蛇; BR p>默认值:打破;

}

gotoxy(蛇[0] [0],蛇[0] [1]); ...... /

颜色(14);

法院<<“OO”<< endl;

睡眠(ABS(200-0.5 *分数)); ==苹果,

(蛇[0] [0] ==苹果[0] &&蛇[1] [1] [1])/ /蛇的分数吃苹果加上长的蛇加1

{

得分+ +;

LEN + +;

蛇=(**)的realloc (蛇中,sizeof(*)* LEN);

蛇[LEN-1] =(*)的malloc(sizeof(廉政)* 2);

苹果[0 = RAND()%N +1;

苹果[1] = RAND()%N +1;

gotoxy(苹果[0],苹果[1] );

颜色(12);

法院<<“,OE”<< endl;

gotoxy(N +5,3)

颜色(20);

法院<<得分<< endl;

}

(蛇[ 1] [1] == 0 | |蛇[1] [1] == | |蛇[0] [0] == 0 | |蛇] [0] == N)/ /打围栏失败...... / a>

{

2,N / 2); p>颜色(30);

法院<< “”<< endl;

(i = 0;
,免费比赛结束(蛇[]);

睡眠(无限);

出口(0);

}

}

回报; }

2

|评论(3)

C加语言初学者|五采纳率:42%的TA帮助

受访者:BR p>专业领域:C / C + +中国流行
参与活动:参与活动
全部回答
  • 1楼网友:老鼠爱大米
  • 2021-11-16 07:46
最经典的 c/++下的游戏程序源码就是 圣剑传说,它的代码不仅是开源,而且很多人做了注释,在网上搜索就能搜索到的,没事来0x30百度贴吧耍耍,共同交流分享。
  • 2楼网友:猎心人
  • 2021-11-16 06:49
在百度上看到的一个贪吃蛇游戏
#include
#include
#include
#include
#include
#define N 21
void gotoxy(int x,int y)//位置函数
{
COORD pos;
pos.X=2*x;
pos.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void color(int a)//颜色函数
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
}
void init(int apple[2])//初始化函数(初始化围墙、显示信息、苹果)
{
int i,j;//初始化围墙
int wall[N+2][N+2]={{0}};
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
wall[i][j]=1;
}
color(11);
for(i=0;i{
for(j=0;j{
if(wall[i][j])
cout<<"■";
else cout<<"□" ;
}
cout<}
gotoxy(N+3,1);//显示信息
color(20);
cout<<"按 W S A D 移动方向"<gotoxy(N+3,2);
color(20);
cout<<"按任意键暂停"<gotoxy(N+3,3);
color(20);
cout<<"得分:"<apple[0]=rand()%N+1;//苹果
apple[1]=rand()%N+1;
gotoxy(apple[0],apple[1]);
color(12);
cout<<"●"<}
int main()
{
int i,j;
int** snake=NULL;
int apple[2];
int score=0;
int tail[2];
int len=3;
char ch='p';
srand((unsigned)time(NULL));
init(apple);
snake=(int**)realloc(snake,sizeof(int*)*len);
for(i=0;isnake[i]=(int*)malloc(sizeof(int)*2);
for(i=0;i{
snake[i][0]=N/2;
snake[i][1]=N/2+i;
gotoxy(snake[i][0],snake[i][1]);
color(14);
cout<<"★"<}
while(1)//进入消息循环
{
tail[0]=snake[len-1][0];
tail[1]=snake[len-1][1];
gotoxy(tail[0],tail[1]);
color(11);
cout<<"■"<for(i=len-1;i>0;i--)
{
snake[i][0]=snake[i-1][0];
snake[i][1]=snake[i-1][1];
gotoxy(snake[i][0],snake[i][1]);
color(14);
cout<<"★"<}
if(kbhit())
{
gotoxy(0,N+2);
ch=getche();
}
switch(ch)
{
case 'w':snake[0][1]--;break;
case 's':snake[0][1]++;break;
case 'a':snake[0][0]--;break;
case 'd':snake[0][0]++;break;
default: break;
}
gotoxy(snake[0][0],snake[0][1]);
color(14);
cout<<"★"<Sleep(abs(200-0.5*score));
if(snake[0][0]==apple[0]&&snake[0][1]==apple[1])//吃掉苹果后蛇分数加1,蛇长加1
{
score++;
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(apple[0],apple[1]);
color(12);
cout<<"●"<gotoxy(N+5,3);
color(20);
cout<}
if(snake[0][1]==0||snake[0][1]==N||snake[0][0]==0||snake[0][0]==N)//撞到围墙后失败
{
gotoxy(N/2,N/2);
color(30);
cout<<"Game over"<for(i=0;ifree(snake[i]);
Sleep(INFINITE);
exit(0);
}
}
return 0;
}
2
|评论(3)

向TA求助
回答者: C加语言初学者 | 五级采纳率:42%
擅长领域: C/C++ 华语流行乐
参加的活动: 暂时没有参加的活动
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯