Author |
Message |
RedRogueXIII
|
Posted: Sat Nov 12, 2005 2:21 pm Post subject: Quick Question about Saving Grid Positions. |
|
|
I'm trying to do A* pathfinding for a grid but I'm completely blank on how to save the x and y positions to a 2dimensional array. I'll post my code on request but I really haven't started on the pathfinding yet. im stuck |
|
|
|
|
|
Sponsor Sponsor
|
|
|
Cervantes
|
Posted: Sat Nov 12, 2005 3:16 pm Post subject: (No subject) |
|
|
Think of the 2D array as a cartesian coordinate system. Each point on a cartesian grid is defined by two values: a value in each of the axes. Similarly, you can plot a maze or such onto a 2D array.
For some source code, check out a grid system basis in [Turing Source Code]. |
|
|
|
|
|
do_pete
|
Posted: Mon Nov 14, 2005 11:22 am Post subject: (No subject) |
|
|
you could go:
code: | coordinates(x,y):=1 |
|
|
|
|
|
|
RedRogueXIII
|
Posted: Tue Nov 15, 2005 7:06 pm Post subject: (No subject) |
|
|
took the easy way and just made two seperate arrays.
var setx, sety:array 1..* of int
so much easier if you think about it. |
|
|
|
|
|
GlobeTrotter
|
Posted: Tue Nov 15, 2005 8:10 pm Post subject: (No subject) |
|
|
RedRogueXIII wrote: took the easy way and just made two seperate arrays.
var setx, sety:array 1..* of int
so much easier if you think about it.
Doesn't make sense. Two arrays, one for x, one for y, cannot replace a 2-D array. For example, if you have a 10x12 space, stored in a 2-D array, that's 120 elements. If you had two arrays, one 10 and one 12 that's only 22 elements. You would need 12 arrays each of 10 instead of a 2-D. |
|
|
|
|
|
Cervantes
|
Posted: Tue Nov 15, 2005 8:14 pm Post subject: (No subject) |
|
|
I must not understand what you're trying to do, because that definately wouldn't work for what I'm thinking of.
You said "pathfinding for a grid". That implies that you have a grid. The grid is not composed of an x axis and a y axis, as you seem to have set up here. No, it is a 2 dimensional plane.
Say your grid was 10 units wide and 10 units high. The system you've got set up there would allow you to store 20 (= 10 + 10) pieces of data on the grid spaces. But there's a problem: there are 100 (=10*10) spots on this grid.
Regardless, you shouldn't do setx and sety, you should make a set record:
code: |
var set : array 1 .. * of
record
x, y : int
end record
|
There's a tutorial in [Turing Tutorials] on records and types. Check the Turing Walkthrough for a link. |
|
|
|
|
|
GlobeTrotter
|
Posted: Tue Nov 15, 2005 8:40 pm Post subject: (No subject) |
|
|
Cervantes, I don't think he would need records. From what I understand of A*, it requires a 2-D array of boolean depicting what areas are traversable. |
|
|
|
|
|
MysticVegeta
|
Posted: Wed Nov 16, 2005 7:29 pm Post subject: (No subject) |
|
|
Isnt Pathfinding more got to do with Recursions than 2D arrays? Or am I wrong about what I think hes doing? |
|
|
|
|
|
Sponsor Sponsor
|
|
|
Cervantes
|
Posted: Wed Nov 16, 2005 7:45 pm Post subject: (No subject) |
|
|
GlobeTrotter wrote: Cervantes, I don't think he would need records. From what I understand of A*, it requires a 2-D array of boolean depicting what areas are traversable.
I'm aware. I was referring to the snippet of code he posted, and nothing else.
MysticVegeta wrote: Isnt Pathfinding more got to do with Recursions than 2D arrays? Or am I wrong about what I think hes doing?
It would use both, though recursion is the more complex concept of the two. |
|
|
|
|
|
MysticVegeta
|
Posted: Wed Nov 16, 2005 7:49 pm Post subject: (No subject) |
|
|
I dont see how assigning the grid elements to a 2D array is a complex part..? |
|
|
|
|
|
Cervantes
|
Posted: Wed Nov 16, 2005 8:32 pm Post subject: (No subject) |
|
|
Hence why I said recursion was the harder of the two.
But MysticVegeta: You can't define, in absolute terms, the difficulty of a task. The universe is perceived differently by different observers. This fact extends from Einstein to basic social situations such as this. |
|
|
|
|
|
MysticVegeta
|
Posted: Wed Nov 16, 2005 10:38 pm Post subject: (No subject) |
|
|
yeah it was dumb of me to say that lol
PathFinding can sometimes really be a pain, except for zylum that is. Those recursion trees are so confusing.... |
|
|
|
|
|
|