编程游戏代码(电脑编程游戏代码)

http://www.itjxue.com  2023-04-12 01:50  来源:未知  点击次数: 

用C语言编写的小游戏代码是什么?

“猜数字小游戏”,每个数字后按空格,最后按回车确认

#includestdio.h

#includestdlib.h

#includetime.h

int a[4],b[4];

int count=0;? //计算猜测次数

void csh( );? //初始化

void start( );? //开始游戏

int main( )

{ csh( );

start( );

}

void csh( )? //初始化

{ printf("\n\n???????? 猜? 数? 字? 小? 游? 戏\n\n");

printf(“? ??猜四个数字,如数字与顺序都正确记为A,数字正确位置不对记为B.\n”);

}

void start( )? //开始游戏

{int m,n;? //m是完全猜对的个数,n是顺序不对的个数

while(1)

{srand((unsigned)time(NULL));? //初始化随机数发生器srand( )

while(1) { for(int i=0;i4;i++) a[i]=rand( )%10; ?//rand( )函数每次随机产生一个0-9的数

if( (a[3]!=a[2]a[3]!=a[1]a[3]!=a[0])

(a[2]!=a[1]a[2]!=a[0])a[1]!=a[0] ) break; }? //4个随机数各自不相等

printf("?? ?请依次输入4个一位整数:\n\n? ?");

while(1)

{for(int i=0;i4;i++) scanf(“%d”,b[i]);

printf("?? ?你输入的是:%d? %d? %d? %d ",b[0],b[1],b[2],b[3]);

m=0;n=0;

for(int i=0;i4;i++)

{for(int j=0;j4;j++)

{ if(b[i]==a[j]i==j)m=m+1; if(b[i]==a[j]i!=j)n=n+1; }

}

count=count+1;

printf("????? %dA? %dB?? 你试了%d次\n? ?",m,n,count);

if(m==4)break;

if(count==8){ count=0; break; }

}

printf("\n");

if(m==4)printf("???? 你猜对了(^-^)! 就是:%d %d %d %d\n",a[0],a[1],a[2],a[3]);

else printf("???? 你输了(T-T)!哈哈!应该是:%d %d %d %d\n",a[0],a[1],a[2],a[3]);

int z;

printf("???? (要继续吗?1或0)\n? ?");

scanf(“%d”,z);

if(z==0) break;

}

}

c++编程小游戏代码

以下是贪吃蛇源代码:

?

#includeiostream.h

#includewindows.h

#includetime.h

#includestdlib.h

#includeconio.h

#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;iN+2;i++)

{

for(j=0;jN+2;j++)

{

if(wall[i][j])

cout"■";

else?cout"□"?;

}

coutendl;

}

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

color(20);

cout"按?W?S?A?D?移动方向"endl;

gotoxy(N+3,2);

color(20);

cout"按任意键暂停"endl;

gotoxy(N+3,3);

color(20);

cout"得分:"endl;

apple[0]=rand()%N+1;//苹果

apple[1]=rand()%N+1;

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

color(12);

cout"●"endl;

}

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;ilen;i++)

snake[i]=(int*)malloc(sizeof(int)*2);

for(i=0;ilen;i++)

{

snake[i][0]=N/2;

snake[i][1]=N/2+i;

gotoxy(snake[i][0],snake[i][1]);

color(14);

cout"★"endl;

}

while(1)//进入消息循环

{

tail[0]=snake[len-1][0];

tail[1]=snake[len-1][1];

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

color(11);

cout"■"endl;

for(i=len-1;i0;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"★"endl;

}

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"★"endl;

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"●"endl;

gotoxy(N+5,3);

color(20);

coutscoreendl;

}

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"失败!!!"endl;

for(i=0;ilen;i++)

free(snake[i]);

Sleep(INFINITE);

exit(0);

}

}

return?0;

}

c语言游戏编程,下落的小鸟 求代码

下落的小鸟

#includestdio.h

#includestdlib.h

#includeconio.h

#includetime.h

#includeWindows.h

int Grade = 1, Score = 0, Max_blank = 9, Distance = 18;

