https://simmer.io/@JammerLamma/~c09dd45e-0528-01ce-e641-e4a56fb9cfed
https://github.com/JammerLamma/Number-Muncher-Clone
Я создаю клон числовых мунчеров, и целочисленные переменные не назначаются должным образом.Он работает в нескольких играх, но после нескольких выигрышей и / или нажатия кнопки «Выйти» и выбора другой игры кажется, что цикл for проходит правильно.Игра говорит, что есть 5 maxCorrect, и correctOnBoard также установлено на 5, поэтому я предполагаю, что цикл проходит 5 раз, однако только 4 плитки устанавливаются как правильные, затем иногда 2 или 4, но никогда 5 снова.Он всегда работает так, как задумано в первой игре.
Если я закомментирую // AssignRest ();проблема все еще сохраняется.
public void GenerateEven()
{
//GameObject smasher = Instantiate(smasherPF, transform.position, transform.rotation);
remainingNumbers = totalTiles - maxCorrect;
GetLists();
GetTiles();
AssignEven();
RemoveDuplicates(evenNumbers);
AssignRest();
}
private void AssignEven()
{
int maxCorrect = 5;
for (int i = 1; i <= maxCorrect; i++)
{
randomChild = children[UnityEngine.Random.Range(0, children.Count)];
int maxLength = evenNumbers.Count;
int tempTileNum = evenNumbers[UnityEngine.Random.Range(0, maxLength)];
randomChild.GetComponent<Tile>()._TileNumber = tempTileNum;
randomChild.GetComponent<Tile>()._IsCorrect = true;
correctOnBoard++;
randomChild.GetComponent<SpriteRenderer>().sprite = numberSprite[tempTileNum - 1];
Debug.Log(tempTileNum);
}
}
Некоторые вещи сериализуются для целей отладки.Все списки генерируются правильно.