Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  FAQFAQ  SuchenSuchen  AnmeldenAnmelden  MitgliederMitglieder  LoginLogin  

Austausch | 
 

 Operatoren

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten 

Wie findet ihr das tut?
Gut
100%
 100% [ 5 ]
Schlecht
0%
 0% [ 0 ]
Stimmen insgesamt : 5
 

AutorNachricht
Höfi
SFT
SFT
avatar

Männlich Alter : 22
Anmeldedatum : 20.10.08

BeitragThema: Operatoren   So Feb 08, 2009 6:13 pm

Vorwissen:
Variablen

Schwierigkeit:
*****

In diesem Tutorial geht es Operatoren. Mit Operatoren kann man Werte/Variablen verändern bzw. auswerten.
Ein einfaches Beispiel aus der Mathematik:
Zitat :
2+3=5
In dieser Gleichung kommen zwei Operatoren vor: "+" und "=".

In C4S gibt es viele verschiedene Operatoren. Ich werde hier nicht alle erklären können, doch ich fang einfach mal an:

=
Das "=" (wer hätte es gedacht) weist dem linken Wert den rechten zu.
Beispiel:
Zitat :
Mozart = Spammer
bedeutet, dass Mozart der Wert Spammer zugewiesen wird.

- und +
Mit "+" und "-" kann man Werte addieren und subtrahieren.
Beispiel:
Zitat :
10 + 5
gibt 15 zurrück, während
Zitat :
10 - 5
5 zurrückgibt.

+= und -=
Will man jetzt eine Variable z.b. um 3 vermindern, so schreibt man
Zitat :
x = x - 3
Das geht jedoch viel einfacher:
Zitat :
x -= 3
Der "-="/"+=" Operator subtrahiert/addiert zwei Werte und weist das Ergebnis dann dem linken zu.
Nochmal n Beispiel:
Zitat :
pustekuchen += 1
erhöht pustekuchen um 1.

* und /
"*" und "/" funktionieren in C4S genauso, wie "+" und "-", nur, dass sie Werte multiplizieren bzw. teilen.
Beispiel:
Zitat :
pizza * 5
gibt 5 pizzen zurrück Very Happy .

*= und /=
Kann man sich eigentlich schon denken:
Multipliziert/dividiert die beiden Werte und weist dem linken das Ergebnis zu.
Beispiel:
Zitat :
zahl *= 2
verdoppelt zahl.


% und %=
Der Modulo-Operator (%) , in der Mathematik als mod bekannt, gibt den Divisionrest der Division zweier Werte zurück.
Nochmal auf Deutsch:
Man prüft, wie oft eine Zahl ganz(!) in eine andere passt. Dann nimmt man den Rest (der über bleibt) und fertig ist der modulo.
Beispiel:
Zitat :
5 % 2 = 1
Die 2 passt 3mal ganz in die 5. Übrig bleibt 1.
5 : 2 = 2,Rest 1


Zuletzt von Höfi am Do März 05, 2009 5:53 pm bearbeitet; insgesamt 5-mal bearbeitet
Nach oben Nach unten
Benutzerprofil anzeigen
Bowserkoopa
Staatsrat
Staatsrat
avatar

Männlich Alter : 23
Anmeldedatum : 21.12.08

BeitragThema: Re: Operatoren   So Feb 08, 2009 8:30 pm

Für den Anfang nicht schlecht, aber ein Beispiel wäre noch schön gewesen.
Nach oben Nach unten
Benutzerprofil anzeigen
Höfi
SFT
SFT
avatar

Männlich Alter : 22
Anmeldedatum : 20.10.08

BeitragThema: Re: Operatoren   So Feb 08, 2009 8:49 pm

Was für ein Beispiel denn?
Nach oben Nach unten
Benutzerprofil anzeigen
Kai
Kapitän
Kapitän


Männlich Alter : 21
Anmeldedatum : 29.12.08

BeitragThema: Re: Operatoren   So Feb 08, 2009 8:52 pm

ich finde es super Very Happy
ich glaube er meint ein beispiel für einen kompletten script^^ meiner meinung nach aber nocht nötig, super tut höfi! =D
Nach oben Nach unten
Benutzerprofil anzeigen
Soterotu
Generalleutnant
Generalleutnant
avatar

Männlich Alter : 25
Ort : Einsames Dorf in Oberfranken
Anmeldedatum : 27.01.09

BeitragThema: Re: Operatoren   So Feb 08, 2009 9:55 pm

