English
Regulars table & Café

Ameisensimulation

 
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  
 




Nico
Madysa
there Ameisen in the rule only on the ground herumkriechen, wealthy - of my Meinungs to - two Raumkoordinaten completely from.
and what Dou you mean with Energy/strength? Why is the a Gleitkommazahl?
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!//Position im Raum
energy!//Kraft
>
 
Nico Madysa
06/13/08  
 



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  
 




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.028 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