Simulácia pohybu hráča
Našou víziou je využiť dvojrozmerné polia v už naprogramovanom makre v tomto dieli. Vykreslenie pohybu hráča nebude len obyčajné nasekanie veci do reťazca, ale interaktívnejšim spôsobom s pomocou dvojrozmerných polí. Ok, poďme nato!
1. program: Interaktívnejšia simulácia pohybu hráča
Sub pohyb REM začiatok procedúry
Dim pocetKrokov As Integer REM deklaracie premennych
Dim smer As Integer
Dim nultaPozicia As String
Dim vykreslenePole As String
Dim smerSlovom As String
Dim test As Integer
Dim vychodziaPoloha(1 To 7, 1 To 7)
Dim dvojPole(1 To 7, 1 To 7)
pocetKrokov = Int((3-1+1)*Rnd+1) REM pohyb je zalozeny na nahode
smer = Int((4-1+1)*Rnd+1)
REM ideme vykreslit pohyb
For i = 1 To 7
For j = 1 To 7
If (i = 4 AND j = 4) Then
vychodziaPoloha(i, j) = "+"
Else vychodziaPoloha(i, j) = "*"
End If
Next
Next
If smer = 1 Then
If pocetKrokov = 1 Then
For i = 1 To 7
For j = 1 To 7
If (i = 3 AND j = 4) Then
dvojPole(i, j) = "+"
Else dvojPole(i, j) = "*"
End If
Next
Next
End If
End If
If smer = 1 Then
If pocetKrokov = 2 Then
For i = 1 To 7
For j = 1 To 7
If (i = 2 AND j = 4) Then
dvojPole(i, j) = "+"
Else dvojPole(i, j) = "*"
End If
Next
Next
End If
End If
If smer = 1 Then
If pocetKrokov = 3 Then
For i = 1 To 7
For j = 1 To 7
If (i = 1 AND j = 4) Then
dvojPole(i, j) = "+"
Else dvojPole(i, j) = "*"
End If
Next
Next
End If
End If
If smer = 2 Then
If pocetKrokov = 1 Then
For i = 1 To 7
For j = 1 To 7
If (i = 4 AND j = 5) Then
dvojPole(i, j) = "+"
Else dvojPole(i, j) = "*"
End If
Next
Next
End If
End If
If smer = 2 Then
If pocetKrokov = 2 Then
For i = 1 To 7
For j = 1 To 7
If (i = 4 AND j = 6) Then
dvojPole(i, j) = "+"
Else dvojPole(i, j) = "*"
End If
Next
Next
End If
End If
If smer = 2 Then
If pocetKrokov = 3 Then
For i = 1 To 7
For j = 1 To 7
If (i = 4 AND j = 7) Then
dvojPole(i, j) = "+"
Else dvojPole(i, j) = "*"
End If
Next
Next
End If
End If
If smer = 3 Then
If pocetKrokov = 1 Then
For i = 1 To 7
For j = 1 To 7
If (i = 5 AND j = 4) Then
dvojPole(i, j) = "+"
Else dvojPole(i, j) = "*"
End If
Next
Next
End If
End If
If smer = 3 Then
If pocetKrokov = 2 Then
For i = 1 To 7
For j = 1 To 7
If (i = 6 AND j = 4) Then
dvojPole(i, j) = "+"
Else dvojPole(i, j) = "*"
End If
Next
Next
End If
End If
If smer = 3 Then
If pocetKrokov = 3 Then
For i = 1 To 7
For j = 1 To 7
If (i = 7 AND j = 4) Then
dvojPole(i, j) = "+"
Else dvojPole(i, j) = "*"
End If
Next
Next
End If
End If
If smer = 4 Then
If pocetKrokov = 1 Then
For i = 1 To 7
For j = 1 To 7
If (i = 4 AND j = 3) Then
dvojPole(i, j) = "+"
Else dvojPole(i, j) = "*"
End If
Next
Next
End If
End If
If smer = 4 Then
If pocetKrokov = 2 Then
For i = 1 To 7
For j = 1 To 7
If (i = 4 AND j = 2) Then
dvojPole(i, j) = "+"
Else dvojPole(i, j) = "*"
End If
Next
Next
End If
End If
If smer = 4 Then
If pocetKrokov = 3 Then
For i = 1 To 7
For j = 1 To 7
If (i = 4 AND j = 1) Then
dvojPole(i, j) = "+"
Else dvojPole(i, j) = "*"
End If
Next
Next
End If
End If
If smer = 1 Then
smerSlovom = "sever"
End If
If smer = 2 Then
smerSlovom = "východ"
End If
If smer = 3 Then
smerSlovom = "juh"
End If
If smer = 4 Then
smerSlovom = "západ"
End If
nultaPozicia = vychodziaPoloha(1,1) & vychodziaPoloha(1,2) & vychodziaPoloha(1,3) & vychodziaPoloha(1,4) & vychodziaPoloha(1,5) & vychodziaPoloha(1,6) & vychodziaPoloha(1,7) & Chr(10) & vychodziaPoloha(2,1) & vychodziaPoloha(2,2) & vychodziaPoloha(2,3) & vychodziaPoloha(2,4) & vychodziaPoloha(2,5) & vychodziaPoloha(2,6) & vychodziaPoloha(2,7) & Chr(10) & vychodziaPoloha(3,1) & vychodziaPoloha(3,2) & vychodziaPoloha(3,3) & vychodziaPoloha(3,4) & vychodziaPoloha(3,5) & vychodziaPoloha(3,6) & vychodziaPoloha(3,7) & Chr(10) & vychodziaPoloha(4,1) & vychodziaPoloha(4,2) & vychodziaPoloha(4,3) & vychodziaPoloha(4,4) & vychodziaPoloha(4,5) & vychodziaPoloha(4,6) & vychodziaPoloha(4,7) & Chr(10) & vychodziaPoloha(5,1) & vychodziaPoloha(5,2) & vychodziaPoloha(5,3) & vychodziaPoloha(5,4) & vychodziaPoloha(5,5) & vychodziaPoloha(5,6) & vychodziaPoloha(5,7) & Chr(10) & vychodziaPoloha(6,1) & vychodziaPoloha(6,2) & vychodziaPoloha(6,3) & vychodziaPoloha(6,4) & vychodziaPoloha(6,5) & vychodziaPoloha(6,6) & vychodziaPoloha(6,7) & Chr(10) & vychodziaPoloha(7,1) & vychodziaPoloha(7,2) & vychodziaPoloha(7,3) & vychodziaPoloha(7,4) & vychodziaPoloha(7,5) & vychodziaPoloha(7,6) & vychodziaPoloha(7,7)
vykreslenePole = dvojPole(1,1) & dvojPole(1,2) & dvojPole(1,3) & dvojPole(1,4) & dvojPole(1,5) & dvojPole(1,6) & dvojPole(1,7) & Chr(10) & dvojPole(2,1) & dvojPole(2,2) & dvojPole(2,3) & dvojPole(2,4) & dvojPole(2,5) & dvojPole(2,6) & dvojPole(2,7) & Chr(10) & dvojPole(3,1) & dvojPole(3,2) & dvojPole(3,3) & dvojPole(3,4) & dvojPole(3,5) & dvojPole(3,6) & dvojPole(3,7) & Chr(10) & dvojPole(4,1) & dvojPole(4,2) & dvojPole(4,3) & dvojPole(4,4) & dvojPole(4,5) & dvojPole(4,6) & dvojPole(4,7) & Chr(10) & dvojPole(5,1) & dvojPole(5,2) & dvojPole(5,3) & dvojPole(5,4) & dvojPole(5,5) & dvojPole(5,6) & dvojPole(5,7) & Chr(10) & dvojPole(6,1) & dvojPole(6,2) & dvojPole(6,3) & dvojPole(6,4) & dvojPole(6,5) & dvojPole(6,6) & dvojPole(6,7) & Chr(10) & dvojPole(7,1) & dvojPole(7,2) & dvojPole(7,3) & dvojPole(7,4) & dvojPole(7,5) & dvojPole(7,6) & dvojPole(7,7)
REM a všetko to vypíšeme
MsgBox "Začiatočná pozícia" & Chr(10) & Chr(10) & nultaPozicia & Chr(10) & Chr(10) & "Smer: " & smerSlovom & Chr(10) & "Počet krokov: " & pocetKrokov & Chr(10) & Chr(10) & vykreslenePole
End Sub REM koniec procedúry
Pokračujeme v predstavovaní dvojrozmerných polí a to s využitim v nejakej zvolenej aplikácii. V minulom diele bola
zvolená aplikácia hod kocky, tentoraz dvojrozmerné polia nasadíme v simulácii pohybu hráča.