struct Birds{int x; int y;}; ?//定义一种Birds数据类型(含3个成员)

Birds *Bird = (Birds*)malloc(sizeof(Birds)); ?//定义Birds类型 指针变量Bird并赋初值

struct Bg{int x, y; int l_blank; Bg *pri; Bg *next;};? //定义一种Bg数据类型(含5个成员)

Bg *Bg1 = (Bg*)malloc(sizeof(Bg));? //定义Bg类型 指针变量Bg1并赋初值

void Position(int x, int y) ?//光标定位函数(用于指定位置输出)

{COORD pos = { x - 1, y - 1 };

HANDLE Out = GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleCursorPosition(Out, pos);

}

void Csh( ) ?//初始化界面

{

printf("══════════════════════════════════════\n");

printf(" ■■ ■■ C语言版 Flappy Bird \n");

printf(" ■■ ■■\n");

printf(" ■■ ■■\n");

printf(" ■■ ■■ 瞎搞人:yyposs原创\n");

printf(" ■■ ■■ 瞎搞日期:2014.2\n");

printf(" ■■ ■■\n");

printf(" ■■ ■■ 改编:鸣蝉百2021.7\n");

printf(" ■■ ■■ 操作:按向上方向键让小鸟起飞\n");

printf(" ■■\n");

printf(" ■■\n");

printf(" ■■ ■■\n");

printf(" ■■ ■■\n");

printf(" ■■ ■■\n");

printf(" ■■ ■■\n");

printf(" ■■ ■■ DEVc++运行通过\n");

printf("══════════════════════════════════════\n");

printf("? 按键继续…");

getch( );

system("cls");

}

void PrFK( ) ?//输出方框(游戏范围区)

{int i;

Position(1, 1); printf("╔");? Position(79, 1); printf("╗");

Position(1, 24); printf("╚");? Position(79, 24); printf("╝");

for (i = 3; i = 78; i += 2){Position(i, 1); printf("═"); Position(i, 24); printf("═");}

for(i=2;i=23;i++)

{ Position(1,i); printf("║");if(i11)printf("0%d",i-1);else printf("%d",i-1);

Position(79,i); printf("║");

}

Position(4, 25); printf("小鸟即将出现,请准备按键起飞… ");

getch( );

Position(4, 25); printf("????????????????????????????????? ");

}

void CreatBg( )? //创建障碍物坐标(便于打印输出)

{Bg *Bg2 = (Bg*)malloc(sizeof(Bg));

Bg1-x = 90; Bg1-y = 8;? //确定障碍物的一对基本坐标(此时值是在游戏框之外)

Bg2-x = Bg1-x + Distance; Bg2-y = 9;? //下一障碍物的基本坐标x、y

Bg1-l_blank = Max_blank - Grade;? //障碍物上下两部分之间的空白距离l_blank

Bg2-l_blank = Max_blank - Grade;

Bg1-next = Bg2; Bg1-pri = Bg2;

Bg2-next = Bg1; Bg2-pri = Bg1;

}

void InsertBg(Bg *p)? //随机改变障碍物的y坐标,让空白通道有上下变化

{int temp;

Bg *Bgs = (Bg*)malloc(sizeof(Bg));

Bgs-x = p-pri-x + Distance;

Bgs-l_blank = Max_blank - Grade;

srand((int)time(0)); ?//启动随机数发生器

temp = rand( ); ?//产生一个随机数并赋值给temp

if (temp % 2 == 0)

{if ((temp % 4 + p-pri-y + Max_blank - Grade)21)

Bgs-y = p-pri-y + temp % 4;

else Bgs-y = p-pri-y;

}

else

{if ((p-pri-y - temp % 4)2)Bgs-y = p-pri-y - temp % 4;

else Bgs-y = p-pri-y;

}

Bgs-pri = p-pri; Bgs-next = p;

p-pri-next = Bgs; p-pri = Bgs;

}

void CreatBird( )? //建立小鸟的坐标(初始打印输出小鸟的位置)

{Bird-x = 41; Bird-y = 10;}

