1.目标要求:
1.击中目标,分数加1
2.分数多20【分数梯度】分,难度增加一个等级
3.飞机碰到目标时,游戏结束
2.C语言代码:
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
#define bullets_num 15//同一屏幕可存在的子弹数量
#define aim_num 4//同一屏幕可存在的目标数量
#define level_difference 20 //每等级的【分数梯度】
/*
《飞机大战_模块化》 by:你最珍贵
———————————————————————
|控制信号: | 上 | 下 | 左 | 右 | 开火 | 暂停 |
———————————————————————
| 键盘: | i | k | j | l | 空格 | z |
———————————————————————
1.击中目标,分数加1
2.分数多20【分数梯度】分,难度增加一个等级
3.飞机碰到目标时,游戏结束
*/
int line,column; //显示屏幕行列
int aircraft_x,aircraft_y; //飞机位置
int bullets_x[bullets_num+1]={
0};
int bullets_y[bullets_num+1]; //子弹位置,同一屏幕最多可存在bullets_num个子弹{1~bullets_num else0}
int aim_x[aim_num+1]={
0};
int aim_y[aim_num+1]; //目标位置,同一屏幕最多可存在aim_num个目标{1~aim_num else0};
int aim_speed_num,aim_speed;//目标下落速度之变量,目标下落速度
int scores;//分数
int IsKnock;//是否被撞
int level;//难度等级
void HideCursor(){
//隐藏光标位置 ,这个函数复制代码就行
CONSOLE_CURSOR_INFO cursor_info={
1,0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
}
void gotoxy(int x,int y){
//把光标放在(0,0)位置 ,这个函数复制代码就行
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(handle,pos);
}
void startup(){
//数据初始化
int i;
HideCursor(); //隐藏光标功能
line=22,column=78;//可移动屏幕大小
aircraft_x = line/2,aircraft_y = column/2;//飞机初始位置
for(i=1;i<=aim_num;i++){
aim_y[i]=rand()%column+1;</