C语言控制台实现打飞机小游戏

本文实例为大家分享了C语言实现打飞机小游戏的具体代码,供大家参考,具体内容如下

初学C语言总觉得不能做些什么好玩的,这个小游戏只需 “一点点” (千真万确)C语言知识就能完成!
总计不到200行的非空白代码(没有强行压缩行数)

C语言控制台实现打飞机小游戏_第1张图片

操作说明:

1.W、S、A、D 控制 上 、下、左、右 方向,空格 攻击
2.每击中一架敌机增加1分,界面下方显示实时分数
3.撞到敌机后显示 game over! 2.5秒(时间可更改)

  • 子弹连发
  • 移动的同时发射子弹
  • 飞机撞上敌机结束游戏
  • 可通过更改相关变量的值来调节敌机飞行速度、敌机密度、敌机刷新速度等
  • 相比与上一个极度简陋版,功能基本完善

所需C语言知识真的不多,感兴趣的C程序员朋友来复刻吧!

以下是详细注释的源代码:

#include 
#include 
#include 
#include 

#define high 25 //画布高
#define width 60 //画布宽
#define border -1 //边界
#define blank 0 //空白
#define plane 1 //飞机
#define bullet 2 //子弹
#define enemy 3 //敌机
#define destroy 4 //摧毁标记

int canvas[high+2][width+2]; //游戏场景的高和宽
int pos_h, pos_w; //飞机位置
int enemynum; //敌机数量
int interval; //同个计次来模拟时间间隔
int itv_move; //敌机移动的时间间隔
int itv_new; //敌机刷新的时间间隔
int score; //分数
int IsOver; //判断游戏是否结束

void Startup(); //游戏数值初始化
void Show(); //游戏界面输出
void UpdateInput(); //与输入无关的游戏状态更新
void UpdateNormal(); //因输入导致的游戏状态更新

int main(){
 Startup(); //初始化
 while(IsOver){ //游戏循环
 UpdateInput();
 UpdateNormal();

 Show();
 }
 printf("\t\tgame over!\n");
 Sleep(2500); //暂停游戏结束界面(毫秒)
 system("pause");
 return 0;
}
void Startup(){ //游戏数值初始化
 IsOver=1;
 score=0; //初始化分数
 for(int i=0;i1){
 canvas[pos_h][pos_w]=blank;
 if(canvas[pos_h-1][pos_w] == enemy){ //下个位置是敌机,撞毁
 canvas[pos_h-1][pos_w]= destroy;
 IsOver=0;
 }
 else canvas[--pos_h][pos_w]=plane;
 }
 }
 if(key_S<0){ //当按下 S 键,下移
 if(pos_h1){
 canvas[pos_h][pos_w]=blank;
 if(canvas[pos_h][pos_w-1] == enemy){ //下个位置是敌机,撞毁
 canvas[pos_h][pos_w-1]= destroy;
 IsOver=0;
 }
 else canvas[pos_h][--pos_w]=plane;
 }
 }
 if(key_D<0){ //当按下 D 键,右移
 if(pos_w1){
 canvas[i-1][j]=bullet;
 }
 }
 }
 }
 if(interval%itv_new==0) //刚好到时间间隔
 for(int i=0;i 
 

更多有趣的经典小游戏实现专题,分享给大家:

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

java经典小游戏汇总

javascript经典小游戏汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(C语言控制台实现打飞机小游戏)