Programovanie makier v LibreOffice: Dvojrozmerné polia (2)

LibreOffice 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.   

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

Výsledok makra Výsledok makra



(Jako ve škole) Průměr: 1.67 | Hodnotilo: 3
 

Přidat názor

 

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě. Diskuzi můžete sledovat pomocí RSS kanálu.

 
Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky astrotech.cz. Mám 24 rokov. Čas trávim v IT škole. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.

 

Public Relations

Jak si vybrat spolehlivé online kasino

DNSSECHraní na internetu má mnoho výhod, ale nevyhnete se ani nevýhodám. V dnešní době, kdy existuje tolik casino, se můžete ztratit při výběru té správné a nejvýhodnější. Pro nováčky je často obtížné najít spolehlivou herní platformu, což je přesně to, pro co jsme vytvořili tento článek.
Než začnete hrát, natož vkládat skutečné peníze, vždy si řádně prověřte a přečtěte si odborné recenze online kasin na důvěryhodných webových stránkách. Na první pohled by se mohlo zdát, že všechna online kasina jsou stejná, ale zdaleka tomu tak není. Zjistěme, jaké funkce by mělo mít důvěryhodné online kasino.

Pokračování ...


 
 
woo jaw demo hz