JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=05e9077a2a20a1779289aaabab0447b3Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Release Versionen
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 01.06.2003, 16:25    Titel: Antworten mit Zitat

Sry für den dreifachpost

Hi,
Ich hab jetzt einen Fehler - wenn auch einen unerklärlichen – in der Künstlichen Intelligenz gefunden
Code:
 //Variablen: ist der Gegner genau auf dem Feld?
BOOL GenauAufX=FALSE;
BOOL GenauAufY=FALSE;

float XPos=(float)Enemy[Gegner].GetX();
float YPos=(float)Enemy[Gegner].GetY();

//Test: ist Gegner genau auf dem Feld?
if((XPos/50.0f)==((int)XPos/50))
{
   GenauAufX=TRUE;
}
if((YPos/50.0f)==((int)YPos/50))
{
   GenauAufY=TRUE;
}

Dieses Codestück berechnet, ob der Gegner sich genau auf dem „50*50-Raster“ befindet. Komischerweise funktioniert der Code nicht in der Releaseversion, aber ohne Veränderung in der Debugversion.
Dieses Problem hab ich jetzt mit % umgangen:
Code:
 if(XPos%50==0)
{
   GenauAufX=TRUE;
}
if(YPos%50==0)
{
   GenauAufY=TRUE;
}

Dieses eine Problem wäre gelöst. Allerdings spinnt jetzt die KI – wie immer nur in der Releaseversion. Also, entweder muss ich die Version mit besoffenen Gegnern rausgeben, oder ihr müsst noch ein paar Tage(vielleicht mehr, vielleicht weniger) warten. Was haltet ihr davon? Haltet ihrs noch ein paar Tage aus?
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 01.06.2003, 17:37    Titel: Antworten mit Zitat

Der Code überprüft ja ob wie du schon gesagt, sich das "Ding" auf 50/50 befindet.
Aber laut diesem Code bleibt das ja immer so, auch wenn er wieder nicht auf 50/50 ist - vielleicht wird das im Debug-Modus automatisch wieder zurückgesetzt?
Daher ein else dass den Wert wieder auf FALSE setzt? Dass wäre eine logische Antwort auf besoffene Gegner Wink
Oder wird das schon irgendwo irgendwie anderst in einem andern Code gemacht - was ich eigentlich schon vermute, da ich kaum glaube, dass dir so was passiert Rolling Eyes

Warten kann ich noch, aber ob ich es überleben werde? Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 01.06.2003, 20:40    Titel: Antworten mit Zitat

Wenn du floats benutzt kannst du == vergessen. Du musst eine Epsilonumgebung um den Punkt legen. Hier mal ein Beispiel:

Code:

const float EPSILON = 0.001;

if(fabs(irgendein_abstand_zwischen_zwei_punkten) < EPSILON)
    // Ja, die Punkte liegen aufeinander

_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 01.06.2003, 21:05    Titel: Antworten mit Zitat

nepomuk hat Folgendes geschrieben:
Aber laut diesem Code bleibt das ja immer so, auch wenn er wieder nicht auf 50/50 ist

Die beiden boolesischen Variablen werden ja am Anfang mit FALSE initialisiert.
Aber das Prob mit den besoffenen Gegnern liegt irgendwo in der KI. Ich muss sie zumindest ein wenig nüchterner machen. Wenn die Alpha dann drausen is, muss ich sie sowieso noch mal überarbeiten Wink
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum