For Schleife geht nicht

Tommy56: Wo soll "Torpedo Firing" sein?

Gruß Tommy

Wie Finnlay schon gesehen hat, ab Zeile 115.

Hatte auch schon daran gedacht die Funktion, dass 3 mal hintereinander ein Abschuss erfolgt, bei Zeile 99 einzufügen, weil hier die if-Abfrage des Buttons für den Torpedo Effekt erfolgt. Hat ab3er auch nicht funktioniert.

Trace84: Wie Finnlay schon gesehen hat, ab Zeile 115.

Hatte auch schon daran gedacht die Funktion, dass 3 mal hintereinander ein Abschuss erfolgt, bei Zeile 99 einzufügen, weil hier die if-Abfrage des Buttons für den Torpedo Effekt erfolgt. Hat ab3er auch nicht funktioniert.

Das ist aber keine Funktion, sondern eine "for-Schleife".

Hi

Und: Innerhalb der Schleife wir die gleiche Zeit geprüft - 3x - an den Variablen, Die die Zeit beinhalten, tut Sich gar nichts.

Denke, Du willst in zeitlichen Versatz den Auslöse-Taster simulieren - der Rest 'Oha, der Taster wurde gedrückt, lass Mal Krach machen' sollte dann wieder von Alleine ablaufen.

MfG

HotSystems: Das ist aber keine Funktion, sondern eine "for-Schleife".

Vielen Dank für den hilfreichen Hinweis. Damit bin ich dem Problem bereits ein Stück näher gekommen.

postmaster-ino: Hi

Und: Innerhalb der Schleife wir die gleiche Zeit geprüft - 3x - an den Variablen, Die die Zeit beinhalten, tut Sich gar nichts.

Denke, Du willst in zeitlichen Versatz den Auslöse-Taster simulieren - der Rest 'Oha, der Taster wurde gedrückt, lass Mal Krach machen' sollte dann wieder von Alleine ablaufen.

MfG

Bisher ist es so, dass der "Krach" mit dem Lichteffekt zusammen 1x bei längerem Drücken des Tasters ausgeführt wird. Ich hätte aber gern, dass diese Effekt 3x ausgeführt wird.

Trace84: ..... Bisher ist es so, dass der "Krach" mit dem Lichteffekt zusammen 1x bei längerem Drücken des Tasters ausgeführt wird. Ich hätte aber gern, dass diese Effekt 3x ausgeführt wird.

Dann musst du diese Schleife außerhalb deiner Button-Abfrage laufen lassen und eine Merker-Variable dazu einsetzen, wenn der Button gedrückt wurde. Und das am besten in einer eigenen Funktion.

HotSystems: Dann musst du diese Schleife außerhalb deiner Button-Abfrage laufen lassen und eine Merker-Variable dazu einsetzen, wenn der Button gedrückt wurde. Und das am besten in einer eigenen Funktion.

Dir ist schon klar, dass ich diesen Topic erstellt habe, weil ich nicht weiß wie es geht, oder?

Trace84: Dir ist schon klar, dass ich diesen Topic erstellt habe, weil ich nicht weiß wie es geht, oder?

Neeee.....woher soll ich wissen, was du weist und was nicht. Ich habe doch beschrieben, wie es geht. Was musst du noch wissen ?

Wie man eine Funktion schreibt ?

HotSystems: Neeee.....woher soll ich wissen, was du weist und was nicht. Ich habe doch beschrieben, wie es geht. Was musst du noch wissen ?

Wie man eine Funktion schreibt ?

Wenn du mal mit dem Auto stehen bleibst, den ADAC anrufst, der Typ aussteigt, die Motorhaube öffnet und sagt "Sie müssen nur die paar Schrauben entfernen, den Kolben und Ventile tauschen und dann können Sie weiterfahren" möchte ich mal dein Gesicht sehen. Ist doch ganz einfach oder? Was musst du noch wissen? Woher soll denn der ADAC-Typ wissen was du weißt und was nicht?

Hallo....du hast wohl nicht begriffen, wo du bist.

Der ADAC kosten Geld....falls du weist, was das ist.

Wir machen hier alles kostenlos in unserer Freizeit und sind nicht deine Grundschullehrer. Also mitarbeiten sonst wird das nix.

HotSystems: Hallo....du hast wohl nicht begriffen, wo du bist.

Der ADAC kosten Geld....falls du weist, was das ist.

Wir machen hier alles kostenlos in unserer Freizeit und sind nicht deine Grundschullehrer. Also mitarbeiten sonst wird das nix.

Mich hat noch keiner aufgeklärt wo bin ich hier. Würdest du das bitte übernehmen?

Und es heißt "kostet Geld" nicht "kosten Geld" und wenn dein "weist" sich auf den Wortstamm "Wissen" und nicht auf weisen (im Sinne von jemanden leiten) bezieht, wird es mit ß geschrieben. Das schreibe ich dir, obwohl ich in meiner Freizeit bin und kein Grundschullehrer.

