KI Anfänger Frage : Timer Problem

Spin

Top Contributor
Hallo,

ich möchte eine KI schreiben , die innerhalb von 5 Sekunden fertig ist.

Dazu habe ich einen Timer der von 60 Sekunden runterläuft. Ab 55 soll die KI mit ihrem Zug fertig sein.
Ich bekomme es aber in java einfach nicht hin!..

Java:
// starten des timer
this.gameTimer.startTimer(60);

// wenn der bei 55 ist
if .... // hier schon das problem

Ich muss irgendwie 5 Sekunden warten und das mit einem Thread. Aber während des Threads läuft mein Timer nicht runter, da dieser ja in irgendein swing Thread läuft.

Wie mache ich das jetzt am besten?
In den 5 Sekunden soll die KI alles gemacht haben. Wenn sie zufällig mehr als 5 Sekunden begraucht hat , dann bekommt sie Strafsteine.

Mein Problem ist , das ich in den 5 Sekunden alles machen möchte. Der Spieler gegen die KI sitzt dann vor dem PC und sieht was die KI in den 5 Sekunden tut. ( das ist aber noch wunschdenken ;) )

grüße spin und vielen dank


Anmerkung :

Java:
// set timer to 60 seconds
		this.gameTimer.startTimer(60);
		
		// Thread instanzieren
		computerThread = new Thread(runnable);
		// Thread starten
		computerThread.start();
		// 10 Sekunden warten
		try {
		Thread.sleep(5000);
		} catch (InterruptedException e) {}

der Timer soll jetzt 5 sekunden runterzählen, aber das passiert nicht :(. Wie kann ich das angehen?
Ich möchte doch einfach nur das ein Thread 5 Sekunden lang anddauert und in diesem bischen was passiert!
 
Zuletzt bearbeitet:

ChrisKu

Bekanntes Mitglied
Habe mir Deinen Post x-mal durchgelesen und ehrlich gesagt nicht richtig verstanden, was Du vorhast. Was für einen Timer benutzt Du denn? Normalerweise muss bei einem Timer ein Listener registriert werden, so dass eine definierte Methode nach der vorgegebenen Zeit ausgeführt wird. Aber warum dann den Hauptthread anhalten? Vielleicht kannst Du noch ein paar genauere Infos posten.
 

Cola_Colin

Top Contributor
Soll die KI nach 5 Sekunden zum stoppen gezwungen werden oder sollen nur Strafsteine verteilt werden ?
Bei ersterem wäre es wohl sinnvoll, die KI in einem Thread zu packen und diesen nach 5 Sekunden mit interrupt zu unterbrechen(was natürlich vom KI Algo unterstützt werden muss) bei zweiterem einfach die KI ausführen und die Zeit messen, die benötigt wird ?

Wobei ich mich frage, was das für eine Aufgabe ist, dass es 5 Sekunden für den Computer braucht um einen Spielzug zu machen...
 

Spin

Top Contributor
Vielen Dank , dass ihr euch die Zeit genommen habt meinen Post zu verstehen.


Nochmals : Ich möchte eine KI entwickeln die innerhalb von 5 - 10 Sekunden ihren Zug beendet hat.

In dem Spiel hat jeder Spieler Zeit um seinen Zug auszuführen und wenn die KI dran ist soll sie das in einem geringen Zeitraum schaffen.

Weiter habe ich einen TimerListener, der schon die Zeit runterzählt. Das funktioniert auch alles super.


Problem:

ich starte : starteComputerRound();

Java:
 // starte Timer mit 60 Sekunden ( bei 55 oder 50 Sekunden soll die KI fertig sein )

// WIE BEKOMME ICH HIER EIN DELAY HIN?


// prüfe ob Timer -> 55 ist dann springe zu computerEndRound();

Ich möchte als das eine Methode die bis zu 10 Sekunden braucht fertig zu sein.

Bis her ist es so dass ich fertig bin mit meinem Zug und die KI ist dran. Die KI brauch weniger als 1 ms und ich bin wieder dran. Ich möchte aber gerne erst nach 10 Sekunden wieder dran sein.


Hallo , für Profis ist meine Frage Kinderkram....das muss doch irgend wie möglich sein. Vielleicht ist meine Fragesetllung zu kompliziert oder ich denke einfach falsch.

Wenn ich ein Thread nehme , dann stopp ich alles andere und das will ich nicht.
Lösung vielleicht : die KI in einem Thread laufen zu lassen <-- aber dieser muss auch zwischen 5 - 10 Sekunden brauchen.

Danke an alle :)


Bei ersterem wäre es wohl sinnvoll, die KI in einem Thread zu packen und diesen nach 5 Sekunden mit interrupt zu unterbrechen

Das unterbrechen mache ich wie? Wie kann ich sagen das der Thread 5 Sekunden laufen soll?
Thread.sleep?? Dann geht meine ganze Anwendung nicht. Alles schläft die Zeit , und der Timerlistener decrmentiert nicht mehr.
 
A

anonym

Gast
Also: Du möchtest, dass die KI 5 Sekunden lang Kram machen darf. Danach nicht mehr.

