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

6个月前 (11-19 01:41)阅读3回复1
yk
yk
  • 管理员
  • 注册排名3
  • 经验值463140
  • 级别管理员
  • 主题92628
  • 回复0
楼主

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

贪食蛇最基本的代码

#include<stdio.h>

#include<windows.h>//基本型态定义。支持型态定义函数。用户界面函数图形装置界面函数。

#include<conio.h>

//用户通过按键盘生成的相应操作(掌握台)

#include<stdlib.h>

#include<time.h>///日期和时间头文件

#definelen30000

#defineWID25

intSnake[LEN][WID]={0};

///数组的元素代表蛇的各个部位

charSna_Hea_Dir='a';////记录蛇头的移动方向

intSna_Hea_X,Sna_Hea_Y;//记录蛇头的位置

intSnake_Len=3;//记录蛇的长度

clock_tNow_Time;///记录当前时间,以便自动移动

intWait_Time;////自动笔录移动的时间间隔

intEat_Apple=1;///吃苹果表达 为1

intLevel;

intAll_Score=-1;

intApple_Num=-1;

HANDLEhConsole=GetStdHandle(STD_OUTPUT_HANDLE);

////获取准则输出的句柄<windows.h>

//句柄:标志使用程序中的不同对象和类似对象中的不同实例操作方便,

voidgotoxy(intx,inty)//设置光标位置

{

COORDpos={x,y};

///在掌握台屏幕上定义一个字符的坐标POS

SetConsoleCursorPosition(hConsole,pos);

////定位光标位置的函数<windows.h>

}

voidHide_Cursor()/隐藏光标固定函数

{

CONSOLE_CURSOR_INFOcursor_info={1,0};

SetConsoleCursorInfo(hConsole,&cursor_info);

}

voidSetColor(intcolor)//设置颜色

{

SetConsoleTextAttribute(hConsole,color);

//是API设置字体颜色和背景颜色的函数格式:SetConsoleTextAttribute(句柄,颜色);

}

voidPrint_Snake()///打印蛇头和蛇的脖子和蛇尾

{

intiy,ix,color;

for(iy=0;iy<WID;++iy)

for(ix=0;ix<LEN;++ix)

{

if(Snake[ix][iy]==1)//蛇头

{

SetColor(0xf);setcoloror//oxf代表分配的内存地址:34行定制设置颜色的函数

gotoxy(ix*2,iy);

printf("※");

}

if(Snake[ix][iy]==2)//蛇颈

{

color=rand()%15+1;

//rand()函数是产生随机数的随机函数。C语言中还有srand()函数等。

//头文件:stdlib.h

if(color==14)

color-=rand()%13+1;

//变色

SetColor(color);

gotoxy(ix*2,iy);

printf("■");

}

if(Snake[ix][iy]==Snake_Len)

{

gotoxy(ix*2,iy);

SetColor(0xe);

printf("≈");

}

}

}

voidClear_Snake()//擦去贪食蛇

{

intiy,ix;

for(iy=0;iy<WID;++iy)

for(ix=0;ix<LEN;++ix)

{

gotoxy(ix*2,iy);

if(Snake[ix][iy]==Snake_Len)

printf("");

}

}

voidRand_Apple()///随机产生苹果

{

intix,iy;

do

{

ix=rand()%LEN;

iy=rand()%WID;

}while(Snake[ix][iy]);

Snake[ix][iy]=-1;

gotoxy(ix*2,iy);

printf("⊙");

Eat_Apple=0;

}

voidGame_Over()//蛇死了

{

gotoxy(30,10);

printf("GameOver");

Sleep(3000);

system("pause>nul");

exit(0);

}

voidMove_Snake()//让蛇动

