Zmienne i stałe 11628 1

O temacie

Autor Zkirtaem

Zaczęty 9.04.2008 roku

Wyświetleń 11628

Odpowiedzi 1

Zkirtaem

Zkirtaem

Moderator
Mięso
posty2171
Propsy1689
ProfesjaGracz
  • Moderator
  • Mięso

Zkirtaem
Moderator

Zmienne i stałe
2008-04-09, 16:21(Ostatnia zmiana: 2009-07-11, 11:28)
Ten tutek będzie o tworzeniu zmiennych. Jest to chyba najbardziej uniwersalna rzecz w całym Gothicu.
Dzięki zmiennym możesz napisać, że jeśli postać wypije 2 butelki ryżówki, to się schleje, jeśli jedną, to nie. Ale to tylko przykład, można znacznie więcej (Ja dzięki zmiennym zrobiłem umiejętność Regeneracja :P ).

Cytuj
Szukamy pliku content/story/Story_Globals.d

Podaję fragment, konkretnie początek pliku:

Cytuj
// *************************
// Globalvariablen für Story
// *************************

const int ZivilAnquatschDist = 300;

const int DurstigeBauern = 10;

var int SLF_FIRE;

var int Kapitel;
var int Play_Lute;

I zaraz nad "var int Kapitel;" piszemy swoją zmienną, na przykład "zmienna1":
Cytuj
var int zmienna1;

I gotowe!

Ale... Jak z tego korzystać? Podam niektóre komendy, jakimi można operować zmiennymi (jak ktoś pisał w C, albo C++, to w G działają chyba wszystkie z C):

Cytuj
zmienna1=jakaścyfra;
- Pod jakaścyfra podstawiamy cyfrę, która będzie w zmiennej
Cytuj

zmienna1=zmienna1+5;
- Teraz do zmiennej dodajemy na przykład 5;
Cytuj

zmienna1=zmienna1+zmienna2;
- A tu jest napisane, że zmienna1 jest równa swoja wartość+ wartość zmienna2.

Resztę się zapewne domyślicie.

A, Można również:

