1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
 
  | 
#include <iostream>
#include <string>
#include <vector>
using namespace std;
#include <windows.h>
struct Projectile
{
    int y,x;
};
const int MAP_SZ=24;
HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
int Counter,Dounter,Thounter;
bool hitted=false;
int ShipCordx=40,ShipCordy=20;
static char Rof=0;
string Holder;
string Ship[]=
{
    "   ^   ",
    " /| |\\ ",
    "/_| |_\\",
    "  /*\\  "
};
string EShip[]=
{
	"   .---.   ",
	" _/__~0_\\_ ",
	"(_________)",
};
struct ESpaceShip
{
	int y,x;
	int health;
	char direction;
	bool IsHit(int ycoord,int xcoord)
	{
		if(xcoord>=x && xcoord<=x+10)
			if(ycoord>=y && ycoord<=y+2)
				return (EShip[ycoord-y][xcoord-x]!=' ');
		return false;
	}
};
vector<ESpaceShip> EnemyShips;
ESpaceShip NewShip;
string StarField[]=
{
    " .                            .                                                 ",
    "                                                                                ",
    "                                                                        .       ",
    "                                        .                                       ",
    "           .     .            .                                                 ",
    "                                                                                ",
    "                                 .               .                              ",
    "         .                                                                      ",
    "                  .                        .                 .        .         ",
    "                                                                                ",
    "                                                                                ",
    "   .                         .                                                  ",
    "                       .                                             .          ",
    "                                         .                    .                 ",
    "                         .                    .                                 ",
    "                                                                                ",
    "                       .                                                        ",
    "                                       .                                        ",
    "                                                                                ",
    "          .                  .                                                  ",
    "                                                                                ",
    "                                              .                                  ",
    "                                                                                ",
    "             .                         .                .              .        ",
    "                                                                                ",
    "    .                                                                           ",
    "                           .           .                                        ",
    "              .                                                                 ",
    "                                                                          .     ",
    "                                                                                ",
    "                                                                                ",
    "   .                                                                            ",
    "                               .                                                ",
    "                                              .                        .        ",
    "                                                        .                       ",
    "                      .                                                         ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                        .               .       ",
    "   .                                                                            ",
    "                  .                                                              ",
    "                                        .                                       ",
    "                                                                                ",
    "                                  .                                             "
};
string Map[MAP_SZ]=
{
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
    "                                                                                ",
};
vector<Projectile> PlayerProjectiles;
vector<Projectile> EnemyProjectiles;
Projectile Shoot;
void Afisare()
{
    for(Counter=0;Counter<MAP_SZ;Counter++)
        cout<<Map[Counter]<<endl;
}
void Controale()
{
    if(GetAsyncKeyState(VK_RIGHT))
        if(ShipCordx!=73)
            ShipCordx++;
    if(GetAsyncKeyState(VK_LEFT))
        if(ShipCordx!=0)
            ShipCordx--;
    if(GetAsyncKeyState(VK_DOWN))
         if(ShipCordy!=20)
            ShipCordy++;
    if(GetAsyncKeyState(VK_UP))
        if(ShipCordy!=1)
            ShipCordy--;
    if(!GetAsyncKeyState(VK_SPACE)) Rof=3;
    if(GetAsyncKeyState(VK_SPACE))
        if(Rof++ %3==0)
    {
        Shoot.x=ShipCordx+1;Shoot.y=ShipCordy;
        if(Shoot.y>0)
        PlayerProjectiles.push_back(Shoot);
		Shoot.x=ShipCordx+5;Shoot.y=ShipCordy;
		if(Shoot.y>0)
		PlayerProjectiles.push_back(Shoot);
    }
}
  |  |