{

intix,iy;

for(ix=0;ix<LEN;++ix)///先标记蛇头

for(iy=0;iy<WID;++iy)

if(Snake[ix][iy]==1)

{

switch(Sna_Hea_Dir)///根据新的蛇头方向标记蛇头

{

case'w':

if(iy==0)

Game_Over();

else

Sna_Hea_Y=iy-1;

Sna_Hea_X=ix;

break;

case's':

if(iy==(WID-1))

Game_Over();

else

Sna_Hea_Y=iy+1;

Sna_Hea_X=ix;

break;

case'a':

if(ix==0)

Game_Over();

else

Sna_Hea_X=ix-1;

Sna_Hea_Y=iy;

break;

case'd':

if(ix==(LEN-1))

Game_Over();

else

Sna_Hea_X=ix+1;

Sna_Hea_Y=iy;

break;

default:

break;

}

}

if(Snake[Sna_Hea_X][Sna_Hea_Y]!=1&&Snake[Sna_Hea_X][Sna_Hea_Y]!=0&&Snake[Sna_Hea_X][Sna_Hea_Y]!=-1)

Game_Over();

if(Snake[Sna_Hea_X][Sna_Hea_Y]<0)//吃苹果

{

++Snake_Len;

Eat_Apple=1;

}

for(ix=0;ix<LEN;++ix)//处理蛇尾

for(iy=0;iy<WID;++iy)

{

if(Snake[ix][iy]>0)

{

if(Snake[ix][iy]!=Snake_Len)

Snake[ix][iy]+=1;

else

Snake[ix][iy]=0;

}

}

Snake[Sna_Hea_X][Sna_Hea_Y]=1;//处理蛇头

}

voidGet_Input()///掌握蛇的移动方向

{

if(kbhit())

{

switch(getch())

{

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

case87:

Sna_Hea_Dir='w';

break;

case83:

Sna_Hea_Dir='s';

break;

case65:

Sna_Hea_Dir='a';

break;

case68:

Sna_Hea_Dir='d';

break;

default:

break;

}

}

if(clock()-Now_Time>=Wait_Time)////蛇到时间自动行走

{

Clear_Snake();

Move_Snake();

Print_Snake();

Now_Time=clock();

}

}

voidInit()///初始化

{

system(title贪吃毛毛蛇);

system("modecon:cols=80lines=25”;

Hide_Cursor();

gotoxy(61,4);

printf("YouScore:");

gotoxy(61,6);

printf("YouLevel:");

gotoxy(61,8);

printf("TheLenght:");

gotoxy(61,10);

printf("TheSpeed:");

gotoxy(61,12);

printf("AppleNum:");

inti;

for(i=0;i<Snake_Len;++i)//生成蛇

Snake[10+i][15]=i+1;

intiy,ix;//打印蛇

for(iy=0;iy<WID;++iy)

for(ix=0;ix<LEN;++ix)

{

if(Snake[ix][iy])

{

SetColor(Snake[ix][iy]);

gotoxy(ix*2,iy);

printf("■");

}

}

}

voidPri_News()///打印信息

{

SetColor(0xe);

gotoxy(73,4);

All_Score+=Level;

printf(%3d”,All_Score);

gotoxy(73,6);

printf(%3d”,Level);

gotoxy(73,8);

printf(%3d”,Snake_Len);

gotoxy(73,10);

printf("0.%3ds",Wait_Time/10);

gotoxy(73,12);

printf("%d",Apple_Num);

}

voidLev_Sys()///等级系统

{

if(((Apple_Num-1)/10)==Level)

{

++Level;

if(Wait_Time>50)

Wait_Time-=50;

else

if(Wait_Time>10)

Wait_Time-=10;

else

Wait_Time-=1;

}

}

intmain(void)

{

Init();

srand((unsigned)time(NULL));///设置随机数的种子

Now_Time=clock();

intspeed1=1000,speed2,a;

printf("\n");

printf(请输入您想要的速度\n");

scanf("%d",&speed2);

Level=1;

Wait_Time=speed1-speed2;

printf(请输入你想要的苹果数\n");

scanf("%d",&a);

while(a--)

Rand_Apple();

while(1)

{

if(Eat_Apple)

{

++Apple_Num;

Rand_Apple();

Lev_Sys();

Pri_News();

}

Get_Input();

Sleep(10);

}

return0;

}

0
回帖

用C语言编写的小游戏代码是什么? 相关回复(1)

风之翼
风之翼
沙发
用C语言编写的小游戏代码示例:猜数字,这款小游戏可以让玩家猜测一个随机生成的数,最终达到一定次数后即可获胜!
3天前 (05-27 22:29)回复00
取消