制作不易,亲点个赞吧!!
代码:
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
const int WIDTH = 40;
const int HEIGHT = 20;
int planeX, planeY;
int bulletX, bulletY;
int enemyX, enemyY;
int score;
void Setup()
{
planeX = WIDTH / 2;
planeY = HEIGHT - 1;
bulletX = planeX;
bulletY = planeY - 1;
enemyX = rand() % WIDTH;
enemyY = 0;
score = 0;
}
void Draw()
{
system("cls");
for (int i = 0; i < WIDTH + 2; i++)
cout << "#";
cout << endl;
for (int y = 0; y < HEIGHT; y++)
{
for (int x = 0; x < WIDTH; x++)
{
if (x == 0 || x == WIDTH - 1)
cout << "#";
else if (x == planeX && y == planeY)
cout << "^";
else if (x == bulletX && y == bulletY)
cout << "|";
else if (x == enemyX && y == enemyY)
cout << "*";
else
cout << " ";
}
cout << endl;
}
for (int i = 0; i < WIDTH + 2; i++)
cout << "#";
cout << endl;
cout << "Score: " << score << endl;
}
void Input()
{
if (_kbhit())
{
char key = _getch();
switch (key)
{
case 'a':
planeX--;
break;
case 'd':
planeX++;
break;
case ' ':
bulletX = planeX;
bulletY = planeY - 1;
break;
case 'x':
exit(0);
}
}
}
void Logic()
{
bulletY--;
if (bulletY < 0)
{
bulletX = planeX;
bulletY = planeY - 1;
}
enemyY++;
if (enemyY >= HEIGHT)
{
enemyX = rand() % WIDTH;
enemyY = 0;
score++;
}
if (bulletX == enemyX && bulletY == enemyY)
{
enemyX = rand() % WIDTH;
enemyY = 0;
score++;
bulletX = planeX;
bulletY = planeY - 1;
}
if (planeX < 0)
planeX = 0;
else if (planeX >= WIDTH)
planeX = WIDTH - 1;
}
int main()
{
Setup();
while (true)
{
Draw();
Input();
Logic();
Sleep(50);
}
return 0;
}