基础消灭敌机的小程序
这是一开始写的,比较菜。当然我现在也很菜……emmmm,纯粹做一个记录使用。
实现功能:1 消灭敌机
2 速度减慢
未实现功能:一堆,不列举
缺点: 1 界面闪烁
2 未隐藏光标
提示: 1 可以使用delay和for循环来实现停顿速度减慢
//简单的消除飞机小游戏
#include<stdio.h>
#include<stdlib.h> //清屏
#include<conio.h> //不需要回车
#include <windows.h> //缓慢移动,设置停顿
int main()
{
int i, j;
int x=5, y=0;
char input;
int isfiled = 0;
int iskilled = 0;
int score = 0; //计算分数
srand(time(0));
int nx = rand() % 40 + 4; //为了获取移动靶子设置随机数
int ny = rand() % 40 + 4;
while (1)
{
system("CLS"); //清屏
if (!iskilled) //打中了则靶子消失
{
for (i = 0; i < ny; i++)
printf("\n");
for (j = 0; j < nx; j++) //利用随机数输出靶子
printf(" ");
printf("+\n");
}
else
{
Sleep(20);
for (j = 0; j < nx; j++) //利用随机数输出靶子
printf(" ");
printf("+\n");
}
if (isfiled)
{
for (i = 0; i < y; i++) //输出子弹头,如果输入空格键则输出子弹,若不输入空格,则不输出子弹
{
for (j = 0; j < x; j++)
printf(" ");
printf(" |\n");
if (x + 2 == nx) //判断有无击中靶子
{
iskilled = 1;
score++;
nx = rand() % 40 + 4;
ny = rand() % 40 + 4;
}
isfiled = 0;
}
}
else {
for (i = 0; i < y; i++)
printf("\n");
}
for (j = 0; j < x; j++) //输出一个小飞机
printf(" ");
printf(" *\n");
for (j = 0; j < x; j++)
printf(" ");
printf("*****\n");
for (j = 0; j < x; j++)
printf(" ");
printf(" * *\n");
//scanf_s("%c", &input,1); //输入wasd来控制小飞机上下移动
input = _getch();
if (input == 'a')
x--;
if (input == 'd')
x++;
if (input == 'w')
y--;
if (input == 's')
y++;
if (input == ' ') //通过空格键来实现子弹的发射
isfiled = 1;
printf("score:%d", score);
}
system("pause");
return 0;
}