1.目标要求:
1.可以控制飞机上下左右移动和发射子弹
2.有计分,射中靶子分数加一
3.有子弹数,子弹数为0时结束游戏
2.C语言代码:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
/*
《飞机大战》 by:你最珍贵
——————————————————————————————————————
|控制信号: | 上 | 下 | 左 | 右 | 开火 |
——————————————————————————————————————
| 键盘: | i | k | j | l | 空格 |
——————————————————————————————————————
1.最初10颗子弹
2.开火:子弹-1;
3.击中:分数+1;子弹+3;
4.子弹:超过2秒未被击中,子弹会更新位置
5.子弹=0时,游戏结束
*/
int main(){
int Line=8,Column=20,aim_pt = rand()%70+5; //设定默认值:行=8;列=20;靶子位置随机取
int i,j; //i;j;
char contr; //控制信号
int isFired=0,aim=1,cnt=0,bullets=10,time_i=1; // 是否开火;靶子状态:aim=0显示满天星aim=1显示靶子;
//计分器;时间标记,为1重新计时间起始值
time_t time_begin,time_end; //时间开始终止变量 ,time_t是时间的单位long型
double time_cost; //时间差,如果>固定值则更新靶子位置
while( bullets>0 ){
//子弹数>0时,保持程序一直循环
system("cls"); //清屏,每更新一次屏幕,清除上一次屏幕
time(&time_end); //时刻计算时间终止值
time_cost = difftime(time_end,time_begin); //计算时间差(靶子位置不动的时间差)
if( aim==1 && Column+2==aim_pt+2 && isFired