欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

一些语法在游戏开发中的应用

发布时间:2025/3/20 24 豆豆
生活随笔 收集整理的这篇文章主要介绍了 一些语法在游戏开发中的应用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一些语法在游戏开发中的应用

  • 一、减少不必要的全局变量
  • 二、动态二维数组
  • 三、整数转换为字符串输出
  • 四、播放音乐模板

一、减少不必要的全局变量

游戏开发中有些变量只需要在少数函数中传递,修改数值。如果不用指针的话,会造成全局变量过多。

例如下面:

#include<stdio.h> int score=5; void addScore() {score=score+1;} void printfScore() {printf("%d\n",score); } void minusScore() {score=score-1; } int main() {addScore();minusScore();printfScore();return 0; } 上面代码就有一个全局变量, 接下来我们就来尽量的减少不必要的全局变量,让它们变成局部变量。 我们可以用指针作为函数的参数,因为指针可以在函数内部中改变参数的值,减少不必要的全局变量。

改进后的代码如下:

#include<stdio.h> void addScore(int *sc) {*sc=*sc+1;} void printfScore(int sc) {printf("%d\n",sc); } void minusScore(int *sc) {*sc=*sc-1; } int main() {int score=5;addScore(&score);minusScore(&score);printfScore(score);return 0; }

二、动态二维数组

模板代码如下:

#include<stdio.h> #include<stdlib.h> int main(void) {int high,width,i,j;scanf("%d %d",&high,&width);//自定义输入长、宽。//分配动态二维数组的内存空间int **canvas=(int**)malloc(high*sizeof(int*));for(i=0;i<high;i++)canvas[i]=(int*)malloc(width*sizeof(int));for(i=0;i<high;i++)for(j=0;j<width;j++)canvas[i][j]=i+j+1+1;//初始化为坐标之和 for(i=0;i<high;i++){ for(j=0;j<width;j++)printf("%d ",canvas[i][j]);printf("\n");}//回收动态数组的空间for(i=0;i<high;i++)free(canvas[i]);free(canvas);return 0; }

三、整数转换为字符串输出

在图形化编程中只能输出字符串,所以我们要把整数转换为字符串

自己写的转换函数如下:

#include<stdio.h> #include<stdlib.h> void Int2Str(int x,char *istr)//将正整数x转换为字符串istr {char ch,*p,*t;int r;p=t=istr;while(x>0){r=x%10;x=x/10;*p=48+r;p++;}*p='\0';p--;while(t<p)//将p中的字符串倒序排列{ch=*t;*t=*p;*p=ch;t++;p--;} } int main() {char s[30];int score=5326;Int2Str(score,s);printf("%s\n",s);return 0; } 当然我们也可以用系统自带的sprintf函数

例:

int score=56; char s[5]; sprintf(s,"%d",score);

四、播放音乐模板

只播放一次音乐 模板代码如下:

#include<string.h> #include<Windows.h> #include<mmsystem.h> #pragma comment(lib,"Winmm.lib") void PlayMusicOnce(char *fileName) {char cmdString1[50]="open";strcat(cmdString1,fileName);strcat(cmdString1,"alias song");mciSendString("close song",NULL,0,NULL);//先把前面一次的音乐关闭mciSendString(cmdString1,NULL,0,NULL);//打开音乐mciSendString("play song",NULL,0,NULL);//仅播放一次 } int main(void) {PlayMusicOnce(" F:\\1.mp3 ");//输入的是要播放的音乐的路径system("pause");return 0; }

循环播放音乐 模板代码如下:

#include<string.h> #include<Windows.h> #include<mmsystem.h> #pragma comment(lib,"Winmm.lib") void PlayMusicOnce(char *fileName) {char cmdString1[50]="open";strcat(cmdString1,fileName);strcat(cmdString1,"alias song");mciSendString("close song",NULL,0,NULL);//先把前面一次的音乐关闭mciSendString(cmdString1,NULL,0,NULL);//打开音乐mciSendString("play song repeat",NULL,0,NULL);//循环播放 } int main(void) {PlayMusicOnce(" F:\\1.mp3 ");system("pause");return 0; }

总结

以上是生活随笔为你收集整理的一些语法在游戏开发中的应用的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。