Skocz do zawartości

Tablice - minikurs :D


Rekomendowane odpowiedzi

Witam!

Dziś pojąłem tablice :D, a więc:

tworzymy se np. skrypt o nazwie tab_ini i dajemy:

GML
//Inicjacja

global.ilosc_tab=2;

i=1;

//wypelnianie tablic pustymi danymi

repeat(global.ilosc_tab)

{

global.tab[i,1]='';//jakis text

global.tab[i,2]=0;//zmienna 1

i+=1;

}

 

skrypt tab_draw:

GML
//rysowanie tablic

draw_text(5,14,'Ilosc tablic: ' + string(global.ilosc_tab))

draw_text(5,28,'Tablica 1,1: ' + string(global.tab[1,1]))

draw_text(5,42,'Tablica 1,2: ' + string(global.tab[1,2]))

draw_text(5,56,'Tablica 2,1: ' + string(global.tab[2,1]))

draw_text(5,70,'Tablica 2,2: ' + string(global.tab[2,2]))

 

skrypt tab_wypeln:

GML
//wypelnianie tablic;]

global.tab[1,1]='Wypelniona tablica';//jakis text

global.tab[1,2]=5;//zmienna 1

global.tab[2,1]='TVP 2';

global.tab[2,2]=16;

 

Potem tworzymy se jakiś objekt i dajemy w CREATE:

tab_ini()

W STEP:

tab_wypeln()

W DRAW:

tab_draw()

 

To nie jest do oceny :) można się nauczyć trochę

Odnośnik do komentarza
Udostępnij na innych stronach

Po pierwsze, zbędne jak dla mnie są skrypty. Po drugie - co innego tablica, co innego jej indeks ;) . Aby nadać wartość indeksowanej zmiennej należy napisać tak:

GML
tablica[indeks] = wartosc;

Lub dla dwuwymiarowej (posiadającej dwa indeksy)

GML
tablica[indeks1,indeks2] = wartosc;

Cieszy mnie jednak to, że już to mniej więcej rozumiesz :) .

Odnośnik do komentarza
Udostępnij na innych stronach

GML
//wypelnianie tablic;]

global.tab[1,1]='Wypelniona tablica';//jakis text

global.tab[1,2]=5;//zmienna 1

global.tab[2,1]='TVP 2';

global.tab[2,2]=16;

Tu jest błąd ponieważ elementy tablic numerujemy od zera a nie od jedynki.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Tablic się nie indeksuje czy numeruje, lecz iteruje, to tak gwoli ścisłości. Iteracja tablicy, to np. za pomocą pętli przetworzenie wszystkich jej elementów, natomiast indeksuje się elementy tablicy.

 

Poza tym Pasterz źle wytłumaczył, bo powinen tak:

Po co korzystać z elementów tablicy poczynając od drugiego, skoro można od pierwszego? Czemu pierwszy element (o indeksie zerowym) ma się marnować?

Odnośnik do komentarza
Udostępnij na innych stronach

IMHO tablice są łatwe, jeżeli zakapuje je sie po drugim czy trzecim przeczytaniu. Potem się wszystko mąci i w ogóle.

A kurs, jak kurs, zrozumiały, ale wszystko jest na stronie już, w kursie GML dla początkujących i dokumentacji, o.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Oj, kolejny. :) Nie numerujesz tablicę, tylko numerujesz elementy tablicy. To samo się tyczy mistrzunia. A co do iterowania czyli przetwarzania kolejnych jej elementów, to jest jak najbardziej na miejscu, ale ta technika w programowaniu obiektowym (musi być iterator, którego mamy np. w moim kochanym C#), w gm czy c++ w iteracji używa się indeksu zamiast iteratora.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie, żebym się czepiał, ale teraz każdy, kto się czegoś nauczy zrobi dla innych kurs? Zaraz napiszę kurs zmiennych <_< Lub może tworzenia objektów... Bez jaj tablice są tak proste, że niepotrzebne są tu jakiekolwiek kursy. Zróbcie jakiś porządny tutorial o jakimś trudnym zagadnieniu...

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...