SAIL - Operacje na stringach + Prosty Zegar
Serpent pisze:String to jak powszechnie wiadomo zmienne przechowujące znaki (ciągi znaków).
Ciągi znaków w SAIL’u zapisujemy pomiędzy znakami ’ ’.Przykład:
Kod:
'macmilan' 'jurij' 'masza' 'kasza'Do wyświetlania tego typu zmiennych w grze służy funkcja display_strings.
Display_Strings
Kod:
Display_Strings := text;Wyświetli nam w prawym górnym ekranie zmienna text. Jest to bardzo przydatne zwłaszcza podczas tworzenia skryptów do map, jeżeli chcemy zobaczyć co kryje się pod daną zmienną.
Przykładowo chcemy wyświetlać koordynaty danej jednostki:
Kod:
Every 0$0.1 do begin enable; Display_Strings := ['X:', GetX(unit), 'Y:', GetY(unit)]; end;Dodanie informacji do wyświetlenia w display_strings:
Spoiler:
Często zdarza się że chcemy coś wyświetlić gdy zawartość display_strings nie jest pusta, korzystamy wówczas ze znaku dołączania ”^”.
Przykład:
Kod:
Display_Strings := 'Kalafior'; // to mamy w display_strings Display_Strings := Display_Strings ^ 'Bialy';Spowoduje dodanie pod napisem “Kalafior” napisu “Bialy”.
Można też użyć już gotowej funkcji napisanej przeze mnie:
Kod:
Export Function AddToDisplay(string); begin Display_Strings := Display_Strings ^ string; End;Czyszczenie display_strings:
Spoiler:
Jeżeli chcemy usunąć obecną zawartość display_strings i dodać coś innego to normalnie używamy display_strings.
Przykład:
Kod:
// Wyświetla nam napis: "Jest godzina 12:00" // Chcemy wyświetlić napis "Jest godzina 13:00" Display_Strings := 'Jest godzina 13:00';Jeżeli natomiast chcemy całkowicie wyczyścić display_strings to piszemy:
Kod:
Display_Strings := '';Spowoduje to że napis po prawej zniknie.
Dodanie prostego zegara:
Spoiler:
Zegar w grze jest bardzo przydatny, aby go uzyskać wystarczy tylko kilka linijek kodu.
Kod:
// chcemy żeby zegar podawał nam minuty i sekundy Export time; Every 1 do time := 0$00; Every 0$01 do begin enable; // zapętlamy zegar time := time + 0$01; // co sekundę będzie dodawana sekunda do wyświetlacza Display_Strings := [#timer, time]; End;Teraz przechodzimy do pliku Counters.wri w Texts (UWAGA! Każda wersja językowa ma swój własny plik Counters.wri!).
Tam dodajemy następujący wpis:
Kod:
timer Czas: %tTo tyle, teraz czas powinien być wyświetlany w formie:
Kod:
Czas: minuta:sekundaDodawanie stringa do stringa:
Spoiler:
Czasami może zajść potrzeba połączenia dwóch zmiennych tego typu. Używamy wówczas następującej funkcji:
Kod:
Export Function AddToString(string1, string2); begin result := string1 & string2; End;Przykład:
Kod:
zm1 := 'Andy'; zm2 := ' Cornell'; Display_Strings := AddToString(zm1, zm2); Wyświetli: Andy CornellWyświetlanie długości stringa:
Spoiler:
Jeżeli chcemy sprawdzić długość zmiennej typu string (ilość znaków w łańcuchu) to używamy funkcji:
Kod:
Export Function SizeOfString(string); begin result := string - 0; End;I wyświetlamy:
Kod:
Display_Strings := SizeOfString('jurek'); // zwróci 5
Author: Serpent
Topic: https://forum.original-war.net/viewtopic.php?f=42&t=4466



