| |
|
|
- Página 1 - |
|
| Ferenc Züllich
La idea es wirklich fresco! [...] WEr nix zutun ha podría el sí en Angriff nehmen
Un Klasse para una Ameise podría como aussehen?
(tener en el Moment no wirklich Interesse, aber quería el Thema auffangen) KompilierenMarcaSeparaciónclass ant=...
typ%
aliveState%//0=im Eimer; 1=am Leben; 2=pennt grade
damaged%//z.B. Beschädigungslevel und Müdigkeit reinpacken
walkState%//0=still; 1=läuft ;2=rennt;3=...
walkDirection!//Laufrichtung in °
x!,y!,z!//Position im Raum
energy!//Kraft >
Bitte ergänzen, oder auch no...
Yo sería lo aber schön encontrar sólo el Augen beim Orginal abzuschauen. |
|
|
| |
|
|
|
| |
|
- Página 1 - |
|
| Durch weglassen el Y-Info würdest Usted Usted el Herunterfallenkönnen rauben, wäre dank OGL tal vez später schade.
energy! (Kraft) para Nahrung/Gesättigt/Arbeitsfähig y - desto weniger energy! más rápido ansteigendes damaged%. damaged% reduzieren si/solange aliveState% en 2 (pennt grad) es, pennen bringt Gesundheit, y Nahrungfinden bringt energy! damaged% debería entonces wohl kein int pero más una float ser, also damaged!
Nur ne Concepto KompilierenMarcaSeparaciónclass ant=
typ%
aliveState%//0=im Eimer; 1=am Leben; 2=pennt grade
damaged!//z.B. Beschädigungslevel und Müdigkeit reinpacken
walkState%//0=still; 1=läuft ;2=rennt;3=...
walkDirection!//Laufrichtung in °
x!,y!,z!//Position im Raum
g!//Größe
energy!//Kraft
triebmodi%//Bauen/Kriegen/Nahrungssuche/Vermehren/Winterschlaf/Helfersuche
geburtsZeit&
durchschnittsAlter&//wie alt die XMeise im Durchschnitt werden span>
Bloß no überlegen qué así una Ameise el ganzen Tag treibt... |
|
|
| |
|
|
|
Jac de Lad | Un normale Ameise vermehrt se no -> staatenbildendes Insekt ala Biene y Termite. Mensch IF, qué hast du en el Schule gelernt? |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 13.06.2008 ▲ |
|
|
|
|
| Yo habe doch sólo el Triebmodi% así genannt... |
|
|
| |
|
|
|
Frank Abbing | Und je después de Art el Fütterung entsteht una diferente Ameise. Arbeiter, Königin usw. Oder war el sólo en el Bienen así? |
|
|
| |
|
|
|
|
Frank Abbing: Und je después de Art el Fütterung entsteht una diferente Ameise. Arbeiter, Königin usw. Oder war el sólo en el Bienen así?
Siehe hier mein más bien Franco [web]https://de.wikipedia.org/wiki/Ameisen[/web] |
|
|
| |
|
|
|
| Siehe veces uno a - el besitzen tatsächlich komplexeres Sozialverhalten como Yo... |
|
|
| |
|
|
|
Thomas Zielinski | Hab heut veces spaßeshalber intenta el viecher para laufen a kriegen en OGLBasic(el frei version). Hab como sólo algunos Problemas: en el markiertem abschnitt bajo Ant.kriechen: si yo hay alles auskommentiere salvo el una zeile laufen el dinger zwar(sonst no), aber sólo en un richtung: después de oben rechts. Sombrero como alguien ne idee? KompilierenMarcaSeparaciónDeclare AMEISE#[150], homeX!, homeY!, homeZ!, nahrung!, lager!, i!, e!
Declare zeit$, zeitanfang&, zeitende&, zeith&, zeitm&, zeits&, zeit&
homeX!=0
homeY!=0
homeZ!=-30
nahrung! = 0
lager! = 0
Class Ant = Nummer!, Nummer der Ant
Leben!, max 100
PositionX!,
PositionY!,
PositionZ!,
ZielKoordX!,
ZielKoordY!,
ZielKoordZ!,
richtung!, Richtung in die, die Ant schaut in °
Alter!, wie alt ist die Ant
Typ!, 0=sammler 1=kaempfer
Aktion!, 0=steht 1=sammelt 2=läuft 3=trägt 4=kämpft 5=umschauen 6=nach hause mit last
Last!, Wiviel trägt die Ameise
kriechen@, bewegen
suchen@ Gibt Zielrichtung an
Proc Ant.kriechen
parameters xp!, yp!, zp!, rp!, xz!, yz!, zz!, num!
Declare xp!, yp!, zp!, rp!, xz!, yz!, zz!
AMEISE#[num!].Alter! = AMEISE#[num!].Alter! + 0.1
IfNot AMEISE#[num!].Leben! = 0 OR AMEISE#[num!].Alter! >= 1000
If AMEISE#[num!].Last! = 10
xz! = homeX!
yz! = homeY!
zz! = homeZ!
EndIf
MessageBox(Str$(xp!) + - + Str$(xz!) +
+ Str$(yp!) + - + Str$(yz!) +
+ Str$(zp!) + - + Str$(zz!),,4096)
####################################################################################################################
####################################################################################################################
####################################################################################################################
####################################################################################################################
If xp! = xz! AND yp! = yz! AND zp! = zz!
AMEISE#[num!].Aktion! = 0
MessageBox(Str$(xp!) + - + Str$(xz!) +
+ Str$(yp!) + - + Str$(yz!) +
+ Str$(zp!) + - + Str$(zz!),,4096)
If AMEISE#[num!].Last! = 10 AND xp! = homeX! AND yp! = homeY! AND xp! = homeZ!
lager! = lager! + 10
AMEISE#[num!].Last! = 0
EndIf
AMEISE#[num!].suchen(num!) <-- Wenn nur das steht klappt es
EndIf
####################################################################################################################
####################################################################################################################
####################################################################################################################
####################################################################################################################
If xp! < xz!
xp! = xp! + 0.1
ElseIf xp! > xz!
xp! = xp! - 0.1
EndIf
If yp! < yz!
yp! = yp! + 0.1
ElseIf yp! > yz!
yp! = yp! - 0.1
EndIf
If zp! < zz!
zp! = zp! + 0.1
ElseIf zp! > zz!
zp! = zp! - 0.1
EndIf
If AMEISE#[num!].Last! = 10
AMEISE#[num!].Aktion! = 6
ElseIf AMEISE#[num!].Last! < 10 AND AMEISE#[num!].Last! > 0
AMEISE#[num!].Aktion! = 3
ElseIf AMEISE#[num!].Last! = 0
AMEISE#[num!].Aktion! = 2
EndIf
AMEISE#[num!].PositionX! = xp!
AMEISE#[num!].PositionY! = yp!
AMEISE#[num!].PositionZ! = zp!
Else
AMEISE#[num!].PositionX! = homeX!
AMEISE#[num!].PositionY! = homeY!
AMEISE#[num!].PositionZ! = homeZ!
EndIF
EndProc
Proc Ant.suchen
parameters num!
AMEISE#[num!].Alter! = AMEISE#[num!].Alter! + 0.1
If AMEISE#[num!].Leben! = 0 OR AMEISE#[num!].Alter! >= 1000
Randomize
AMEISE#[num!].ZielKoordX! = Rnd(10 + 10) - 10
AMEISE#[num!].ZielKoordY! = Rnd(10 + 10) - 10
AMEISE#[num!].ZielKoordZ! = homeZ!################################################## weil flach bleibt
EndIf
EndProc
-------------------------------------------------
Dim AMEISE#[], Ant
i!=0
Randomize
WhileNot i! = 150
With AMEISE#[i!]
.Nummer!=i!
.Alter! = Rnd(500)
.Typ! = Rnd(2)
.Leben! = 100
.PositionX! = homeX!
.PositionY! = homeY!
.PositionZ! = homeZ!
.ZielKoordX! = homeX!
.ZielKoordY! = homeY!
.ZielKoordZ! = homeZ!
.richtung! = 0
.Aktion! = 0
.Last! = 0
EndWith
i!=i!+1
EndWhile
i!=0
------------------------------------------------------
CLS 0
oGL(Init, %hWnd, 0, 0, 0, 0)
oGL(PosMode,1)
zeitanfang& = &GetTickCount
SetTimer 20
While e!=0
WaitInput
If IsKey(27)
BEENDEN
EndIf
WERTE
OGLSZENEZEICHNEN
EndWhile
KillTimer
Dispose AMEISE#[]
End
Proc BEENDEN
e!=1
zeitende& = &GetTickCount
zeit& = zeitende&-zeitanfang&
zeith& = ((zeit&/1000)/60)/60
zeitm& = (zeith& - Round(zeith&,0))*60
zeits& = ((zeitm& - Round(zeitm&,0))*60)
zeit$ = Str$(Round(zeith&,0)) + : + Str$(Round(zeitm&,0)) + : + Str$(Round(zeits&,0))
MessageBox( erreichte Nahrung: + Str$(nahrung!) +
vergangene Zeit: + zeit$,ENDE,4096)
EndProc
Proc WERTE
i!=0
WhileNot i! = 150
TraceOn
AMEISE#[i!].kriechen(AMEISE#[i!].PositionX!, AMEISE#[i!].PositionY!, AMEISE#[i!].PositionZ!, AMEISE#[i!].richtung!, AMEISE#[i!].ZielKoordX!, AMEISE#[i!].ZielKoordY!, AMEISE#[i!].ZielKoordZ!, i!)
TraceOff
i! = i! + 1
MessageBox(str$(i!),,4096)
EndWhile
EndProc
Proc OGLSZENEZEICHNEN
oGL(Clear)
oGL(Origin, 0, 0, homeZ!)
oGL(Color, 0.0, 0.0, 1.0, 1.0)
oGL(Quad, 2, 2)
i!=0
WhileNot i! = 150
oGL(Origin, AMEISE#[i!].PositionX!,AMEISE#[i!].PositionY!,homeZ!)
If AMEISE#[i!].Typ! = 0
oGL(Color, 1.0, 0.0, 0.0, 1.0)
ElseIf AMEISE#[i!].Typ! = 1
oGL(Color, 0.0, 1.0, 0.0, 1.0)
EndIf
oGL(Triangle, 0.3, 0.3)
i!=i!+1
oGL(Show)
ENDPROC
Aber langsam versteh Yo, el nutzen de oop. Desde que el Fuente en el seite eh no versteh tener Yo sólo el video angeguckt qué como passieren se. Saludo Thomas |
|
|
| XProfan X4; Win10 x64 Der Kuchen ist eine lüge! | 14.06.2008 ▲ |
|
|
|
|
Thomas Zielinski | Dann va doch el todo Spaß perdido. Selber hacer is viel mejor. Zumal el, después de deren Descripción, para aprender de algo como ser se. |
|
|
| XProfan X4; Win10 x64 Der Kuchen ist eine lüge! | 14.06.2008 ▲ |
|
|
|
|
Frank Abbing | Usted irrst. Como du ya dijo hast es una Profano-después de-Cpp Traductor. Der funktioniert pero no umgekehrt... |
|
|
| |
|
|
|
| @Thomas: So weit son wir todavía garnicht, Por favor, primero el Klasse diskutieren. |
|
|
| |
|
|
| |
|
- Página 2 - |
|
|
Thomas Zielinski | IF
Ferenc ZüllichLa idea es wirklich fresco! [...] WEr nix zutun ha podría el sí en Angriff nehmen (tener en el Moment no wirklich Interesse, aber quería el Thema auffangen)
Yo como el Aufforderung gesehen, lo doch igual veces auszuprobieren.
IF
So weit son wir todavía garnicht, Por favor, primero el Klasse diskutieren.
Yo find el son bien como ellos son.
Na egal. después de unos pocos Stunden Schlaf, is me wenigstens el Fehler eingefallen. Aus: KompilierenMarcaSeparación
If xp! = xz! AND yp! = yz! AND zp! = zz re> Wird: KompilierenMarcaSeparación
If (xp! = xz!) AND (yp! = yz!) AND (zp! = zz!)re> Man beachte el Klammern! Hab el todavía nie falso gemacht. Möcht wissen qué mich como geritten ha. Jetz muss Yo bloß todavía el laufen correcto hinbekommen.
Saludo Thomas |
|
|
| XProfan X4; Win10 x64 Der Kuchen ist eine lüge! | 15.06.2008 ▲ |
|
|
|
|
Sebastian König | Ferenc Züllich
Stimm ya Franco! Aber si la Autor des Programms en se en el Quellcode simplemente unos pocos Zeilen ändert y para uns el konvertiert.... Aber el es wahrscheinlich doch no así ligeramente.
Aunque no - komplett Neuschreiben trifft lo más. Und dazu erscheint me el Concepto ehrlich dijo no sinnvoll genug...
MfG
Sebastian |
|
|
| |
|
|