Oder wolltest du mir jetzt sagen, dass die Qualität deiner Antworten von einer Zahlung abhängig ist? Dann muss ich nochmal in den Forenregeln nachlesen und gucken, ob das überhaupt erlaubt ist.

Aber zurück zum Thema. Definitiv will ich hier keine vorgefertigte Lösung haben. Denn daraus lernt man nichts. Wenn man aber nicht einmal weiß, wo man anfangen soll, kann man sich sonst wieviele Seiten und Beispiele von Funktionen und Schleifen angucken wie man will und wird trotzdem nicht schlauer. Warum? Nun, weil die meisten Anwendungen sehr individuell sind und Beispiele und Erklärungen sich oft nur auf einfache Mechanismen wie das Blinken einer LED beziehen.

PS: mehr als Danke sagen kann ich hier leider nicht, wenn dir das nicht reicht um in deiner Freizeit als "Nicht-Grundschullehrer" Tips zu geben, möchte ich auf deine Hilfe verzichten. Denn keinesfalls möchte ich, dass du dich zu etwas genötigt fühlst, wenn man als blutiger Anfänger nicht sofort weiß wie man eine Wiederholungs-Schleife mit einer Merker-Variablen außerhalb der eigentlichen Button-Abfrage schreibt.

OK....Glückwunsch, lesen kannst du ja.

Dann lies dir auch die Sprach-Referenz zum Arduino durch, die findest du hier im Menü. Offensichtlich ist das aber zu schwer für dich, sonst würdest du nicht derartig reagieren.

Denn mit deiner Arroganz wirst du vermutlich nicht viel Hilfe bekommen. Wenn doch, nochmals Glückwunsch.

HotSystems: OK....Glückwunsch, lesen kannst du ja.

Dann lies dir auch die Sprach-Referenz zum Arduino durch, die findest du hier im Menü. Offensichtlich ist das aber zu schwer für dich, sonst würdest du nicht derartig reagieren.

Denn mit deiner Arroganz wirst du vermutlich nicht viel Hilfe bekommen. Wenn doch, nochmals Glückwunsch.

Mit meiner Arroganz (dir gegenüber) bekomme ich definitv keine Hilfe. Das stimmt! Und war ja auch genau meine Absicht, falls du das PS gelesen hast.

HotSystems: Hallo....du hast wohl nicht begriffen, wo du bist.

Der ADAC kosten Geld....falls du weist, was das ist.

Wir machen hier alles kostenlos in unserer Freizeit und sind nicht deine Grundschullehrer. Also mitarbeiten sonst wird das nix.

HotSystems: Neeee.....woher soll ich wissen, was du weist und was nicht. Ich habe doch beschrieben, wie es geht. Was musst du noch wissen ?

Wie man eine Funktion schreibt ?

Na zum Glück ist das nicht arrogant. Danke

Hi

Meinst Du, SO bekommst Du wirklich mehr Hilfe? Sofern die 84 in Deinem Nick kein Alter ist - ok, dann eigentlich auch - solltest Du aus der Trotz-Phase bereits draußen sein.

Uns ist durchaus klar, daß Du irgendwo ein Problem hast - sonst wärst Du wohl nicht hier aufgeschlagen (kommt aber schon selten vor, daß Wer nur zum Trollen vorbei schaut). Auch können wir recht schnell erkennen, WER den Anfangs-Post geschrieben hat - keine große Kunst - also ist auch dieser Hinweis von Deiner Seite eher 'für die Doofen unter Euch' - was nun auch wieder nicht sonderlich toll ankommt.

Wollen wir uns nun auf das von Dir angedachte Niveau begeben, oder wieder wie halbwegs zivilisiertes Volk halbwegs erwachsen miteinander kommunizieren?

Zur aller größten Not hätte ich auch eigene Probleme mit meinen Arduinos ... Die mir eigentlich wesentlich wichtiger sind, als Deine!

MfG

postmaster-ino: Hi

Meinst Du, SO bekommst Du wirklich mehr Hilfe? Sofern die 84 in Deinem Nick kein Alter ist - ok, dann eigentlich auch - solltest Du aus der Trotz-Phase bereits draußen sein.

Uns ist durchaus klar, daß Du irgendwo ein Problem hast - sonst wärst Du wohl nicht hier aufgeschlagen (kommt aber schon selten vor, daß Wer nur zum Trollen vorbei schaut). Auch können wir recht schnell erkennen, WER den Anfangs-Post geschrieben hat - keine große Kunst - also ist auch dieser Hinweis von Deiner Seite eher 'für die Doofen unter Euch' - was nun auch wieder nicht sonderlich toll ankommt.

Wollen wir uns nun auf das von Dir angedachte Niveau begeben, oder wieder wie halbwegs zivilisiertes Volk halbwegs erwachsen miteinander kommunizieren?

Zur aller größten Not hätte ich auch eigene Probleme mit meinen Arduinos ... Die mir eigentlich wesentlich wichtiger sind, als Deine!

MfG

Sätze wie "du hast wohl nicht begriffen wo du hier bist" und "wir sind nicht deine Grundschullehrer" ist also ein halbwegs zivilisiertes Niveau?

