[Monkey] Types + Monkey

Übersicht Andere Programmiersprachen Beginners-Corner

Neue Antwort erstellen

Fobsi

Betreff: Types + Monkey

BeitragMi, Jun 19, 2013 21:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

Ich habe mir Monkey geholt weil ich einfach mal ein bisschen tiefer in die Programmier-Welt eintauchen möchte. Das ganze ist ja sehr nahe bei Blitz und hatte mich eh interessiert.

Nun zu meiner Frage:

Sind die "Classes" in Monkey eigentliche Types in Blitz? oder kann ich die irgendwie anders definieren in der Hilfe werde ich auch nicht fündig... Confused

In Blitz kann ich Types ganz einfach definieren:

z.B:
BlitzBasic: [AUSKLAPPEN]
Type Ttiles
Field x
Field y
etc...
End Type


In Monkey definiere ich in den Classes auch Fields und Methods..

z.B:
BlitzMax: [AUSKLAPPEN]
Class MyApp Extends App
Field background:Image
Method OnCreate()
.....
End
End


Also sind Classes eigentlich Types? Oder ist das garnicht vergleichbar Rolling Eyes ?
Ich bin irgendwie noch nicht ganz dahinter gekommen da ich ja jetzt anscheinend auf Arrays umstellen muss was mir um einiges umständlicher vorkommt.

Grüsse F.

DAK

BeitragMi, Jun 19, 2013 22:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Jup, Classes in Monkey sind mehr oder weniger das Gleiche wie Types in BlitzMax. Sie unterscheiden sich aber von Types in BlitzBasic, da sie zusätzlich hald Methoden haben.
Gewinner der 6. und der 68. BlitzCodeCompo

Midimaster

BeitragDo, Jun 20, 2013 1:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst die "Class" aus Monkey einfach wie einen Typ behandeln.
Monkey:
BlitzMax: [AUSKLAPPEN]
Class Enemy
Field X:Int, Y:Int , Bild:Image
End


allerdings wird nicht automatisch eine Liste erstellt wo man sie dann alle finden könnte wie in Blitz:
Blitz:
BlitzBasic: [AUSKLAPPEN]
For t.Enemy = Each Enemy
....


sondern Du muss diese Liste erst erstellen und dann die Mitglieder dort einbringen:

Monkey:
BlitzMax: [AUSKLAPPEN]
Class Enemy
Global Liste:List<Enemy> = New List<Enemy>
Field X%, Y% , Bild:Image
End
.....
t:Enemy=New Enemy
.....
For Local l:Enemy = EachIn Liste
.....



Eine wichtige Änderung in Monkey ist, dass Du bei jedem Field und bei jeder Variable genau den Typ festlegen musst. Also ob es INT oder FLOAT oder IMAGE sein soll...


Die so definierten Klassen kannst Du dann auch in anderen Klassen ansprechen:

BlitzMax: [AUSKLAPPEN]
Class MyApp Extends App
Global Liste:List<Enemy> = New List<Enemy>
Field background:Image
Method OnCreate()
.....
Local t:Enemy=New Enemy
End
End

Class Enemy
Field X%, Y% , Bild:Image
End[
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe

Neue Antwort erstellen


Übersicht Andere Programmiersprachen Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group