int CheckYN(Bg *q)? //判断游戏结束与否(值为0是要结束,为1没有要结束)

{Bg *p = q; int i = 0;

while (++i = 5)

{if (Bird-y23)return 0;

if (Bird-x == p-xBird-y = p-y)return 0;

if ((Bird-x == p-x || Bird-x == p-x + 1 || Bird-x == p-x + 2) Bird-y == p-y)return 0;

if (Bird-x == p-xBird-yp-y + p-l_blank)return 0;

if ((Bird-x == p-x || Bird-x == p-x + 1 || Bird-x == p-x + 2) Bird-y == p-y + p-l_blank)

return 0;

p = p-next;

}

return 1;

}

void Check_Bg(Bg *q)? //核查开头的障碍物坐标是否在游戏区内

{Bg *p = q; int i = 0, temp;

while (++i = 5)

{if (p-x-4)p = p-next;

else

{srand((int)time(0)); ?temp = rand();

if (temp % 2 == 0)

{if ((temp % 4 + p-y + Max_blank - Grade)21)p-y = p-y + temp % 4;

else p-y = p-y; p-x = p-pri-x + Distance;

p-l_blank = Max_blank - Grade;

}

else

{if ((p-y - temp % 4)2)p-y = p-y - temp % 4;

else p-y = p-y; p-x = p-pri-x + Distance;

p-l_blank = Max_blank - Grade;

}

}

}

}

void Prt_Bg(Bg *q)? //打印输出障碍物(依据其x、y坐标进行相应输出)

{Bg *p = q; int i = 0, k, j;

while (++i = 5)

{if (p-x0 p-x = 78)

{for (k = 2; kp-y; k++){Position(p-x + 1, k); printf("■"); printf("■"); printf(" ");}

Position(p-x, p-y);

printf("■"); printf("■"); printf("■"); printf(" ");

Position(p-x, p-y + p-l_blank);

printf("■"); printf("■"); printf("■"); printf(" ");

k = k + p-l_blank + 1;

for (k; k = 23; k++){Position(p-x + 1, k); printf("■"); printf("■"); printf(" ");}

}

p = p-next;

if (p-x == 0)

{for (j = 2; jp-y; j++){Position(p-x + 1, j); printf(" "); printf(" ");}

Position(p-x + 1, p-y);

printf(" "); printf(" "); printf(" ");

Position(p-x + 1, p-y + Max_blank - Grade);

printf(" "); printf(" "); printf(" ");

j = j + Max_blank - Grade + 1;

for (j; j = 22; j++){Position(p-x + 1, j); printf(" "); printf(" ");}

}

}

}

void PrtBird( )? //打印输出小鸟

{Position(Bird-x, Bird-y - 1); printf(" ");

Position(Bird-x, Bird-y); printf("Ю");

Position(38, 2); printf("Score:%d", Score);

}

void Loop_Bg(Bg *q)? //障碍物x坐标左移,并记录成绩

{Bg *p = q; int i = 0;

while (++i = 5)

{p-x = p-x - 1; p = p-next;

if (Bird-x == p-x)

{Score += 1;

if (Score % 4 == 0 Grade4)Grade++;

}

}

}

int main( )

{int i = 0; int t;

while (1)

{

Csh( );PrFK( );CreatBg( );

InsertBg(Bg1);InsertBg(Bg1);InsertBg(Bg1);

CreatBird( );

while (1)

{if (!CheckYN(Bg1))break;

Check_Bg(Bg1);Prt_Bg(Bg1);

PrtBird( );Loop_Bg(Bg1);

Bird-y = Bird-y + 1;

if (GetAsyncKeyState(VK_UP)) ?//按下了向上方向键

{Position(Bird-x, Bird-y - 1);printf(" ");

Bird-y = Bird-y - 4;

}

Sleep(200);? //程序延时200毫秒(数值大小决定游戏速度快慢)

i = 0;

}

Position(6, 25);

printf("游戏结束!? 请输入:0.退出? 1.重玩");

scanf("%d",t);

if (t==0)break;

system("cls"); Score = 0;

}

return 0;

}

(责任编辑:IT教学网)

更多