die Beispiele mal wieder top
kann man wirklichh gut verstehen ich glaub wenn ich das mir ewig in der doku durchgelesen(wäre dann anlauf nummer 3)hätte ich es wieder nich komplett verstanden zumindestens nich nach einmal lesen wie hier jetzt

Das ist jetzt so der Zeitpunkt wo ich für Tuts ein Votes system gerne hätte
Nach oben Nach unten
Benutzerprofil anzeigen
Simsi
Staatssekretär
Staatssekretär
avatar

Männlich Alter : 24
Ort : Vaihingen/Enz
Anmeldedatum : 30.03.08

BeitragThema: Re: Operatoren   So Feb 08, 2009 10:14 pm

jaa, schönes tut, aber ich find auf jeden fall fehlt == noch, weil damit haben die meisten ihre probleme

_________________
Copy this into your signature to have it in your signature.
Nach oben Nach unten
Benutzerprofil anzeigen
Höfi
SFT
SFT
avatar

Männlich Alter : 22
Anmeldedatum : 20.10.08

BeitragThema: Re: Operatoren   Mo Feb 09, 2009 12:01 am

Ich hab noch mal den modulo hinzugefügt.
Ich glaub über die vergleichsoperatoren mach ich n eigenes tut.
Das wäre zu viel
Nach oben Nach unten
Benutzerprofil anzeigen
Kai
Kapitän
Kapitän


Männlich Alter : 21
Anmeldedatum : 29.12.08

BeitragThema: Re: Operatoren   Mo Feb 09, 2009 12:05 am

Höfi schrieb:

Beispiel:
Zitat :
Kaiundtrike = Spammer
bedeutet, dass Kaiundtrike der Wert Spammer zugewiesen wird.

