best way to represent data?
BlitzMax Forums/BlitzMax Beginners Area/best way to represent data?
| ||
What would be the best way of representing this data: a 2d map with 10 x 10 squares in each square a person on each person a sword and a bag in each bag a healing potion thanks |
| ||
Something like this maybe?Global map:Person[10, 10] Type Person Field s:Sword Field b:Bag EndType Type Sword Field dmg:Int EndType Type Bag Field items:Potion[] EndType Type Potion Field healpoints:Int EndType |
| ||
thanks how would I access say, a sword or a potion to read its fields (I never got the hang of types in types before) |
| ||
map[x, y].s.dmg ' < Will give you the damage of the sword at x & y map[x, y].b.items[n].healpoints ' < will give you the hp recovered from that potion (n - potion number) but you will have to create them first: map.b.potion = new int[n] gluck |
| ||
thanks, whats the best way of creating a new person and putting him on the 8,3 square of the map? |
| ||
map[8, 3] = new person |
| ||
Yeah, and to create a new person on every square do map[10, 10] = New Person[10, 10] |
| ||
let me just make sure I understand whats going on MAP is a global array map:person[10,10] is confusing, what relation is the type 'person' to the array 'map'- is it an array of type pointers? same with type person field s:sword is 's' a pointer to the type sword? |
| ||
Yeah, it can only point to an instantiation of the type (or an Extended type from it). |