I am programming a 2d game, and I was wondering what the best data structure would be to store all of the hexagonal tiles in a map class? This is in java.

有帮助吗?

解决方案

Just use a 2D array, but have the "rows" and "columns" at a 60 or 120 degree angle to each other.

My quick ASCII illustration:

0   1   2   3   4   5   6  
  1   2   3   4   5   6  
1   2   3   4   5   6   7
  2   3   4   5   6   7
2   3   4   5   6   7   8
  3   4   5   6   7   8
3   4   5   6   7   8   9

(the numbers are row numbers, the column numbers are obvious...)

Effectively, you want to "stripe" the rows across the columns.

其他提示

Just simple 2D array is good idea, you have all the info you need there :

enter image description here

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top