Игра «Бой за территорию» на C++: снаряды всегда попадают в x=0 на первом ходу, затем x смещается на +1 каждый ходC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Игра «Бой за территорию» на C++: снаряды всегда попадают в x=0 на первом ходу, затем x смещается на +1 каждый ход

Сообщение Anonymous »

Я делаю простую пошаговую игру «Бой за территорию» на C++, где враги (1) размещаются случайным образом на сетке 10x10. Игрок вводит координаты (x, y), чтобы стрелять. Если в этих координатах есть враг, он помечается как пораженный (2). В противном случае он помечается как промах (3).
Проблема: при первом ходу выстрел всегда попадает в точку x=0, независимо от введенных данных. После этого координата x каждого последующего выстрела кажется смещенной на +1 от введенной.
Пример того, что происходит:
Первый ход: введите (5,5) → выстрел попадает в точку (0,5)
Второй ход: введите (5,5) → выстрел попадает в точку (1,5)
Третий ход: введите (5,5) → выстрел попадает в точку (2,5)
Код:

Код: Выделить всё

#include 
#include 
using namespace std;

int arr[10][10] = {0};  // zeros
int count = 0;

void zapmassiva() {
srand(time(NULL));
int kolvo = 10 + rand() % 5;
for (int i = 0; i < kolvo; i++) {
int stro = rand() % 10;
int stol = rand() % 10;
arr[stro][stol] = 1;
}
}

void vyvodmass() {
system("clear");
cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78053672/c-turf-fight-game-projectiles-always-hit-x-0-on-first-turn-then-x-shifts-by[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»