Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## millgamej2se11
Class AIPlayer

    java.lang.Object
      millgamej2se11.Player
          millgamej2se11.AIPlayer

    public class AIPlayer

extends Player

Az osztály biztosítja azokat az interfészeket, melyek egy játékos tevékenyégeinek szimulásásához szükségesek.

Field Summary
`private Player[]` | `cloneOf` A játékosok klón példányainak tömbje.
`private MillTable` | `cloneTable` A tábla klón példánya.
`private static int` | `LIMIT` Alapértelmezett korlát mélység.
`private static int` | `MAX_GOODNESS` A jóságérték felső korlátja

Fields inherited from class millgamej2se11.Player
`NO_ONE, PLAYER_ONE, PLAYER_TWO`

Constructor Summary
`AIPlayer(int id)` Az MI Játékos objektumot létrehozó konstruktor.

Method Summary
`private Node` | `buildTree(Node root, int limit)` Felépíti a megadott csomóponthoz tartozó játékfa részletet a megadott korlát mélységig.
`private boolean` | `canBeBlocked(int player, int[][] state)` Megmondja, hogy a játékosnak van-e olyan nyílt malma, melyet az ellenfél egy lépésben blokkolni tud.
`private Point` | `chooseEmpty(int[][] state, int opponent)` A megadott állásban keres egy olyan üres pontot, mely az ellenfél számára kedvezőnek számít.
`private java.lang.String` | `findBestOperation(Node node)` Megkeresi a megadott csomópont állásához tartozó legjobb lépést.
`private Point` | `findBridge(int[][] state, int id, int third)` A megadott állásban, a sorokat ill. oszlopokat összekötő hidakon megkeresi az első olyan elem-hármast, melyben két elem a második, és egy elem a harmadik paraméterben kapott értékkel egyezik meg.
`private Point` | `findThird(int[][] state, int id, int third)` A megadott állásban, a sorokban és oszlopokban megkeresi az első olyan elem-hármast, melyben két elem a második, és egy elem a harmadik paraméterben kapott értékkel egyezik meg.
`private static int[][]` | `getCopyOf(int[][] state)` Előállítja a megadott állás másolatát.
`private boolean` | `hasOpenMillOf(int playerID, int[][] state)` Megmondja, hogy az adott játékosnak van-e nyílt malma a megadott állásban.
`private int` | `heuristic(Node node)` Meghatározza a megadott csomóponthoz tartozó jóságértéket.
`private void` | `initSimulation(int[][] state)` Beállítja a szimuláció elvégzéséhez szükséges objektumokat a megadott állás alapján.
`private Point` | `makeBigL(int[][] state, int id)` Az adott játékos számára megkeresi azt a pontot, amely nagy 'L' alakzat kialakításához szükséges.
`private Point` | `makeLittleL(int[][] state, int id, int third)` Az adott játékos számára megkeresi azt a pontot, amely egy kis 'L' alakzat kialakításához szükséges.
`Point[]` | `moveAMarker(int[][] state)` A megadott állás alapján meghatározza azt a két pontot, ahonnan ill.
`Point` | `placeAMarker(int[][] state)` Meghatározza a megadott játékállás azon pontját, amelyre a játékos következő bábutját el kell helyezni.
`private Point` | `prepareBigL(int[][] state)` Megkeresi azt a pontot, amely egy nagy 'L' alakzat előkészítéséhez szükséges.
`private Point` | `prepareLittleL(int[][] state)` Megkeresi az a pontot, amely egy kis 'L' alakzat előkészítéséhez szükséges.
`Point` | `removeAMarker(int[][] state)` A bábuk mozgatásának szakaszában kiválasztja az adott állásban az ellenfél azon bábuját, amelyet el kell távolítani.
`Point` | `removeAMarker(int[][] state, Player opponent)` A bábuk elhelyezésének szakaszában kiválasztja az adott állásban az ellenfél azon bábuját, melyet el kíván távolítani.

Methods inherited from class millgamej2se11.Player
`addMill, decMarkers, dragged, dropped, getColor, getID, getMarkersNumber, hasDraggedMarker, hasFreePointIn, hasUnusedMill, incMarkers, millContains, removeMillIfContains, setMillUsed`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### LIMIT

    private static final int LIMIT

  Alapértelmezett korlát mélység.

  See Also:
    Constant Field Values

### MAX_GOODNESS

    private static final int MAX_GOODNESS

  A jóságérték felső korlátja

  See Also:
    Constant Field Values

### cloneOf

    private Player[] cloneOf

  A játékosok klón példányainak tömbje.

### cloneTable

    private MillTable cloneTable

  A tábla klón példánya.

Constructor Detail

### AIPlayer

    public AIPlayer(int id)

  Az MI Játékos objektumot létrehozó konstruktor.

  Parameters:
    `id` - A játékos azonosítója.

Method Detail

### placeAMarker

    public Point placeAMarker(int[][] state)

  Meghatározza a megadott játékállás azon pontját, amelyre a játékos következő bábutját el kell helyezni.

  Parameters:
    `state` - A játék aktuális állapota.
  Returns:
    A tábla kiválasztott pointja

### removeAMarker

    public Point removeAMarker(int[][] state,
                               Player opponent)

  A bábuk elhelyezésének szakaszában kiválasztja az adott állásban az ellenfél azon bábuját, melyet el kíván távolítani.

  Parameters:
    `state` - A játék aktuális állapota.
    `opponent` - Az ellenfél aktuális állapota
  Returns:
    Az eltávolítandó bábu pozíciója.

