audiotrack píše:
tlacitko Enter: teraz mi povedz čo tým získaš? je to rovnako neefektívne ako keď prekresluje bod. Jednoducho zvolí súradnicu bodu, pozre sa do matice na pozíciu a[x,y] a ak tam je true tak zvolí inú pozíciu a toto stále opakuje (ale zase ju volí náhodne tak zase môže zvoliť obsadenú). Teoreticky je to to isté ako keby prepisoval znak. Tiež sa môžeš na rovnakú pozíciu dostať n-krát a preto to môže trvať nekonečne dlho.
Ano, mas pravdu, takze lepsie by bolo pouzit zlozitejsi algoritmus - napriklad by sa generovalo nahodne 1 cislo: random(pocet prazdnych policok)+1; a podla tohto cisla by sa vypocitala dana bunka v matici s tym, ze zaplnene bunky by sa uz nebrali do uvahy => to by bol konecny algoritmus s nahodnym vykreslovanim ale vzdy na rovnaky pocet krokov by vykreslil celu obrazovku.
Napr. mam maticu 2 * 2, tak sa vygeneruje cislo od 1 do 4 , napr 2, potom bude vyzerat matica takto:
0 X
0 0
Potom sa bude generovat opat cislo ale uz od 1 do 3 , napr 2 a matica bude vyzerat takto:
0 X
X 0
potom z 1 - 2 , napr 1:
X X
X 0
atd...
Dalo by sa to aj tak ze to cislo by sa generovalo stale z rovnakeho intervalu random(80*25)+1; a potom by sa v matici vypocitavala bunka takym sposobom ze ak by to dorazilo na koniec, opat by to skocilo na zaciatok matice...
No dufam ze je to zrozumitelne.