Vorschlag: Du baust dir eine Klasse, die alle KI- Aktionen verarbeitet. Also bei allem was die KI macht, sagt sie dieser Klasse Bescheid (im MVC wäre das das Modell..., als Pattern eine Fascade vor dem Modell...oder vielleicht ein Proxy...).

Wenn die KI jetzt entscheidet, dass sie Aktion A macht, sagt sie also zu dieser Klasse "Ich mach A". Die Klasse antwortet dann entweder "Okay, gut" oder "Zeit ist um". Das Tolle daran ist, du brauchst keinen Timer! Stattdessen holst du dir mit currentTimeMillis() die Systemzeit, merkst dir, zu welcher Zeit die KI angefangen hat und berechnest dann die Differenz. Ist die länger als 5 Sekunden, "Sorry, Zeit ist um". Es wäre auch sehr einfach, der KI eine Möglichkeit zu geben abzufragen, wieviel Zeit sie noch hat.
 

Cola_Colin

Top Contributor
Ich möchte als das eine Methode die bis zu 10 Sekunden braucht fertig zu sein.
Ich kann beim besten Willen den Satz nicht verstehen.

Thread.sleep(5000) an richtiger Stelle im richtigen Thread und gut ist.

Wo startest du genau die Berechnungen der KI ? Das darf nicht im EDT passieren.
 

Spin

Top Contributor
Danke :)

@Anonym ich habe mit deinem Vorschlag nun die Zeit geholt und dann nach 5 Sekunden abgebrochen.