>:(

davor wars noch so:
Höfi schrieb:

Beispiel:
Zitat :
Mozart = Spammer
bedeutet, dass Mozart der Wert Spammer zugewiesen wird.
Edit by Mozart um Kommentare zu sparen: meiner Meinung nach stand da ein Höfi.
Zumindest als ichs gelesen hab


Edit by Kai:
Ja, als dus gelesen hattest, aber als aller erstes stand da mozart, höfi hats aber als du kamst schnell geändert xD



Edit by Phil:
Ich habs nicht geändert als Mozart kam.
Pink xD

Edited by Kai:
@Phil: wer bist denn du? dich meine ich doch nicht!! xD

Phil=höfi


Zuletzt von Kai am Mo Feb 09, 2009 10:02 pm bearbeitet; insgesamt 2-mal bearbeitet
Nach oben Nach unten
Benutzerprofil anzeigen
Bowserkoopa
Staatsrat
Staatsrat
avatar

Männlich Alter : 23
Anmeldedatum : 21.12.08

BeitragThema: Re: Operatoren   Mo Feb 09, 2009 11:47 am

Als ichs gelesen habe, war da auch ein Mozart. Jedanfalls sollte man bei Vorwissen "Variablen " hinzufügen.
Nach oben Nach unten
Benutzerprofil anzeigen
Höfi
SFT
SFT
avatar

Männlich Alter : 22
Anmeldedatum : 20.10.08

BeitragThema: Re: Operatoren   Mo Feb 09, 2009 1:23 pm

Eigentlich nicht, aber ich schreibs mal hin.
Nach oben Nach unten
Benutzerprofil anzeigen
Dragonclonk
Kadett
Kadett
avatar

Männlich Alter : 24
Ort : Lübeck
Anmeldedatum : 11.12.08

BeitragThema: Re: Operatoren   Mo Feb 09, 2009 8:44 pm

Ok. Schlecht ist es nicht.
Nach oben Nach unten
Benutzerprofil anzeigen
mr.lool
Kadett
Kadett


Männlich Alter : 21
Ort : Rostock
Anmeldedatum : 26.05.09

BeitragThema: Re: Operatoren   Di Dez 29, 2009 4:12 pm

Kai schrieb:
Höfi schrieb:

Beispiel:
Zitat :
Kaiundtrike = Spammer
bedeutet, dass Kaiundtrike der Wert Spammer zugewiesen wird.

>Sad

davor wars noch so:
Höfi schrieb:

Beispiel:
Zitat :
Mozart = Spammer
bedeutet, dass Mozart der Wert Spammer zugewiesen wird.
Edit by Mozart um Kommentare zu sparen: meiner Meinung nach stand da ein Höfi.
Zumindest als ichs gelesen hab


Edit by Kai:
Ja, als dus gelesen hattest, aber als aller erstes stand da mozart, höfi hats aber als du kamst schnell geändert xD



Edit by Phil:
Ich habs nicht geändert als Mozart kam.
Pink xD

Edited by Kai:
@Phil: wer bist denn du? dich meine ich doch nicht!! xD

Phil=höfi

seit wann spammt trike?
o.O
Nach oben Nach unten
Benutzerprofil anzeigen
Bowserkoopa
Staatsrat
Staatsrat
avatar

Männlich Alter : 23
Anmeldedatum : 21.12.08

BeitragThema: Re: Operatoren   Di Dez 29, 2009 4:17 pm

Is ja auch ein Weilchen her, aber gespammt hat er eigentlich nie. Übrigens wäre im Tutorial vielleicht noch -> nützlich gewesen. Nutze ich selber, abgesehen von = und == , am häufigsten von allen Operatoren.
Nach oben Nach unten
Benutzerprofil anzeigen
mr.lool
Kadett
Kadett


Männlich Alter : 21
Ort : Rostock
Anmeldedatum : 26.05.09

BeitragThema: Re: Operatoren   Di Dez 29, 2009 4:19 pm

achso Smile
Nach oben Nach unten
Benutzerprofil anzeigen
Elfangor
General
General
avatar

Männlich Alter : 25
Ort : Mainz
Anmeldedatum : 26.06.08

BeitragThema: Re: Operatoren   Di Dez 29, 2009 4:52 pm

Da es noch keiner getan hat, hier die Erklärung zu "==":

== ist ein vergleichsoperator. Er setzt keinen Wert wie "=", sondern er vergleicht zwei Werte.

Ich verwende ihn eigentlich nur bei if() oder for().

Ein Beispiel für die for()-verwendung:

Code:


if(var Zähler=0; Zähler==5; Zähler++) {
Message("Juhu Zähler ist 5");
}

else

{
Message("Zähler ist nicht 5 :-(. Weiterzählen!");


Außerdem hast du ++ und -- vergessen.

++ Erhöht den Wert um 1
-- erniedrigt den Wert um 1

bsp:

Code:
 
int Zahl=0;
Zahl++;

Nun ist Zahl 1.

Das Gleiche geht auch andersrum. Nun muss MIR jemand erklären wo der Unterschied zwischen

Zahl++
und
++Zahl
liegt.
Nach oben Nach unten
Benutzerprofil anzeigen http://www.m-w-c.de.vu
Bowserkoopa
Staatsrat
Staatsrat
avatar

Männlich Alter : 23
Anmeldedatum : 21.12.08

BeitragThema: Re: Operatoren   Di Dez 29, 2009 6:13 pm

->

Und dann kommt von mir noch der Operator '->'

Das ist ebenfalls ein ausgesprochen nützliches Ding, wenn man ihn sinnvoll anwendet. Er ersetzt es beispielsweise, eine Variable oder unterstützt diese. Was er macht kann man sich ja denken, da er ausschaut wie ein Pfeil: Er weißt Werte und weitere Befehle zu. Am besten sieht man das anhand eines Beispiels:

Code:

func EplodierenderStein()
{
//Ein Stein wird erstellt und ihm wird dann gesagt, dass er explodieren soll
CreateObject(ROCK)->Explode(40);
}

-> sagt also aus, wie es mit einem Befehl(meist ein erschaffenes Objekt), weitergehen soll. So wird im Beispiel ein Stein erzeugt, welchem dann gesagt wird, dass er mit einer Stärke von 40 explodieren soll. Ansonsten hätte man eine Variable erstellen müssen, und diese dann weiter verwenden müssen, -> ist kürzer und spart Zeilen.

Eine weitere Verwendung ist in RPGs(siehe dazu Gamers Tutorial für Clonkfilme)
Dabei wird eine statische Variablen erzeugt, der dann ein bestimmtes Objekt zugewiesen wird.


Code:
/*-- Neues Szenario --*/

#strict 2

static pBowser; //Bowser

public func Initialize()
{
  pBowser=CreateObject(MBWS,2253,553); //Bowser darf net fehlen

   return 1;
}

Hier wird Bowser(ID ist MBWS) erstellt, dass jetzt in erschaffen wurde.

Code:
func Script75()
{
pBowser->SetAction("Throw");

}

So, und nun wird Bowser gesagt, dass er die Aktion Throw ausführen soll. Soviel zur Anwendung von ->
Nach oben Nach unten
Benutzerprofil anzeigen
Gesponserte Inhalte




BeitragThema: Re: Operatoren   

Nach oben Nach unten
 
Operatoren
Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben 
Seite 1 von 1

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Anfänger :: Tutorials-
Gehe zu: