Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

14.2: Minimax-Suche

Uploader:Redakteurnemored
Datum/Zeit:29.10.2011 00:56:33
Hinweis: Dieser Quelltext ist Bestandteil des Projekts OpenBook: 2D-Spieleprogrammierung, zu dem es auf FreeBASIC-Portal.de eine Projektseite gibt.

' *** CODE 14.2: Minimax-Suche

FUNCTION minimax (resttiefe AS INTEGER) AS INTEGER
  DIM AS INTEGER ermittelt, zugWert
  ermittelt = -2^31                   ' auf den kleinstmoeglichen Wert stellen
  FOR i AS INTEGER = 1 TO anzahlZuege ' alle moeglichen Zuege durchspielen
    fuehreZugAus(i)
    IF restTiefe <= 1 THEN            ' wurde die maximale Berechnungstiefe
      zugWert = berechneSpielwert     '   erreicht, dann bewerte die Situation
    ELSE
      zugWert = -minimax(restTiefe-1) ' rekursiv den Gegenzug berechnen
    END IF
    nimmZugZurueck(i)                 ' Ausgangssituation wiederherstellen
    IF zugWert > ermittelt THEN
      ermittelt = zugWert             ' besten Zug merken
    END IF
  NEXT
  RETURN ermittelt
END FUNCTION