Skocz do zawartości

Tablice 2d


kt1117

Rekomendowane odpowiedzi

Jak zrobić mniej więcej taką tablicę dwuwymiarową : konta[ilosc_kont][3] konta[ilosc_kont][0]=get_string('Podaj nazwe konta',0) konta[ilosc_kont][1]=get_string('Podaj login',0) konta[ilosc_kont][2]=get_string('Podaj hasło,0) gdzie ilosc_kont będzie powiększane o 1 przy każdym stworzeniu obiektu zakladanie_konta. nie wiem co w tym jest źle ale pokazuje się błąd że Assignment operator expected.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Tablicy w GM się nie deklaruje, im przypisuje się tylko wartości, deklaracja następuje automatycznie tylko dla użytych elementów. To znaczy, jak napiszesz t[2,4]=7, to istnieje tylko t[2,4] - czyli tak naprawdę to jest nazwa zmiennej a nie tablica, ale to już inna sprawa.

Do ini zapisujesz tak samo jak inną tablicę, interpretacja zalezy od ciebie.

 

Przykładowo:

 

GML
var i,j;

for(i=0; i<10; i+=1)

{

for(j=0; j<10; j+=1)

{

t[i,j] = 0;

}

}

 

// zapis

ini_open('costam');

 

for(i=0; i<10; i+=1)

{

for(j=0; j<10; j+=1)

{

ini_write_string('tablica', string(i) + ',' + string(j), string(t[i,j]));

}

}

 

ini_close();

 

// odczyt

ini_open_file('costam');

 

for(i=0; i<10; i+=1)

{

for(j=0; j<10; j+=1)

{

ini_read_real('tablica', string(i) + ',' + string(j), 0);

}

}

 

ini_close();

 

W GM8 możesz zamiast ini_write_string używać ini_write_real('tablica', string(i) + ',' + string(j), t[i,j]); - GM6,7 ma buga, który zawsze zapisuje liczby z dużą liczbą miejsc po przecinku, stąd zapisuję jako string i odczytuję jako real (takie oszustwo).

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