300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 如何编程代码游戏 用C语言编写的小游戏代码是什么 – 游戏开发 – 前端

如何编程代码游戏 用C语言编写的小游戏代码是什么 – 游戏开发 – 前端

时间:2022-12-15 17:57:25

相关推荐

如何编程代码游戏 用C语言编写的小游戏代码是什么 – 游戏开发 – 前端

#include<stdio.h>

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

#include<conio.h>

//用户通过按键盘产生的对应操作(控制台)

#include<stdlib.h>

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

#defineLEN30

#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);//oxf代表分配的内存地址setcolor: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())

{

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;

}

如何编写程序代码表格?

1、打开excel软件,点击左上角“文件”;

2、点击选项;

3、在excel选项界面点击自定义功能区,勾选开发工具,点击确定;

4、开启开发工具后就可以在主菜单上看到开发工具选项卡了,需要打开VBA就在开发工具选项卡点击visual basic即可;

5、写一个简单代码,在VBA窗口选择插入-模块,新建一个模块。点击模块1,在右边编辑框输入代码;

6、代码编写完成后,在Excel界面上点击开发工具–宏–选择名字a–执行,即可执行a代码;运行完成后,A1的内就变成了“这是偶的第一个代码”。

可以用最通俗的语言告诉偶程序员敲的一行行代码怎么变成一个个游戏?

“程序”这个词,可以翻译成“方法”或“步骤”,例如:张三丰同志符合组织程序,升任武当派掌门。

现在你明白“程序”这两个字的意思了吧。

现在说说你的问题,代码如何变成游戏,用俄罗斯方块举例:

1、这个游戏首先需要一个个形状各异的方块,咱们把它称为基础素材,需要让作图的美工把这些图片一个个做出来,就好像零件一样放到一个类似文件夹的地方待用。(开发行业称之为:资源包,资源包可不止几个图片,有可能还有文字稿、视频、音频等)

2、抛开游戏不谈,你有没有想过,为什么鼠标指针会跟着你控制动?为什么你按下键盘屏幕上会有字?为什么屏幕会根据你控制而显示不同的画面?其实这都是操作系统(暂时狭义的理解为Windows)在帮你工作。

它通过硬件输入设备(键盘、鼠标)得到你操作的意图,然后指挥输出设备(显示器),把结果告诉你。

3、第二部分概念如果你理解了,那么咱们回到这个该死的游戏话题:所有的程序员开发软件都无需理会如何让鼠标运动、如何让键盘工作,因为这部分工作操作系统帮你干了,操作系统的开发商会公布一本书,上面告诉你在开发的时候如何通过一串文本代码控制设备工作。

例如:在你不碰电脑的情况下,执行代码后——让你的鼠标移动下、屏幕亮一下、音箱响一下等等。

这本书大家叫开发手册或api手册,它把操作系统每个角落,可以控制地方的对应编码都写的明明白白,每一个控制区大家暂时把它称为:接口

例如:你在某种开发环境下输入message.show

就会弹出一个Windows标准样式的警告框。(开发环境指的是供程序员编写代码的工作界面,类似于打字员用word一样。)

同理:这些代码也只能在对应语法的开发环境下有效,你把这个代码写在word里,肯定是不能执行的,也就弹不出那个警告框。所谓的“对应语法”,是因为现在的开发语言很多,例如c语言代码也只能在C语言的开发环境下运行,Java语言也只能在Java环境下运行。

上面道理如果都明白的话,现在大家编写这个俄罗斯方块的程序:

方块下落:缓缓下落,需要调用到一个时间控制器接口,让它在每500毫秒(也就是半秒),把方块在屏幕的坐标位置更新一下,这样你的肉眼就会觉得方块有下落效果。

方块转向:需要用一个键盘控制器接口,操作系统开始侦听你的键盘动作,得到按键动作后,把用户按了哪个键告诉你这个程序,程序得到具体按键后,根据你预设的条件将方块图片旋转x个角度。

例如:你预设w键左转90° e键右转90°

程序员就是这样一行行代码实现的游戏。

最后游戏开发完毕,进行“编译”操作,这个代码就可以脱离开发环境,在其他电脑上运行了。

最后的话:你知道一件事如何去办,那你就等于知道干这件事的方法(程序)。你用word打印一篇工作流程,这其实就是给人看的程序。如果你用代码把这个流程描述出来,它就是电脑程序。

给人看的流程文件,有时候根据人不同而描述的详细程度不同,

例如:你让你爱人下楼取快递,只需要说“芷若,下楼帮偶取快递”即可。

如果你让你儿子下楼取快递,可能会说:“儿子,下楼取快递,顺丰的、白色车子,快去快回,不许顺路找小红”

电脑程序面对各式各样的人群(甚至有不怀好意的黑客),所以一个优秀的程序员,编写程序就好比你对儿子下达任务一样,需要描述的维度尽可能广,限制性住一切可能产生的隐患。

西安五语全栈程序员 友情回复

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。