| |
|
|
- page 1 - |
|
| Ferenc Züllich
L'idée ist wirklich cool! [...] WEr nix zutun hat pourrait cela oui dans Angriff prendre
une super pour une fourmi pourrait comment air?
(hab im Moment pas wirklich intérêt, mais voulais cela Thema auffangen) KompilierenMarqueSéparationclass 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 >
s'il te plaît ergänzen, ou bien aussi pas...
je serait es mais joli trouver seulement avec den Augen beim Orginal abzuschauen. |
|
|
| |
|
|
|
| |
|
- page 1 - |
|
| par omettre qui Y-Info würdest Du Dir cela Herunterfallenkönnen ravir, wäre dank OGL peut-être später tant pis.
energy! (Kraft) pour nourriture/Gesättigt/Arbeitsfähig et - desto moins energy! plus rapide ansteigendes damaged%. damaged% réduire si/solange aliveState% sur 2 (pennt grad) steht, roupiller bringt Gesundheit, et Nahrungfinden bringt energy! damaged% sollte ensuite wohl ne...aucune int mais plutôt un float son, alors damaged!
seulement ne concept KompilierenMarqueSéparationclass 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ß pas überlegen quoi so une fourmi den ganzen journée treibt... |
|
|
| |
|
|
|
Jac de Lad | une normale fourmi vermehrt sich pas -> staatenbildendes l'insecte ala Biene et Termite. homme iF, quoi la hâte du dans qui une école 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 ▲ |
|
|
|
|
| j'ai doch seulement den Triebmodi% so genannt... |
|
|
| |
|
|
|
Frank Abbing | et je pour Art qui Fütterung entsteht une différent fourmi. ouvrier, Königin usw. ou bien était cela seulement chez den Bienen so? |
|
|
| |
|
|
|
|
Frank Abbing: et je pour Art qui Fütterung entsteht une différent fourmi. ouvrier, Königin usw. ou bien était cela seulement chez den Bienen so?
Siehe ici mon lieber Frank [web]https://de.wikipedia.org/wiki/Ameisen[/web] |
|
|
| |
|
|
|
| Siehe la fois einer à - qui besitzen réellement komplexeres Sozialverhalten comme je... |
|
|
| |
|
|
|
Thomas Zielinski | Hab heut la fois spaßeshalber versucht qui viecher zum courir trop kriegen dans OGLBasic(qui libre version). Hab là seulement quelques Probleme: dans dem markiertem paragraphe sous Ant.kriechen: si je là alles auskommentiere jusqu'à sur qui une la ligne courir qui dinger zwar(sonst pas), mais seulement dans un direction: pour dessus à droite. Hat là quelqu'un ne concept? KompilierenMarqueSéparationDeclare 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
mais lente versteh Je l' nutzen de oop. là je qui Source sur qui page eh pas versteh hab je mir seulement cela video angeguckt quoi là passer soll. Salut Thomas |
|
|
| XProfan X4; Win10 x64 Der Kuchen ist eine lüge! | 14.06.2008 ▲ |
|
|
|
|
Thomas Zielinski | ensuite allez doch qui ganze Amusement verloren. Selber faire is viel besser. Zumal cela, pour en Beschreibung, zum apprendre de quelque chose comme son soll. |
|
|
| XProfan X4; Win10 x64 Der Kuchen ist eine lüge! | 14.06.2008 ▲ |
|
|
|
|
Frank Abbing | Du irrst. comment du déjà dit la hâte ist es un Profan-pour-Cpp Übersetzer. qui funktioniert mais pas renversé... |
|
|
| |
|
|
|
| @Thomas: So large sommes wir encore garnicht, s'il te plaît erstmal qui super diskutieren. |
|
|
| |
|
|
| |
|
- page 2 - |
|
|
Thomas Zielinski | iF
Ferenc ZüllichL'idée ist wirklich cool! [...] WEr nix zutun hat pourrait cela oui dans Angriff prendre (hab im Moment pas wirklich intérêt, mais voulais cela Thema auffangen)
nie gemacht comme Aufforderung gesehen, es doch juste la fois auszuprobieren.
iF
So large sommes wir encore garnicht, s'il te plaît erstmal qui super diskutieren.
je find qui sommes bien so comment ils sont.
Na égal. pour un paire Stunden Schlaf, is mir wenigstens qui faute eingefallen. Aus: KompilierenMarqueSéparation
If xp! = xz! AND yp! = yz! AND zp! = zz re> Wird: KompilierenMarqueSéparation
If (xp! = xz!) AND (yp! = yz!) AND (zp! = zz!)re> on beachte qui Klammern! Hab le reste nie faux gemacht. Möcht savons quoi mich là geritten hat. Jetz muss je bloß encore cela courir richtig hinbekommen.
Salut Thomas |
|
|
| XProfan X4; Win10 x64 Der Kuchen ist eine lüge! | 15.06.2008 ▲ |
|
|
|
|
Sebastian König | Ferenc Züllich
Stimm déjà Frank! mais si qui Autor des Programms chez sich im Quellcode simple un paire Zeilen ändert et pour uns cela konvertiert.... mais c'est wahrscheinlich doch pas so léger.
Allerdings pas - komplett Neuschreiben trifft es plutôt. et en supplément erscheint mir qui concept à vrai dire pas sinnvoll genug...
MfG
Sebastian |
|
|
| |
|
|