Auch die Anspielung auf mein Alter oder eines angeblichen Trotz und Troll-Verhaltens ist also das Niveau, welches hier gewünscht ist?

Wenn man bedenkt, dass ich lediglich darauf hingewiesen habe, dass ich keineswegs weiß, WIE der Vorschlag von HotSystems umzusetzen ist, sind solche Aussagen mehr als nur fehl am Platz.

Einem Anfänger vorzuschlagen er müsse einfach nur eine Merkervariable in eigener Funktion außerhalb der Buttonabfrage einsetzen hilft genauso wenig weiter wie vorzuschlagen für den Widestand nur die Spannung durch die Stromstärke zu teilen.

Beide Aussagen mögen per se richtig sein und total einfach. Helfen aber einem Anfänger nicht beim WIE weiter.

Hi

Wie Du willst - zumindest eines meiner Probleme konnte ich in der Zwischenzeit lösen.

Gutes Gelingen auch Dir!

MfG

postmaster-ino: Hi

Wie Du willst - zumindest eines meiner Probleme konnte ich in der Zwischenzeit lösen.

Gutes Gelingen auch Dir!

MfG

Ich als Anfänger wollte hier nur eine Hilfestellung und werde gleich angefeindet, weil ich nicht sofort sämtliche Fachbegriffe kenne und nicht weiß, wie diese in einem Sketch umzusetzen sind (ein Autofahrer kann das Auto bedienen, weiß aber noch lange nicht, wie es zu reparieren ist).

Und dann wird noch derjenige in Schutz genommen, der ohne Grund sofort herablassend und beleidigend antwortet. Und du selbst hast noch mitgemacht, indem du auf mein geistiges Alter anspielst.

Tolles Forum....Stichwort: Hetze im Netz

Das wars. Bin raus hier!

PS: ich habe übrigens nicht darauf hingewiesen WER den Anfangspost gemacht hat, sondern, dass ich ihn gemacht habe, weil ich nicht weiß, wie ich etwas umsetzen soll....das hatte also nichts mit deinem "für die Doofen unter euch" zu tun.

Trace84: Ich als Anfänger wollte hier nur eine Hilfestellung und werde gleich angefeindet, .....

Es reicht jetzt.

Keiner hat dich angefeindet, du wirst allerdings beleidigend. Das gehört hier tatsächlich nicht her, also gute Reise.

HotSystems: Es reicht jetzt.

Keiner hat dich angefeindet, du wirst allerdings beleidigend. Das gehört hier tatsächlich nicht her, also gute Reise.

Mich darauf hinzuweisen, dass ihr nicht meine Grundschullehrer seid ist kein anfeinden? Oder zu schreiben "Glückwunsch, lesen kannst du" oder dass ich eine Referenz lesen soll, dass aber "offensichtlich ist das aber zu schwer für dich" ist keine Beleidigung?

Von Geld zu reden und zu sagen "falls du weißt was das ist" auch nicht?

Mir zu sagen, ich müsste meines Alters entsprechend aus der Trotzphase raus sein oder dass mein Niveau nicht mal halbwegs zivilisiert ist, ist ebenfalls weder Anfeindung noch Beleidigung?

Was denn bitte dann?

Um es nochmal deutlich zu machen. Ich habe dir (HotSystems) geschrieben, dass ich hier keinen Topic erstellen würde, wenn ich wüsste, wie ich etwas umsetzen muss. Daraufhin hast DU den Spruch mit dem Grundschullehrer geschrieben und dass ich wohl nicht begriffen hätte wo ich hier bin!

Also rede nicht davon, dass mich keiner anfeindet, wenn DU derjenige bist, der mit diesen Sprüchen angefangen hat!

PS: werde nun meinen Account löschen, vielen Dank euch beiden!

Also um mal zur Fragestellung zurückzukommen:

for (int i = 0; i < 3; i++){
  
  if ((currentMillis-torpedoTime) < torpUpTime && torpedoPushes > 0){
    
    //Aktion
    
  }

Kann so nicht klappen, da an die if-Bedingung den zeitlichen Abstand der drei Aktionen gar nicht berücksichtigt. Im Moment wird einfach nur in jedem Loop 3-mal geprüft, ob die Zeit erreicht ist und dann ggf. auch drei mal die gleiche Aktion ausgeführt. Das passiert jedoch quasi gleichzeitig und ist von außen nicht wahrnehmbar. Stattdessen müsste pro Loop getestet werden, ob noch eine Aktion gemacht werden muss, z.B. über eine passende Variable ("übrige Schüsse") oder so. Wenn die größer als 0 ist, soll er schießen und dann nach Ablauf der "Schusszeit" erneut prüfen.

So was macht man sowieso nicht mit einer for Schleife, weil blockierend.

Mit dem Taster eine Variable auf 1 setzen und am Ende des gewünschten Effektes (der mit if aktiviert wird) eins hochzählen. Wenn grösser 3 die Variable nullen. Fertisch. Dann muss man nur den Taster losgelassen haben, sonst geht der Effekt halt länger. Notfalls eine state machine rein, falls man die Pausen, etc. Besser kontrollieren will.