#### Polski Arrow

##### New member

- Joined
- Dec 1, 2019

- Messages
- 3

- Programming Experience
- Beginner

That's my test code for strategy game in console. There I have to choose area by typing X and Y coordinates. Areas are int variables which can represent empty area (0) ad area with number of pawn (1-25).

How should it work?

When I choose area[x][y] int by typing coordinates, program checks is that area value. If empty (0), program gives error info and repeats question. If value is 1 to 25, program check empty areas around chosen one to give me a choice of way to move.

How it actually works?

When I choose area[x][y], program gives me info message about error no matter I choose empty area or 1-25.

Thanks to all who help me.

Code below:

C#:

```
#include <iostream>
#include <cstdlib>
#include <windows.h>
#include <time.h>
#include <stdio.h>
#include <iomanip>
#include <conio.h>
using namespace std;
int area[15][15];
int armour[15][15];
int damage[15][15];
int soldier[5];
int vehicle[5];
int tank[5];
int cannon[5];
int rocket[5];
int counter, i, x, y;
bool up;
bool down;
bool l;
bool r;
bool lup;
bool rup;
bool ldown;
bool rdown;
int main()
{
for (counter = 0; counter <= 4; counter += 1)
{
soldier[counter] = counter + 1;
vehicle[counter] = counter + 6;
tank[counter] = counter + 11;
cannon[counter] = counter + 16;
rocket[counter] = counter + 21;
}
for (x = 0; x <= 14; x += 1)
{
area[x][13] = 1;
}
for (x = 0; x <= 2; x += 1)
{
area[x][14] = 6;
}
for (x = 3; x <= 4; x += 1)
{
area[x][14] = 11;
}
for (x = 5; x <= 6; x += 1)
{
area[x][14] = 16;
}
area[7][14] = 21;
for (x = 8; x <= 9; x += 1)
{
area[x][14] = 16;
}
for (x = 10; x <= 11; x += 1)
{
area[x][14] = 11;
}
for (x = 12; x <= 14; x += 1)
{
area[x][14] = 6;
}
for (y = 0; y <= 14; y += 1)
{
if (y < 10)
{
cout << "| Y" << y << " |";
}
else
{
cout << "| Y" << y << " |";
}
for (x = 0; x <= 14; x += 1)
{
if (area[x][y] < 10)
{
cout << "| " << area[x][y] << " |";
}
else
{
cout << "| " << area[x][y] << " |";
}
}
cout << endl;
}
cout << endl << " ";
for (x = 0; x <= 14; x += 1)
{
if (x < 10)
{
cout << "| X" << x << " |";
}
else
{
cout << "| X" << x << "|";
}
}
cout << endl << endl;
for (y = 0; y <= 14; y += 1)
{
for (x = 0; x <= 14; x += 1)
{
if (area[x][y] = 0)
{
armour[x][y] = 0;
damage[x][y] = 0;
}
else if (area[x][y] >= 1 && area[x][y] <= 5)
{
armour[x][y] = area[x][y];
damage[x][y] = area[x][y];
}
else if (area[x][y] >= 6 && area[x][y] <= 10)
{
armour[x][y] = (area[x][y] - 6) * 2;
damage[x][y] = (area[x][y] - 6) * 2;
}
else if (area[x][y] >= 11 && area[x][y] <= 15)
{
armour[x][y] = (area[x][y] - 11) * 3;
damage[x][y] = (area[x][y] - 11) * 3;
}
else if (area[x][y] >= 16 && area[x][y] <= 20)
{
armour[x][y] = (area[x][y] - 16) * 4;
damage[x][y] = (area[x][y] - 16) * 4;
}
else if (area[x][y] >= 21 && area[x][y] <= 25)
{
armour[x][y] = (area[x][y] - 21) * 5;
damage[x][y] = (area[x][y] - 21) * 5;
}
}
}
cout << "Choose area (X): ";
cin >> x;
cout << endl;
cout << "Choose area (Y): ";
cin >> y;
cout << endl << endl;
while (area[x][y] == 0)
{
cout << "ERROR! Chosen area can not be equal to 0!" << endl << endl;
cout << "Choose area (X): ";
cin >> x;
cout << endl;
cout << "Choose area (Y): ";
cin >> y;
cout << endl << endl;
}
if (area[x][y] > 0 && area[x][y] <= 20)
{
up = false;
down = false;
l = false;
r = false;
lup = false;
rup = false;
ldown = false;
rdown = false;
if (area[x][y-1] == 0)
{
up = true;
}
if (area[x+1][y-1] == 0)
{
rup = true;
}
if (area[x+1][y] == 0)
{
r = true;
}
if (area[x+1][y+1] == 0)
{
rdown = true;
}
if (area[x][y+1] == 0)
{
down = true;
}
if (area[x-1][y+1] == 0)
{
ldown = true;
}
if (area[x-1][y] == 0)
{
l = true;
}
if (area[x-1][y-1] == 0)
{
lup = true;
}
}
cout << "You can move: " << endl;
if (up == true)
{
cout << "up" << endl;
}
if (rup == true)
{
cout << "up right" << endl;
}
if (r == true)
{
cout << "right" << endl;
}
if (rdown == true)
{
cout << "down right" << endl;
}
if (down == true)
{
cout << "down" << endl;
}
if (ldown == true)
{
cout << "down left" << endl;
}
if (l == true)
{
cout << "left" << endl;
}
if (lup == true)
{
cout << "up left" << endl;
}
return 0;
}
```

Additional info:

Coding program: Code::Blocks v20.03

Chosen language: C++

Compiler: GNU GCC Compiler