• Status: Solved
• Priority: Medium
• Security: Public
• Views: 148

# 10 by 10 board

Hey... I am trying to make a board which is sort of like a maze.  It is 10 by 10 and has some blocks in it preventing you from going through.  It's going to be for a game similar to PacMan.  Now, I have a listbox with all of the squares that either you can or cannot go to (your choice, just tell me when you respond).  Now from this list I will need several things done.  I will need to make those squares be a different color than the rest, it can be painted directly on the form.  Then I will also need two other listboxes to be populated with data of allowable moves... one for FROM and one for TO.  So for example, if the player is on box x and can move to the box to the right of it (which means that box x + 1 is an allowable place for the player to be, and it is adjacent to it and not at the beginning of another row), it will do from.additem x and to.additem x + 1.  It should also allow moving down (x and x + 10 when x < 90), up (x and x - 10 when x > 10), and left (x and x - 1 when the square is NOT at the beginning of a row).  Yeah, thats quite a bit but i think that using a few formulae it shouldn't be that hard.

Thanks for taking your time to read, and if you aren't hitting the back button... thanks even more :)
0
cachedVB
• 6
1 Solution

Author Commented:
Will give more points if you ask, but i dont have many more
0

Commented:
I made a game kind of like this in C++ ...i used a 2x2 matrix.. like...

Dim Maze(9, 9) As Long, Board As String

Board = "0  0  0  0  0  0  0  0  0  0" & vbcrlf & _
"0  1  1  1  1  1  1  1  1  0" & vbcrlf & _
"0  1  0  1  0  0  1  0  1  0" & vbcrlf & _
"0  1  0  1  0  0  1  0  1  0" & vbcrlf & _
"0  1  0  1  1  1  1  0  1  0" & vbcrlf & _
"0  1  0  1  1  1  1  0  1  0" & vbcrlf & _
"0  1  0  1  0  0  1  0  1  0" & vbcrlf & _
"0  1  0  1  0  0  1  0  1  0" & vbcrlf & _
"0  1  1  1  1  1  1  1  1  0" & vbcrlf & _
"0  0  0  0  0  0  0  0  0  0"

or so, 1 could be where you can go, 0 where you can't... then just assign the board to the matrix (Maze)

Dim Tmp() As String, Tmp2() As String

Tmp() = Split(Board, vbcrlf)

For x = 0 to ubound(Tmp)
Tmp2() = Split(Tmp(x), "   ")
For y = 0 to ubound(Tmp2)
Maze(x, y) = Tmp2(y)
Next
Next

Then you would just call the next spot for the thing to go, and see if it's a 0 or a 1, if it's a 0, don't go ahead with the move, otherwise go forward...

I just think this is easier than adding all the possible moves to a listbox
0

Author Commented:
that wont really help me because i already have simple ai code and it would be best if we can stick to what i wrote above :)
0

Author Commented:
Me.Show
For i = 0 To List1.ListCount - 1
For x = 0 To List1.ListCount - 1
'check if can go up
If List1.List(x) = List1.List(i) - 3 Then
End If
'checking if can go down
If List1.List(x) = List1.List(i) + 3 Then
End If
'checking if can go right
If List1.List(x) = List1.List(i) + 1 And Not Int((List1.List(i) + 1) / 3) = ((List1.List(i) + 1) / 3) Then
End If
'checking if can go left
If List1.List(x) = List1.List(i) - 1 And Not Int(List1.List(i) / 3) = (List1.List(i) / 3) Then
End If
Next x
Next i
End Sub

well i did the listbox part for you guys, now i just need the coloring.  im SURE this is easy but i dont know how to do it.  Ideally it will be 32 by 32 boxes
0

Author Commented:
Note: Above I only used a 3 by 3 table, but it should work for 10 by 10 so ignore that
0

Author Commented:
I answered my own question... sorry guys.
0

Author Commented:
The solution i used for painting the form was actually an array of labels which on form load i made them gain a loop through the listbox to color them
0

Commented: