最近痴迷于使用纯C编写小游戏,编程方法较为简单,主要思路就是
1、清屏
2、对桌面二维数组赋值
3、将数组使用printf一个字节一个字节打印出来
4、控制输入判断、变量赋值和参数修改
5、延时(非必要,也可以根据键盘响应来进行1-4操作)
大家也可以根据这个思路进行简单的纯C小游戏编程。
下面分享一个简单的桌面弹球小游戏,界面如下:
源码下载地址:
桌面弹球游戏点击下载
定义桌面高度和宽度
#define HEIGHT 20#define WIDTH 40//桌面高和宽
定义桌面数组
int ball_desk[HEIGHT][WIDTH];//弹球桌面数组
绘制桌面,输入小球的x、y坐标
void interball(int x,int y)//桌面数组更新赋值,输入小球的x、y坐标{for(int i=0;i<HEIGHT;i++)//遍历高度{for(int j=0;j<WIDTH;j++)//遍历宽度{if((i==x)&&(j==y))//在小球位置赋值O{ball_desk[i][j]='O';}else if(i==0||i==(HEIGHT-1))//上下边缘赋值-{ball_desk[i][j]='-';}else if(j==0||j==(WIDTH-1))//左右边缘赋值|{ball_desk[i][j]='|';}else//其它位置空{ball_desk[i][j]=' '; }}}}
主函数
int main(){int i,j;int x=0,y=5;int v_x=1,v_y=1;while(1){x=v_x+x;y=v_y+y;//更新小球位置system("cls");interball(x,y);for(int i=0;i<HEIGHT;i++){for(int j=0;j<WIDTH;j++){printf("%c", ball_desk[i][j]);//将数组显示在桌面上}printf("\n");}if(y==0||y==WIDTH)//判断当小球位置到达左右边缘,速度y取反{v_y=-1*v_y;}if(x==0||x==HEIGHT)//判断小球位置到达上下边缘,速度x取反{v_x=-1*v_x;}}return 0;}
弹球源码:
Bouncing ball.c
/** Bouncing ball小游戏** \作者:Dog语言* \文件:interface.c* \日期:-8-18* \版本:V1.0.0**/#include<stdio.h>#include<windows.h>#define HEIGHT 20#define WIDTH 40//桌面高和宽int ball_desk[HEIGHT][WIDTH];//弹球桌面数组void interball(int x,int y)//桌面数组更新赋值,输入小球的x、y坐标{for(int i=0;i<HEIGHT;i++)//遍历高度{for(int j=0;j<WIDTH;j++)//遍历宽度{if((i==x)&&(j==y))//在小球位置赋值O{ball_desk[i][j]='O';}else if(i==0||i==(HEIGHT-1))//上下边缘赋值-{ball_desk[i][j]='-';}else if(j==0||j==(WIDTH-1))//左右边缘赋值|{ball_desk[i][j]='|';}else//其它位置空{ball_desk[i][j]=' '; }}}}int main(){int i,j;int x=0,y=5;int v_x=1,v_y=1;while(1){x=v_x+x;y=v_y+y;//更新小球位置system("cls");interball(x,y);for(int i=0;i<HEIGHT;i++){for(int j=0;j<WIDTH;j++){printf("%c", ball_desk[i][j]);//将数组显示在桌面上}printf("\n");}if(y==0||y==WIDTH)//判断当小球位置到达左右边缘,速度y取反{v_y=-1*v_y;}if(x==0||x==HEIGHT)//判断小球位置到达上下边缘,速度x取反{v_x=-1*v_x;}}return 0;}
如果觉得《纯C语言编程-游戏之弹跳球》对你有帮助,请点赞、收藏,并留下你的观点哦!