English
Regulars table & Café

Ameisensimulation

 
- Page 1 -


Ferenc Züllich
The Idea is really calm!  [...] 
WEr nothing zutun has could the Yes in forward line take


an class for a ant could How looks?

(Have in the momentum not really interest, but wished the Topic snatch)
CompileMarkSeparation
class 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
>

Please complement, or not...

i'd But beautiful find only with the eyes at original abzuschauen.
 
06/13/08  
 



 
- Page 1 -


through omit the Y-Info would You you the Herunterfallenkönnen rob, would dank OGL Perhaps later pity.

energy! (strength) for nutrition/Gesättigt/able to work and - so less energy! faster ansteigendes damaged%. damaged% reduce if/as long as aliveState% on 2 (pennt strain) standing, pennen bring health, and Nahrungfinden bring energy! damaged% ought to then well no int separate sooner one float his, means damaged!

only ne idea
CompileMarkSeparation
class 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>

mere not consider what so a ant whom whole day treibt...
 
06/13/08  
 




Jac
de
Lad
an normal ant increase not -> staatenbildendes insect ala bee and termite. human iF, what have you got in the school learnt?
 
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
06/13/08  
 



I have still only whom Triebmodi% so called...
 
06/13/08  
 




Frank
Abbing
and according to manner the Fütterung arise a different ant. worker, Königin etc. or was only whom bees so?
 
06/14/08  
 




Frank Abbing: and according to manner the Fütterung arise a different ant. worker, Königin etc. or was only whom bees so?


See here my rather Frank
[web]https://de.wikipedia.org/wiki/Ameisen[/web]
 
06/14/08  
 



See time of/ one on - The own objectively komplexeres Sozialverhalten as i...
 
06/14/08  
 




Thomas
Zielinski
Have today time spaßeshalber attempts The viecher to that walk To catch in OGLBasic(The spare Version).
Have there only some Problems:
in the markiertem cut offed under Ant.cringe: if I there everything auskommentiere except for a row walk The pair of course(otherwise not), but only in a direction: to supra right.
has there someone ne idea?
CompileMarkSeparation
Declare 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


but slow versteh I the benefit of oop. Since I The Source on the Page eh not versteh Have I me only the video angeguckt what there occur should.
Greeting Thomas
 
XProfan X4; Win10 x64
Der Kuchen ist eine lüge!
06/14/08  
 




Thomas
Zielinski
then goes still the whole Fun lost. yourself make is much better. especially since the, to its Description, to that learn of something like his should.
 
XProfan X4; Win10 x64
Der Kuchen ist eine lüge!
06/14/08  
 




Frank
Abbing
You irrst. How You already said have is it one Profan-to-Cpp Translator. The functions but not inverse...
 
06/14/08  
 



@Thomas: so far are we yet not at all, Please first The class diskutieren.
 
06/14/08  
 



 
- Page 2 -



Thomas
Zielinski
iF
Ferenc Züllich
The Idea is really calm!  [...] 
WEr nothing zutun has could the Yes in forward line take


(Have in the momentum not really interest, but wished the Topic snatch)


I Have the as invitation seen, it still same time auszuprobieren.

iF
so far are we yet not at all, Please first The class diskutieren.


I find are well so How you're.

well alike. after a couple hours sleep, is me at least the Error invaded.
from:
CompileMarkSeparation
If xp! = xz! AND yp! = yz! AND zp! = zz
re>

becomes:
CompileMarkSeparation
If (xp! = xz!) AND (yp! = yz!) AND (zp! = zz!)re>

one mind The clinging! Have the still never wrong made. Möcht know what me there ridden has. Jetz must I mere yet the walk correctly. hinbekommen.

Greeting Thomas
 
XProfan X4; Win10 x64
Der Kuchen ist eine lüge!
06/15/08  
 




Sebastian
König
Ferenc Züllich
Stimm already Frank! But if the author the program with itself in the Source simply a couple Lines changes and us the konvertiert.... but this is probably still not so slight.


though not - complete Neuschreiben meets it sooner. and moreover appear me The idea sincere said not meaningfully enough...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
06/15/08  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

4.017 Views

Untitledvor 0 min.
RudiB.01/31/16
iF08/20/11

Themeninformationen



Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie