Simulation
Übersicht

Gehe zu Seite Zurück 1, 2, 3 Weiter
Ixam |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke dafür erstmal, aber das wusste ich auch. Mein Problem ist eher, dass ich zwei Variablen der Types vergleichen will. Nämlich so:
Code: [AUSKLAPPEN] For B.Bakterie = Each Bakterie If B\posx% = B\posx% And B\posy%=B\posy% And B\Posz%=B\Posz% Then Delete B.Bakterie MengeB%=MengeB%-1 EndIf Next In einer schleife zuvor wird den Variabeln B\posx... ein wert zu gewiesen Das problem ist: entweder er löscht alle oder gar keins Nächste Frage: Code: [AUSKLAPPEN] file = ReadFile("Erreger.txt") Erreger$=ReadLine(file) CloseFile(file) ;---------------------- Erregerdat$=Erreger$+".txt" ;------------------------------ krankheit= ReadFile(Erregerdat$) For i = 1 To 7 Zeile(i)=ReadLine(krankheit) Next fl#=ReadFloat(krankheit) CloseFile(krankheit) Warum sagt der Computer, dass der stream nicht existiert? Ixam |
||
Ixam |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sind die antworten denn so kompliziert? ![]() Ixam |
||
![]() |
panda |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] For B.Bakterie = Each Bakterie
If B\posx% = B\posx% And B\posy%=B\posy% And B\Posz%=B\Posz% Then Delete B.Bakterie MengeB%=MengeB%-1 EndIf Next Hast du dir die Types den genauer angeschaut und die tuts durch gekaut? Fang lieber ein Program oder so eine Komplexe Simulation an, wenn du Types Beherrscht Zeit und die anderen Sachen. Bei Delete B.Bakterie must du Delete First Bakterie hinmachen oder Last schau dir auf der www.blitzbase.de seite die Types an. |
||
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Delete First und Last nützt hier gar nix
Statt dessen brauchst Du zwei Schleifen: Code: [AUSKLAPPEN] for a = each blup for b = each blup if a<>b then if a\pos = b\pos then delete b ;Aufpassen, a darf hier so nicht gelöscht werden, da ja in der b-Schleife wieder auf a abgefragt wird. Hier müsste sonst noch ein Exit rein. endif next next |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
Ixam |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke probier ich mal aus!
Aber was bedeutet <> ? Und zum zweiten Problem: Könnte es daran liegen, dass ich weiter vorne im Programm das Verzeichnis wechsle? Ixam |
||
Ixam |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sorry für den Doppelpost aber das past echt nicht oben rein:
Wie kommt man aus einem verzeichnis zurück ins vorige? Ixam |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
übergeordneter ordner ist der ordner mit dem namen ".." und <> heißt ungleich | ||
Ixam |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
FTC hat Folgendes geschrieben: übergeordneter ordner ist der ordner mit dem namen ".."
Hä? Ixam |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
".." ist der Dateilink der dich in den Parentordner springen lässt. *oder im Commandwindow cd ..* | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Ixam |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und wie benutz ich ".." ![]() Ixam |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
^^
Du musst einfach als Ordner-Name ".." screiben ![]() Zitat: "..\lol.txt"
Das wäre eine Textdatei im übergeordeten Ordner ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
Ixam |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich kann die Schleife nicht einbauen, da immer ein fehler kommt ![]() an was kann's liegen? Hat jemand eine idee warum das: Code: [AUSKLAPPEN] file = ReadFile("Erreger.txt")
Erreger$=ReadLine(file) CloseFile(file) ;---------------------- Erregerdat$=Erreger$+".txt" ;------------------------------ krankheit= ReadFile(Erregerdat$) For i = 1 To 7 Zeile(i)=ReadLine(krankheit) Next fl#=ReadFloat(krankheit) CloseFile(krankheit) Nicht funktioniert? Ixam |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: krankheit= ReadFile(Erregerdat$)
ich tippe mal darauf die datei gibt es net und wenn du dann versuchst mit Zitat: Zeile(i)=ReadLine(krankheit)
was aus dieser nicht existierenden datei zu lesen wirds knifflig^^ mein tipp: Code: [AUSKLAPPEN] file = ReadFile("Erreger.txt")
Erreger$=ReadLine(file) CloseFile(file) ;---------------------- Erregerdat$=Erreger$+".txt" ;------------------------------ krankheit= ReadFile(Erregerdat$) IF KRANKHEIT<>0 ;WENN DIE DATEI EXISTIERT For i = 1 To 7 Zeile(i)=ReadLine(krankheit) Next fl#=ReadFloat(krankheit) CloseFile(krankheit) ELSE;wenn nicht RUNTIMEERROR "DIE KRANKHEIT EXISTIERT NICHT!!!!";zb Meldung geben ENDIF |
||
Ixam |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke da bin ich aber grad selber draufgekommen ![]() Und wie ist das mit der schleife? Da komme ich nicht dahinter wo das Problem sein könnte Außerdem tritt bei diesem Code: Code: [AUSKLAPPEN] ;Leukozytenentstehung und sterben For F = Each Leukozyt If F\gefressen% = 10 Then Delete F ;If F\gefressen%= 10 Then Mengel% = Mengel%-1 Next ;EndIf F = First Leukozyt Delete F Mengel= Mengel-1 SeedRnd MilliSecs() For i=1 To 1 F=New Leukozyt F\posix%=Rand(0,Breite%) F\posiy%=Rand(0,Hoehe%) F\Posiz%=Rand(0,tiefe%) F\gefressen% = 0 MengeL% = MengeL% + 1 Next ;Fressen For F = Each Leukozyt For B = Each Bakterie If B\posx% = F\posix% And B\posy%=F\posiy% And B\posz% = F\posiz% Then MengeB% = Mengeb% - 1 And F\gefressen% = F\gefressen% + 1 If MengeB% = 0 Then Immunsytemgewinnt ;And Ende If MengeB%<1 Then End Next Next Das Problem auf, dass anscheinend alle Bakterien auf einen Schlag gelöscht werden, obwohl die Positionen per Zufall bestimmt werden. Wo liegt der Fehler? Ixam |
||
Ixam |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hat denn keiner ne Idee? ![]() ![]() ![]() Ixam |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wo kommt der Fehler? Zeile? Was kommt als Fehlermeldung? Dabei den Debugger einschalten!
Ansonsten, wenn es zB nichts mehr gibt, werden folgende Zeilen ein Fehler verursachen. Code: [AUSKLAPPEN] F = First Leukozyt
Delete F Tipp 1: Variablen Menge... würde ich generell nicht hoch und runter zählen, sondern in einer Schleife wo eh alle durchgegangen werden von 0 an hoch zählen. Tipp 2: Ausserdem, wo dir grad geholfen werden konnte, hast du ziemlich Zeitnah neue Fragen gestellt. Ich würde dir raten, sich selbst erstmal mit Problemen aussernader zu setzen. Das bedeutet, dass du auch die Codes verstehen musst, auch die, die dir gegeben wurden. Sonst tust du dir selbst kein Gefallen damit. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Nooby |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab mir das ganze Thema hier einmal durchgelesen und will jetzt auch mal 3 Dinge dazu sagen:
1. Möchte ich klarstellen, das Ixam auf Seite 1 mit der Menge der natürlichen Zahlen recht hatte. Wenn es eine Menge der "natürlichen ganzen Zahlen" gäbe, wären sie identisch. 2.Ixam hat Folgendes geschrieben: For B.Bakterie = Each Bakterie
If B\posx% = B\posx% And B\posy%=B\posy% And B\Posz%=B\Posz% Then Delete B.Bakterie MengeB%=MengeB%-1 EndIf Next Wenn hier alle Bakterien gelöscht werden, würde es mich nicht wundern, denn die Bedingung ist soviel wie "1=1"... Im Beitrag weiter unten ist das anders... vielleicht wars ein Bug, vielleicht auch nicht. 3. @Bladerunner: Du immer mit deiner Glaskugel^^ ![]() |
||
DAS PERPETUOMOBILE!!!
http://www.sax.de/~stalker/pad/199801/ |
Ixam |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo
Ich habe inzwischen eine andere Frage : Code: [AUSKLAPPEN] Repeat
Teilungm% = (MengeB%*2)/2 LiterG# = mengeG# * mengeB% litertox# = litertox# + LiterG# ;+ mengeG# * mengeB% If litertox# > maxgift% Then Exit ;Bakterien vermehrung If Durchlauf% Mod teilg% = 0 Then SeedRnd MilliSecs() For i=1 To Teilungm% B=New Bakterie B\posx%=Rand(0,Breite%) B\posy%=Rand(0,Hoehe%) B\Posz%=Rand(0,tiefe%) DrawImage bakimgg, B\posx%,B\posy% MengeB% = MengeB% + 1 Next EndIf Repeat If MengeB% > Hoehe% Then MengeB%=MengeB%-10 Until MengeB% < Hoehe% ;____________ ; Print MengeB%+", "+literG#+"zeit:"+ Durchlauf% Delay zeitraf% Durchlauf% = Durchlauf% + 1 Text 350,40, "Zeit in min: "+Durchlauf% Text 350,60, "Menge bakt. : "+ mengeB% Text 320,80, "Menge toxine :"+literG# Until KeyHit(1) Wenn ich das nun durchlaufen lasse überschreibt sich der text nach kurzer Zeit und man nichts mehr erkennen. Wie kann ich nun den text "lesbar machen" ohne, dass die Bilder gelöscht werden? Danke ixam |
||
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
das geht ganz einfach mit Double Buffering.
Also.Schreib ganz oben unter graphics Code: [AUSKLAPPEN] Setbuffer backbuffer()
so, dann schreibst du ans Ender deiner Hauptschleife: Code: [AUSKLAPPEN] Flip
cls und schon dürfte man alles ganz gut lesen können. Schau dir einfach mal den befehl Setbuffer() in der Onlinehilfe an. mfg mas93 |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
Progger93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du allerdings nicht alles löschen willst und der text auf schwarzem hintergrund steht kannst du vor den alten text schwarze rechtecke oder so zeichnen.
Wenn bilder dahintert sind dann kannst du solange sich die bilder hinter dem text nicht bewegen, das was hinter dem text steht als bild speichern und bei jedem durchlauf wieder über den text zeichnen. MFG Pascal @mas93: Ixam sagt doch " ohne, dass die Bilder gelöscht werden" |
||
MfG Pascal
Win 7|T7250@2.0Ghz|3GB RAM|M8600GT |
Gehe zu Seite Zurück 1, 2, 3 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group