Cytuj
if (zmienna1 == 1)
{

Co oznacza, że jeśli zmienna1=1, to to, co w nawiasie, idzie dalej, itp.
Wymyślajcie algorytmy, i piszcie ^^

PS: To już troszeczkę zaawansowane, więc nie pytajcie, jak to wstawić to do np. Mojego Skryptu Czystej Wódki, popatrzcie w skrypty.
 

Bucik

Bucik

Użytkownicy
posty182
Propsy128
Profesjabrak
  • Użytkownicy

Bucik

Zmienne i stałe
#1 2009-03-15, 15:39(Ostatnia zmiana: 2009-07-11, 11:56)
DEKLARACJA ZMIENNYCH I STAŁYCH, ORAZ PRZYPISYWANI IM WARTOŚCI

W skryptach gothica (zresztą jak i w każdym języku programowania) zmienne (schowki w pamięci komputera przechowujące dane, które możemy modyfikować) i stałe (to samo co zmienne - tyle, że nie można modyfikować, kiedy gramy w gothica) mogą mieć różne typy, które dopasowujemy przy deklaracji. A więc:



Zmienne deklarujemy tak:

var [typ zmiennej] [nazwa zmiennej];
1. Dzięki wyrazowi VAR wiemy iż deklarujemy zmienną, nie stałą

2. Tam gdzie mamy '[typ zmiennej]' możemy wpisać:
- 'int' - jest to typ zmiennej lub stałej zawierający wartość LICZBOWĄ - np. 12313
- 'string' - jest to typ zmiennej lub stałej zawierający wartość TEKSTOWĄ - np. "Zbroja"
* Takich typów jest na pewno dużo więcej, ale te powinny w zupełności wystarczyć do sprawnego poruszania się po skryptach gothica

3. Tam gdzie mamy '[nazwa zmiennej]' wpisujemy nazwę naszej zmiennej bez polskich znaków i spacji - np. "NaszaZmienna"



Stałe deklarujemy tak:

const [typ stałej] [nazwa stałej] = [wartość stałej];
1. Dzięki wyrazowi CONST wiemy iż deklarujemy stałą, nie zmienną

2. Tam gdzie mamy '[typ zmiennej]' możemy wpisać - podobnie jak jak w zmiennej:
- 'int' - jest to typ zmiennej lub stałej zawierający wartość LICZBOWĄ - np. 12313
- 'string' - jest to typ zmiennej lub stałej zawierający wartość TEKSTOWĄ - np. "Zbroja"

3. Tam gdzie mamy '[nazwa stałej]' wpisujemy nazwę naszej stałej bez polskich znaków i spacji - np. "NaszaStala"

4. Tam gdzie mamy '[wartość stałej]' wpisujemy wartość naszej stałej zależnie od jej typu.
- Dla typu 'int' - jak już wspomniałem - wpisujemy wartość liczbową - np. 242342
- Dla typu 'string' - jak już wspomniałem - wpisujemy wartość tekstową - np. "tekst"




Wartości zmiennych w przeciwieństwie do wartości stałych nie przypisujemy od razu. Możemy je przypisać zaraz po deklaracji, w następnej linijce, a wygląda to tak:

[nazwa zmiennej] = [wartość zmiennej];
1. '[nazwa zmiennej]' zastępujemy nazwą zmiennej, którą wcześniej zdeklarowaliśmy.
2. '[wartość zmiennej]' zastępujemy wartością naszej zmiennej zależną od jej typu (podobnie jak w stałych).
- Dla typu 'int' - jak już wspomniałem - wpisujemy wartość liczbową - np. 242342
- Dla typu 'string' - jak już wspomniałem - wpisujemy wartość tekstową - np. "tekst"




ZASTOSOWANIE ZMIENNYCH I STAŁYCH

Zmienne stosowane są na przeróżne sposoby - to na nich oparta jest gra i dzięki nim funkcjonuje. Współczesne gry zawierają tysiące zmiennych. W gothicu zmienne wykorzystywane są do np. przechowywania ilości doświadczenia, które posiadamy. Możemy je zauważyć w takich plikach jak Story_Globals - gdzie są one deklarowane. Nam jako 'przerabiaczom' gothic'owych skryptów są one BARDZO potrzebne. Możemy je wykorzystać do np. liczenia ilości zabitych stworów. Deklarujemy zmienną o typie 'int', przypisujemy jej wartość 0 i dodajemy do niej 1 przy każdym zabiciu potwora. Plik odpowiedzialny za zabicie potwora to (o ile się nie mylę) to 'B_GiveDeathInv', czyli tam wklejamy nasz skrypt.


Stałe zwykle używane są by ułatwić sobie pracę. Przykładowo jeśli często korzystamy z liczby PI ~ 3,141592653589793238462643383279502884197 to możemy zdeklarować stałą o nazwie PI, która przechowuje nam wartość liczby pi i zamiast wszędzie wklejać kilkudziesto cyfrową liczbę piszemy nazwę naszej stałej, czyli pi. Czyli zamiast:

zmienna = 3,141592653589793238462643383279502884197 * 3,141592653589793238462643383279502884197piszemy

const int PI = 3,141592653589793238462643383279502884197;
zmienna = PI * PI

Takie stałe możemy znaleźć chociażby w pliku 'Text' gdzie zdeklarowane są zmienne typu string, które przechowują między innymi polskie nazwy przedmiotów. Robione jest to, by ułatwić tłumaczom przetłumaczenie gry na inne języki.

Zmienne można modyfikować na przeróżne sposoby. Ja przedstwię te najpopularniejsze, np.


Przykład 1

var int NaszaZmienna;
NaszaZmienna = 2;

NaszaZmienna = NaszaZmienna + 1

W praktyce

2 = 2 + 1 // czyli 3
* Dodaje nam do wartości zmiennej 'NaszaZmienna' liczbę 1



Przykład 2

var int NaszaZmienna1;
var int NaszaZmienna2;
var int NaszaZmienna3;
NaszaZmienna1 = 2;
NaszaZmienna2 = 3;

NaszaZmienna3 = NaszaZmienna1 * NaszaZmienna2

W praktyce

NaszaZmienna3 = 2 * 3 // czyli 6
* Mnoży nam dwie pierwsze zmienne przez siebie podając wynik w 3 zmiennej



Przykład 3

var int NaszaZmienna1;
var int NaszaZmienna2;
var int NaszaZmienna3;
NaszaZmienna1 = 2;
NaszaZmienna2 = 2;

NaszaZmienna3 = NaszaZmienna1 ^ NaszaZmienna2

W praktyce

NaszaZmienna3 = 2 do potęgi 2 (do kwadratu) // czyli 4
* Zmienna trzecia przechowuje wynik - pierwsza zmienna do potęgi drugiej zmiennej



Znaki operujące działaniami

Mam nadzieję, że już wiadomo o co chodzi - czysta matematyka.
Ja zawsze mówiłem, że programowanie to znajomość regułek, a potem to już czysta matematyka i logika.

Dla pewności podam jeszcze jakimi znakami operujemy (podam te podstawowe) :

- Znak '+' czyli znak dodawania
- Myślnik '-' czyli znak odejmowania
- Gwiazdka '*' czyli znak mnożenia
- Ukośnik w prawo '/' czyli znak dzielenia z resztą
- Ukośnik w lewo '\' czyli znak dzielenia całościowego (otrzymujemy wynik bez reszty)
- Daszek '^' czyli znak potęgowania



Warunki ze zmiennymi

Jak w każdym języku programowania tak i w skryptach gothica możemy pisać sobie warunki ze zmiennymi używając krótkiego słowa 'if' (z ang. JEŚLI).
Opiszę wszystko na podstawie przykładu.

const int stala1 = 3,14;
var int zmienna1;
var int zmienna2;
zmienna1 = 33,3;
zmienna2 = stala1 * zmienna1;

If (zmienna2 >= 100)
{
   zmienna2 = zmienna2 * 5;
};

Napisałem przykład prostego obliczenia i warunku.
* 'If zmienna2 >= 100' - Jeśli zmienna2 jest większa lub równa 100
* Znaczek '{' oznacza rozpoczęcie warunku (po tym znaczku piszemy co ma się stać jeśli warunek zostanie spełniony)
* 'zmienna2 = zmienna2 * 5;' to co ma się stać jeśli - w moim przypadku - zmienna2 jest większa lub równa 100. U mnie jest to pomnożenie zmiennej 'zmienna2' przez 5
* Znaczek '};" oznacza zamknięcie warunku (jest to absolutnie konieczne !)


Operatory

W warunkach przydadzą nam się podstawowe operatory. W przypadku skryptów gothica są to:

- "==" - jeśli coś jest równe czemuś
- "<>" - jeśli coś jest RÓŻNE czemuś (nie jestem pewien czy w skryptach gothica to działa)
- "<=" - jeśli coś jest mniejsze, lub równe czemuś (nie mylić kolejności znaczka mniejszości ze znakiem równości)
- ">=" - jeśli coś jest większe, lub równe czemuś (nie mylić kolejności znaczka większości ze znakiem równości)



I to tyle jeśli chodzi o ten tutorial - jeśli popełniłem jakiś kategoryczny błąd to proszę mnie poprawić - ja sam jestem dość 'początkujące' a to jest mój - zdaje się - pierwszy tutorial, więc proszę o wyrozumiałość xD[/size][/font]


//Edit by Bula: Dodano do spisu.
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry