永发信息网

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

答案:5  悬赏:20  手机版
解决时间 2021-11-17 00:49
求几个C++在VC6.0环境下编写的游戏小程序的源代码实例教程
最佳答案
百度,看到一条蛇游戏
#包括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 + +中国流行
参与活动:参与活动
全部回答
最经典的 c/++下的游戏程序源码就是 圣剑传说,它的代码不仅是开源,而且很多人做了注释,在网上搜索就能搜索到的,没事来0x30百度贴吧耍耍,共同交流分享。
在百度上看到的一个贪吃蛇游戏
#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++ 华语流行乐
参加的活动: 暂时没有参加的活动
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
国际储备有哪些类型?各自的特点如何
求龟田源五郎的漫画合集
公元2012年6月11日,农历是几月几号
进口芝麻需要哪些进口的手续单证?
何来亏欠 我敢给就敢心碎是什么意思
提手旁的意思是什么?
sql怎么模糊查询
枸杞和什么泡茶喝最好
小刚送给弟弟4个练习本后,还比弟弟多两个,
为什么国外的cos圈都是成人cos
无高速,无飞机,无火车,高铁和飞机哪个安全
有三高,吃立普妥最少要吃多长时间
turbo码译码时提到的一种软输入软输出算法是
1三亚机场到三亚汽车站坐什么车,多久,多少
懒人最好怎么锻炼身体
推荐资讯
逸塔·果汁冰(国贸店)地址有知道的么?有
你走了,陪伴我的又只有烟了!!!
本就不能wwW125sihucom登入了,还可以继续125s
DW检验的适用条件
花鸟市场的小猫咪一般卖多少钱一只?
ibeer free里的啤酒可以喝吗
荣旺磁砖地址在哪,我要去那里办事,
当阳河溶海拔多少米
中国有哪些平原?
刚从产房出来能用吸奶器吸吗
蒸发是物态变化吗?
IEEE14节点在Matlab中的节点参数矩阵和支路参
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?