Einmalige Schleife!
Übersicht

![]() |
Raiden93Betreff: Einmalige Schleife! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo ich habe das Problem das ich nur Tutorials finde wo schleifen beschrieben wird und das die die ganze zeit durchlaufen aber nicht wie ich es hinkriege das es nur einmal durchläuft so gesagt das z.b etwas passiert ich aber auch 1 Punkt dafür kriege und nicht 100000Punkte in einer sekunde. | ||
![]() |
Tennisball |
![]() Antworten mit Zitat ![]() |
---|---|---|
Benutze Flags (Variablen, die dir anzeigen, ob etwas schon passiert ist)
mfg, Tennisball |
||
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Suchst Du vielleicht If![]() |
||
Starfare: Worklog, Website (download) |
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Der Sinn einer Schleife ist es, den Inhalt mehrmals ausführen zu lassen. Nur deshalb macht man überhaupt Schleifen.
Wenn du etwas nur 1 Mal machen willst, brauchst du keine Schleife dafür. Mach es einfach und fertig. |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Omenaton_2 ![]() Wenn du eine sache ein mal machen willst musst du die Bedingung stören, die das auslöste. zB wie Tennisball sagte mit ner Variable die dann an geht: Code: [AUSKLAPPEN] If Bedingung And Punkte_gegeben=0
Punkte_gegeben=1 ... EndIf oder die Bedingung selbst ausschaltest. |
||
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, aber die Abfrage einer Bedingung ist noch keine Schleife.
Ein "If Then Konstrukt" ist keine Schleife. For Next und Repeat Until, etc sind Schleifen. |
||
![]() |
Tennisball |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist uns doch klar, Omenaton_2.
Ich denke mal Raiden will in sein Spiel (in der Hauptschleife) eine Abfrage machen, ob man z.B. an Ort xyz ist und dass dann Punkte gegeben werden. Aber eben nur einmal. |
||
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich sage sowas nur ungerne (ich will nicht kritisieren), aber die Frage ist zu undeutlich formuliert. Ich verstehe die Frage nicht.
In dem einzigen Satz sind locker 12+ Rechtschreibfehler und grammatikalische Fehler drin. Eine so formulierte Frage erschwert eine passende Antwort ganz erheblich. |
||
![]() |
Raiden93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
wird man hier diskriminiert oder weitergeholfen wie im Kindergarten hier ehrlich in meinem Buch steht das in diesem Forum mir weitergeholfen werden kann wenn ich mal nicht weiter kommen -.-!
Also ich habe ein Spiel das wie ein klassisches aufbau Browsergame aufgebaut ist.So man hat eine mauer wo Angreifer durch Zufall mal angreifen nur habe ich jetzt das Problem das nur ein Sound zu erkennen gibt wann man angegriffen wurde und da habe ich mir gedacht machst du mal einfach einen Text der dann angezeigt wird für sagen wir mal 5 Sekunden auch eingeblendet bleibt.Das Problem ist nur das ich den Text nicht mehr aus der schleife kriege das er nur 5Sekunden eingeblendet wird sondern für immer oder wenn alle 5 Sekunden .Ich weis zwar das ich was mit Millisecs machen muss aber mir fällt nach langem überlegen einfach nicht ein wie ich das Reallisieren kann :/ ich habe das Problem schon extra ein wenig bei Seite geschoben weil ich dachte vielleicht fällt mir ja später was ein aber erfolglos. Hier der Link zu meinem Game: http://rapidshare.com/files/41...ra_0.5.rar Ich Persönlich finde mein Game schon recht Gut nur ich habe zur Zeit nicht viele Möglichkeiten wirklich das zu verwirklichen was ich möchte bin noch am Lernen... Habe mir extra das Buch "Hack'n'Play - Spiele programmieren" gekauft. |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du wirst hier nicht diskriminiert, sondern kritisiert. Rechtschreibung, Grammatik und Interpunktion ist die Grundlage auf der wir Kommunizieren - wenn du wirklich Hilfe willst, nimm dir auch die Zeit sauber aus zu formulieren was du möchtest.
In Büchern kann viel stehen - es gibt hier kein Anrecht auf Hilfe - nur das freiwillige Angebot. Kann sein, dass du es nicht so meinst, aber es klang etwas fordernd... Die Antworten die dir schon gegeben wurden, sollten dir eigentlich schon reichen - ich würde dir Raten, einen Type für Textnachrichten an zu legen die du eine bestimmte Zeit lang anzeigen lassen kannst und dann löschst du den Type-Eintrag wieder. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also sowas wie Nachrichten würde ich, in der Annahme, dass mehrere in kurzer Zeit angezeigt werden können, in Types speichern, mit den Fields Nachricht und Einblendzeitpunkt.
Die Nachricht zeigst Du normal per Text an, und wenn Millisecs() - Einblendzeitpunkt >= 5000 ist, dann kannst Du die Nachricht wieder entfernen mit Delete. |
||
Starfare: Worklog, Website (download) |
- Zuletzt bearbeitet von ZaP am Mi, Sep 01, 2010 15:15, insgesamt einmal bearbeitet
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
In diesem Forum wird Dir sicher gerne weitergeholfen und ich sehe auch keine Diskrimierung, nur sollte auch die Frage konkret und korrekt gestellt sein. Das macht es dem Hilfesteller deutlich leichter dem Hilfesuchenden auch konkret und korrekt zu helfen. Zusammengefasst würde ich das mit Eigeninitiative umschreiben ![]() ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Raiden93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okay ich werde es versuchen nur mein Deutsch ist ein wenig schwach.
Ich werde mir die Tipps zu mute nehmen nur ich verstehen das mit den Types und Dim Feldern noch nicht das ist auch wirklich das einzige was mir alles ein wenig Schwierig macht. Ich habe mir zwar schon viele Tuts durchgelesen und in meinem Buch wird das auch nochmal beschrieben nur Kapiere ich das noch nicht ganz.Für mich sehen Types,Dim Felder aus wie eine liste aber warum sollte ich eine liste machen wenn ich mir einfach eine Funktion machen kann wo ich halt eine liste reinschreiben kann?. Mein ganzes Spiel(Kongra) ist ohne 1 Types/Dim Feld. |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein Beispiel für Types: Du hast eine unbestimmte Anzahl an Schüssen. Unbestimmt weil Du ja nicht wissen kannst wieviel der Spieler Schüsse im Spiel abgeben wird. Da drängen sich Types geradezu auf.
Ein Beispiel für ein Array (Dim): Eine Karte aus Tiles wie sie sehr oft in Jumpn Runs und dergleichen verwendet wird. Die Größe der Karte ist von vornherein klar und ändert sich nicht. Viele Informationen in einer "einzigen" Variable wenn man so will. Wenn Du bisweilen Dein Projekt ohne diese beiden Arten der Informationsverwaltung erstellen konntest ist es recht, früher oder später kommst Du aber nicht drumherum ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es tut mir leid, daß du meine berechtigte kritische Anmerkung als "Diskriminierung" aufgefaßt hast. Ich habe es nicht schlecht gemeint. Wenn du solche Probleme mit der deutschen Sprache hast, dann schreib doch zur Not auf Englisch (oder lern Deutsch).
So geht das was du vorhast : Code: [AUSKLAPPEN] ; Vorne definieren :
Global Meldung$ = "" Global TMR_ErrorMeldung = MilliSecs() ; ; Wenn der Angriff statfindet und du die Meldung anzeigen willst, dann einmalig die Meldungausgabe initialisieren : Meldung$ = "Du wirst angegriffen !" ErrorMeldung = MilliSecs() ; Dann kannst du in der Hauptschleife (oder von dort aus durch Gosub oder Function aufrufen) die Anzeige erledigen : If ErrorMeldung$ <> "" Then Text 640, 400, ErrorMeldung$, True If TMR_ErrorMeldung + 5000 < MilliSecs() Then ErrorMeldung$ = "" TMR_ErrorMeldung = MilliSecs() Endif Endif |
||
![]() |
Raiden93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich danke dir werde ich gleich mal ausprobieren bin nur gerade mit dem Angriff System beschäftigt^^ | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group