Tworzyłem grę ze studiem XNA i teraz chcę przepisać ją na Javie. To jest jak klon 2D Minecrafta. Aby wykryć kolizję, muszę przechodzić przez wszystkie bloki w grze, aby sprawdzić, czy gracz koliduje z blokiem. Przy dużej liczbie bloków nie można tego zrobić, więc stworzyłem system siatki. Podzieliłem świat na siatki zawierające bloki i umieściłem je w słowniku.Słownik Javy <String, List <Object>>
Dictionary<string, List<Block>> gameBlocks;
Teraz muszę tylko przechodzić przez bloki w bieżącej siatce.
Jest to metoda, aby zarejestrować blok:
public void RegisterBlock(Block block)
{
idX = (int)(block.blockPosition.X/width);
idY = (int)(block.blockPosition.Y/height);
string id = idX.ToString() + "_" + idY.ToString();
if (gameBlocks.ContainsKey(id))
{
gameBlocks[id].Add(block);
}
else
{
gameBlocks.Add(id, new List<Block>());
gameBlocks[id].Add(block);
}
}
Teraz próbuję przepisać go w Javie, ale nie wiem jak umieścić coś w słowniku.