Kein Thread mehr und keine anderen krummen Ideen ;)
Hat sich somit erledigt. Entschuldigt die krude Herangehensweise.;(

Manchmal vom vielen Proggen, kann man nicht mal die einfachen Sachen :/:autsch:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
A Anfänger Taschenrechner Frage Java Basics - Anfänger-Themen 14
C Input/Output Anfänger Array-Verständnis Frage Java Basics - Anfänger-Themen 7
Spin Einfache Anfänger Frage setVisible von Panels Java Basics - Anfänger-Themen 5
P GUI Anfänger Frage Java Basics - Anfänger-Themen 4
S Java Anfänger - Tutorial Frage Java Basics - Anfänger-Themen 10
F Bubblesort---Frage von Anfänger Java Basics - Anfänger-Themen 2
L eine richtige anfänger-frage Java Basics - Anfänger-Themen 3
L Totale Anfänger Frage Java Basics - Anfänger-Themen 20
U Anfänger Frage - Ausgabe funktioniert nicht - Wieso? Java Basics - Anfänger-Themen 10
J Anfänger-Frage zu jar-Files / Manifest.mf / Classpath Java Basics - Anfänger-Themen 16
N RMI Anfänger Frage Java Basics - Anfänger-Themen 2
T Saudumme Frage, Sorry bin Anfänger :-/ Java Basics - Anfänger-Themen 12
J Anfänger-Frage Java Basics - Anfänger-Themen 4
B OOP was heißt objektorientiertes Programmieren (fragt ein absoluter Anfänger) Java Basics - Anfänger-Themen 17
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
M Java Programmierung Aufgabe Anfänger Java Basics - Anfänger-Themen 1
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
D Zahlentabelle Anfänger braucht Hilfe Java Basics - Anfänger-Themen 1
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
T Übungsbuch für Anfänger Java Basics - Anfänger-Themen 3
H Threads Anfänger Java Basics - Anfänger-Themen 17
C Erste Schritte Anfänger Verständnisfrage zum Compiler Java Basics - Anfänger-Themen 31
J Anfänger, Fehler; "Der Hund liegt begraben" Java Basics - Anfänger-Themen 3
K Buchstabenzähler Java (Anfänger) Java Basics - Anfänger-Themen 35
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
ehmo würfelspiel programmieren anfänger Java Basics - Anfänger-Themen 1
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
A Scanner Befehl Java Anfänger Java Basics - Anfänger-Themen 8
_Zabuza_ Erste Schritte Wie am effektivsten Java lernen als Anfänger? Java Basics - Anfänger-Themen 12
T Roulette für Anfänger Java Basics - Anfänger-Themen 7
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
K Java Anfänger Java Basics - Anfänger-Themen 5
F Hilfe für einen Anfänger! Java Basics - Anfänger-Themen 4
S Ein Java Anfänger braucht Hilfe Java Basics - Anfänger-Themen 5
P Übungsaufgaben für Anfänger? Java Basics - Anfänger-Themen 2
Z Unklarheit bei Übungsaufgabe [Anfänger] Java Basics - Anfänger-Themen 22
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
O Anfänger, Verständnisfrage Java Basics - Anfänger-Themen 3
CT9288 Mini Anfänger-Problem mit loops, statements und ; Java Basics - Anfänger-Themen 4
F Hilfe, bin Anfänger! Java Basics - Anfänger-Themen 4
R Erste Schritte Materialien für Java-Anfänger Java Basics - Anfänger-Themen 7
F Studium aufgabe ...Anfänger sucht hilfe :D Java Basics - Anfänger-Themen 24
F Anfänger braucht Hilfe :) Java Basics - Anfänger-Themen 3
F Abrechnungsprogramm erstellen Student (Anfänger) Java Basics - Anfänger-Themen 2
D Anfänger braucht Hilfe Java Basics - Anfänger-Themen 2
J Musikplayer zu schwer für Anfänger? Java Basics - Anfänger-Themen 3
F Wieso wird dieser Befehl nicht ausgeführt? (Anfänger) Java Basics - Anfänger-Themen 2
V Erste Schritte Anfänger: Ausführen eines Java-Programms Java Basics - Anfänger-Themen 5
Textsurfer Methoden Anfänger * Java Basics - Anfänger-Themen 5
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
C verwirrter Anfänger Java Basics - Anfänger-Themen 6
L Verzinsungsprogramm (Java-Anfänger) Java Basics - Anfänger-Themen 3
T Datentypen enum static Chaos (blutiger anfänger) Java Basics - Anfänger-Themen 5
I if/else Statements Java Anfänger Java Basics - Anfänger-Themen 14
D Anfänger-Fragen(Parameter einer Methode) Java Basics - Anfänger-Themen 7
H Schleifen (anfänger) Java Basics - Anfänger-Themen 13
H Methoden Bluej Anfänger Java Basics - Anfänger-Themen 13
M Erste Schritte Einfache Aufzugssteuerung programmieren - Anfänger Java Basics - Anfänger-Themen 2
D Anfänger-Problem mit dem HalloWelt-Programm Java Basics - Anfänger-Themen 5
S Compiler-Fehler Anfänger sucht Hilfe. Fehler beim Compilieren Java Basics - Anfänger-Themen 6
V Erste Schritte Java-Anfänger braucht Hilfe bei Arrays Java Basics - Anfänger-Themen 19
V Array mit Zufallszahlen - Anfänger - Hilfe Java Basics - Anfänger-Themen 12
J Anfänger hat Problem mit seinen Beet Java Basics - Anfänger-Themen 12
D Compiler-Fehler Anfänger Fehlermeldung Java Basics - Anfänger-Themen 3
das_leon if als Auswahl (Anfänger) Java Basics - Anfänger-Themen 1
N Anfänger Problem Java Basics - Anfänger-Themen 4
GoodGuy [Anfänger] Kann mal wer drüber gucken? Java Basics - Anfänger-Themen 3
R Erste Schritte Anfänger Probleme bei AnimationDrawable Java Basics - Anfänger-Themen 0
J Kleiner Taschenrechner! Anfänger braucht Hilfe :( Java Basics - Anfänger-Themen 2
C Taxiwarteschlange - Anfänger Java Basics - Anfänger-Themen 2
J Fehlermeldung : cannot invoke char(at) int on the primitive type int --- Anfänger Java Basics - Anfänger-Themen 5
I Java, Application, Eclipse (Anfänger) Java Basics - Anfänger-Themen 1
M Java Anfänger - Video Tutorial Reihe (DEUTSCH) Java Basics - Anfänger-Themen 11
C Anfänger: Array + Klasse Java Basics - Anfänger-Themen 5
S OOP Uhrenanzeige programmieren, Achtung Anfänger! Java Basics - Anfänger-Themen 9
B Compiler-Fehler Ein Java-Eclipse-Anfänger geht auf Reisen... Java Basics - Anfänger-Themen 10
A 2 kurze Anfänger fragen Java Basics - Anfänger-Themen 6
I totaler Anfänger braucht Hilfe Java Basics - Anfänger-Themen 8
I Erste Schritte Bücher für Jungedliche[Anfänger] Java Basics - Anfänger-Themen 20
T Hallo anfänger braucht Hilfe :D Java Basics - Anfänger-Themen 7
C Anfänger Anfänger Fragen Java Basics - Anfänger-Themen 8
D error: Class names, >>>HILFE, anfänger<<< Java Basics - Anfänger-Themen 4
J Hilfe für Anfänger Java Basics - Anfänger-Themen 8
E OOP Methode an andere Methode übergeben / OOP Anfänger Java Basics - Anfänger-Themen 4
Farbenfroh Exceptions Anfänger - Finde Fehler nicht Java Basics - Anfänger-Themen 7
H MergeSort (für Anfänger ) Java Basics - Anfänger-Themen 9
X Projekt Java Anfänger Java Basics - Anfänger-Themen 28
C Fehlersuche Adressbuch *Anfänger* Java Basics - Anfänger-Themen 5
C Anfänger braucht Hilfe bei Schularbeit Java Basics - Anfänger-Themen 3
J Erste Schritte Hilfe bei absolutem Anfänger-Projekt Java Basics - Anfänger-Themen 4
F Anfänger braucht Hilfe Java Basics - Anfänger-Themen 24
A Erste Schritte Übungen für Anfänger Java Basics - Anfänger-Themen 31
M Sieb des Eratosthenes für Anfänger Java Basics - Anfänger-Themen 10
M Tipps für einen Java-Anfänger Java Basics - Anfänger-Themen 5
S Anfänger Aufgaben Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben