Не могу решить проблему - увеличение количества румян в моей игре внутри цикла for - игрок, который запускает команду, кPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Не могу решить проблему - увеличение количества румян в моей игре внутри цикла for - игрок, который запускает команду, к

Сообщение Anonymous »

Хорошо, я знаю, знаю. Игра действительно старая, код херня, сервер работает на баклажане с облезшей шкуркой, бла-бла-бла. Ему нужна свежая заправка к салату-латуку, йада-яда.
Вот ситуация. Игрок, в данном случае blueguyz, отдает команду под названием «подавить повстанцев».
В этом случае игрок выталкивает 34 повстанцев с квадрата 43.
Это означает, что 34 повстанца покидают квадрат. и случайным образом распределяются по другим квадратам.
Проблема в том, что у игрока, который управляет командой, количество повстанцев резко увеличивается.
Есть 2 таблицы - Игроки и Квадраты. Ошибка возникает в таблице Players.
КАК это происходит?
КАК количество повстанцев blueguyz превышает 1600?
Счет должно быть очень низким, например, менее 50.
Любая помощь приветствуется!

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

$totalSquares = 44; // number increases as grid expands
$multipliedRebs = 34; // this number could be up to 50

// determine squares to place the new rebels
for ($i = 0; $i < $multipliedRebs; $i++)
{
$randSquares[$i] = rand(1, $totalSquares);
$squareList .= $randSquares[$i] . ", ";

// id of player of square affected from Square's table
$args = runQuery(" FROM Squares WHERE id = '$randSquares[$i]'", "owner,rebels,ownerId,farms,cities,units,permanent", false, false);
$values = explode(",", $args);
$p2Name = $values[0];
$p2Rebels = $values[1];
$p2OwnerId = $values[2];
$p2Farms = $values[3];
$p2Cities = $values[4];
$p2Units = $values[5];
$p2Permanent = $values[6];

if ($p2Rebels < 100) {

// id of player affected from Player's table
$args = runQuery(" FROM Players WHERE id = '$p2OwnerId'", "name,rebels,color,borderColor,id", false, false);
$values = explode(",", $args);
$p2NameP = $values[0];
$p2RebelsP = $values[1];
$p2ColorP = $values[2];
$p2BorderColorP = $values[3];
$p2IdP = $values[4];

if ($p2IdP == "")
{
$logMessage .= " Sorry. there was a system error. Please try the command again.";
$failed = true;
break;
}

// update Squares table
$p2Rebels += 1;
$sql = "UPDATE Squares SET rebels = '$p2Rebels' WHERE id = '$randSquares[$i]'";
if (!mysql_query($sql))
$textObj->logError($sql);

// update Players table
// THIS IS WHERE THE PLAYER WHO ISSUES COMMAND IS GETTING A HUGE NUMBER OF REBELS
$p2RebelsP += 1;
$sql = "UPDATE Players SET rebels = '$p2RebelsP' WHERE id = '$p2IdP'";
if (!mysql_query($sql))
$textObj->logError($sql);

}
}
Нужна иллюстрация получше? Перейдите сюда http://codeelf.com/games/the-grid-2/grid/
Я не вижу в коде ничего плохого.
$p2RebelsP += 1; // на каждой итерации просто добавляется 1 повстанец, верно? Введите здесь описание изображения

Подробнее здесь: https://stackoverflow.com/questions/790 ... a-for-loop
Ответить

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

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

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

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

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