### moveAMarker

    public Point[] moveAMarker(int[][] state)

  A megadott állás alapján meghatározza azt a két pontot, ahonnan ill. ahová a játékos egy bábuját mozgatni kell.

  Parameters:
    `state` - A állás, melyben a játékos lépni következik.
  Returns:
    A kiválasztott pontok tömbje.

### removeAMarker

    public Point removeAMarker(int[][] state)

  A bábuk mozgatásának szakaszában kiválasztja az adott állásban az ellenfél azon bábuját, amelyet el kell távolítani.

  Parameters:
    `state` - A játék aktuális állapota.
  Returns:
    Az eltávolítandó bábu pozíciója.

### findThird

    private Point findThird(int[][] state,
                            int id,
                            int third)

  A megadott állásban, a sorokban és oszlopokban megkeresi az első olyan elem-hármast, melyben két elem a második, és egy elem a harmadik paraméterben kapott értékkel egyezik meg.

  Parameters:
    `state` - A játék aktuális állapota.
    `id` - A két egyező elem.
    `third` - A többitől eltérő elem.
  Returns:
    A harmadik elem pozíciója, ha van ilyen, null egyébként.

### findBridge

    private Point findBridge(int[][] state,
                             int id,
                             int third)

  A megadott állásban, a sorokat ill. oszlopokat összekötő hidakon megkeresi az első olyan elem-hármast, melyben két elem a második, és egy elem a harmadik paraméterben kapott értékkel egyezik meg.

  Parameters:
    `state` - A játék aktuális állapota.
    `id` - A két egyező elem.
    `third` - A többitől eltérő elem.
  Returns:
    A harmadik elem pozíciója, ha van ilyen, null egyébként.

### prepareBigL

    private Point prepareBigL(int[][] state)

  Megkeresi azt a pontot, amely egy nagy 'L' alakzat előkészítéséhez szükséges.

  Parameters:
    `state` - Az aktuális állás
  Returns:
    A kiválasztott pont, ha talált ilyet, null egyébként.

### makeBigL

    private Point makeBigL(int[][] state,
                           int id)

  Az adott játékos számára megkeresi azt a pontot, amely nagy 'L' alakzat kialakításához szükséges.

  Parameters:
    `state` - Az aktuális állás
    `id` - A játékos azonosítója
  Returns:
    A kiválasztott pont, ha talált ilyet, null egyébként.

### prepareLittleL

    private Point prepareLittleL(int[][] state)

  Megkeresi az a pontot, amely egy kis 'L' alakzat előkészítéséhez szükséges.

  Parameters:
    `state` - Az aktuális állás
  Returns:
    A kiválasztott pont, ha talált ilyet, null egyébként.

### makeLittleL

    private Point makeLittleL(int[][] state,
                              int id,
                              int third)

  Az adott játékos számára megkeresi azt a pontot, amely egy kis 'L' alakzat kialakításához szükséges.

  Parameters:
    `state` - Az aktuális állás
    `id` - A játékos azonosítója
    `third` - A harmadik elem
  Returns:
    A kiválasztott pont, ha talált ilyet, null egyébként.

### chooseEmpty

    private Point chooseEmpty(int[][] state,
                              int opponent)

  A megadott állásban keres egy olyan üres pontot, mely az ellenfél számára kedvezőnek számít.

  Parameters:
    `state` - Az aktuális állás
    `opponent` - Az ellenfél azonosítója
  Returns:
    A kiválasztott pont.

### initSimulation

    private void initSimulation(int[][] state)

  Beállítja a szimuláció elvégzéséhez szükséges objektumokat a megadott állás alapján.

  Parameters:
    `state` - Az állás, melyben a játékos lépni következik.

### findBestOperation

    private java.lang.String findBestOperation(Node node)

  Megkeresi a megadott csomópont állásához tartozó legjobb lépést.

  Parameters:
    `node` - Az aktuális állást tartalmazó csomópont
  Returns:
    A legkedvezőbb lépés.

### heuristic

    private int heuristic(Node node)

  Meghatározza a megadott csomóponthoz tartozó jóságértéket.

  Parameters:
    `node` - A csomópont
  Returns:
    A csomópont jóságértéke.

### canBeBlocked

    private boolean canBeBlocked(int player,
                                 int[][] state)

  Megmondja, hogy a játékosnak van-e olyan nyílt malma, melyet az ellenfél egy lépésben blokkolni tud.

  Parameters:
    `player` - A vizsgált játékos
    `state` - Az aktuális állás.
  Returns:
    true, van blokkolható nylít malom, false egyébként.

### hasOpenMillOf

    private boolean hasOpenMillOf(int playerID,
                                  int[][] state)

  Megmondja, hogy az adott játékosnak van-e nyílt malma a megadott állásban.

  Parameters:
    `playerID` - A keresett játékos.
    `state` - Az vizsgált állapot.
  Returns:
    true, van nylít malom, false egyébként.

### buildTree

    private Node buildTree(Node root,
                           int limit)

  Felépíti a megadott csomóponthoz tartozó játékfa részletet a megadott korlát mélységig.

  Parameters:
    `root` - A kiterjesztendő csomópont.
    `limit` - A korlát mélység.
  Returns:
    A kiterjesztett csomópont.

### getCopyOf

    private static int[][] getCopyOf(int[][] state)

  Előállítja a megadott állás másolatát.

  Parameters:
    `state` - A másolandó állapot.
  Returns:
    Az állapot másolata.

Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD