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