tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
1010
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Maddimini Maddimini ist offline Mitglied Bronze
    Registriert seit
    Apr 2010
    Beiträge
    32
    Hallo

    Ich habe ein VierGewinnt Spiel und möchte dafür ein ComputerGegner erstellen, gegen den der User spielen kann.
    Das Spielfeld ist ein Array [7][6].

    Vielleicht kann mir jemand helfen, dass der Computer auch mit intelligenten Zügen spiel, bisher leider nur nach Zufallsprinzip.
    Oder mir wenigstens gute Taktiken verrät, die man implementieren kann.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    
     
    import java.util.Random;
     
    public class Computerspieler
    {
        Random zufallswurf;
        VierGewinnt feld;
        int[][] myfeld;
        int s;
        
        public Computerspieler()
        {
     
            myfeld = new int[7][6];
            
            for (int x=0;x<7;x++) {
                for (int y=0;y<6;y++) {
                    myfeld[x][y]=0;
                }
            }
            zufallswurf = new Random();
           
        }
     
        
       public int gibZug(int[][] feld)
       {
           for (int x=0;x<7;x++){
               for (int y=0;y<6;y++){
                   myfeld[x][y]=feld[x][y];
                }
            }        
          
            int x;
            do {
                x=zufallswurf.nextInt(7);
               } 
            
            while (myfeld[x][5]!=0);
            return x;
            }
            
        }

    Vielen Dank
     

  2. #2
    lgorse lgorse ist offline Mitglied Bronze
    Registriert seit
    Feb 2009
    Beiträge
    34
    Die einfachste Implementierung einer KI wäre, den Computer nach 3er-Reihen suchen zu lassen, um diese dann mit einem eigenen Stein unbrauchbar machen.

    Startbelegung:
    Code :
    1
    2
    3
    4
    
    -O--
    -O--
    -O--
    ----

    Computer setzt X:
    Code :
    1
    2
    3
    4
    
    -O--
    -O--
    -O--
    -X--

    Das kannst du dann noch erweitern, indem nach Möglichkeiten gesucht wird, wo direkt 2 Reihen unbrauchbar gemacht werden.
     

  3. #3
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Bedenke beim setzen auch, das ein Feld weiter in der Mitte immer mehr wert ist als eins weiter außen.
     
    Mein kleiner webstart Projektplaner:
    http://178.77.101.236/ppws/
    Ideen, Verbesserungsvorschläge, Bugsmeldungen und allg. Kritik erwünscht und erbeten.

    Danke. :)

  4. #4
    Maddimini Maddimini ist offline Mitglied Bronze
    Registriert seit
    Apr 2010
    Beiträge
    32
    okay, Danke
    ich habe jetzt:
    1. Überprüfung ob man selber gewinnen kann
    2. Überprüfung ob der Gegner eine Chance hat zu gewinnen.
    3. Erster Stein wird in die Mitte gelegt.

    was kann man noch so machen?
     

  5. #5
    Tubbycore Tubbycore ist offline Mitglied
    Registriert seit
    Aug 2007
    Beiträge
    11
    Naja es gibt da noch ein Algorithmus dafür. Der heißt Minimax-Algorithmus kannst ja mal anguckn.
     

  6. #6
    Maddimini Maddimini ist offline Mitglied Bronze
    Registriert seit
    Apr 2010
    Beiträge
    32
    Danke für eure Hilfe
     

Ähnliche Themen

  1. Künstliche Intelligenz (Online-)Literatur
    Von daddz im Forum Coders Talk
    Antworten: 10
    Letzter Beitrag: 15.05.06, 13:32
  2. Antworten: 2
    Letzter Beitrag: 07.02.05, 17:32
  3. Antworten: 1
    Letzter Beitrag: 01.12.04, 20:52
  4. Antworten: 4
    Letzter Beitrag: 19.10.04, 09:04
  5. Künstliche Intelligenz in PacMan
    Von Goy im Forum Delphi, Kylix, Pascal
    Antworten: 7
    Letzter Beitrag: 20.07.03, 14:46

Stichworte