예제 #1
0
        //zwraca mapę strzałów planszy 'boardId'
        static public unsafe ShotResult[ , ] getShotMap(int boardId)
        {
            ShotResult[,] tab = new ShotResult[BOARDSIZE, BOARDSIZE];
            fixed(void *ptr = &tab[0, 0])
            {
                DllImports.getShotMap(new IntPtr(ptr), boardId);
            }

            return(tab);
        }
예제 #2
0
        //zwraca obraz planszy 'boardId'
        static public unsafe byte[ , ] getBoardImage(int boardId)
        {
            byte[,] tab = new byte[BOARDSIZE, BOARDSIZE];
            fixed(void *ptr = &tab[0, 0])
            {
                DllImports.getBoardImage(new IntPtr(ptr), boardId);
            }

            return(tab);
        }
예제 #3
0
 //uruchamia grę, przyjmuje strukturę callBacków i dane inicjalizacyjne
 static public void runProgram(InitData initData)
 {
     if (dllExports.call_msg == null || dllExports.call_getCoords == null || dllExports.call_enterPlannerMode == null)
     {
         throw new InvalidOperationException("Necessary callback uninitialized");
     }
     else
     {
         DllImports.runProgram(initData, dllExports.callBacks);
     }
 }
예제 #4
0
        //zwraca listę informacji o wszystkich statkach na planszy 'boardId'
        static public unsafe List <ShipInfo> getShipList(int boardId)
        {
            int shipCount = DllImports.getShipCount(boardId);

            ShipInfo[] tab = new ShipInfo[shipCount];
            fixed(void *ptr = &tab[0])
            {
                DllImports.getShipList(new IntPtr(ptr), boardId);
            }

            List <ShipInfo> list = new List <ShipInfo>(shipCount);

            foreach (ShipInfo k in tab)
            {
                list.Add(k);
            }
            return(list);
        }
예제 #5
0
 //zwraca miejsce ostatniego strzału w planszę 'boardId'; dla 'boardId' = 0 zwraca miejsce ostatniego strzału
 static public Point getLastShotPoint(int boardId = 0)
 {
     return(DllImports.getLastShotPoint(boardId));
 }
예제 #6
0
 //zwraca id planszy w którą strzelono jako ostatnią (bądź 0 jeżeli nie strzelano)
 static public int getLastShotBoard()
 {
     return(DllImports.getLastShotBoard());
 }
예제 #7
0
 //zwraca typ gracza 'playerId' bądź NONE w przypadku niewłaściwego gracza
 static public PlayerType getPlayerType(int playerId)
 {
     return(DllImports.getPlayerType(playerId));
 }
예제 #8
0
 //zwraca gracza obecnie wykonującego ruch (bądź 0 dla niewłaściwej części gry)
 static public int getCurrentPlayer()
 {
     return(DllImports.getCurrentPlayer());
 }
예제 #9
0
 //wypełnia planszę losowo używając algorytmu
 static public void fillRandom()
 {
     DllImports.fillRandom();
 }
예제 #10
0
 //umieszcza statkek o rozmiarze 'shipSize' w polu 'point', w kierunku 'direction'; zwraca rezultat
 static public bool placeShip(int shipSize, Point point, Direction direction)
 {
     return(DllImports.placeShip(shipSize, point, direction));
 }
예제 #11
0
 //sprawdza możliwość położenia statku o rozmiarze 'shipSize' w polu 'point', w kierunku 'direction'
 static public bool checkShipPlacement(int shipSize, Point point, Direction direction)
 {
     return(DllImports.checkShipPlacement(shipSize, point, direction));
 }
예제 #12
0
 //zwraca liczbę statków na planszy 'boardId'
 static public int getShipCount(int boardId)
 {
     return(DllImports.getShipCount(boardId));
 }
예제 #13
0
 //zwraca informacje o statku leżącym na polu 'point' na planszy 'boardId'
 static public ShipInfo getSquareShip(int boardId, Point point)
 {
     return(DllImports.getSquareShip(boardId, point));
 }
예제 #14
0
 //zwraca informację o strzale w pole 'point' na planszy 'boardId'
 static public ShotResult getSquareShot(int boardId, Point point)
 {
     return(DllImports.getSquareShot(boardId, point));
 }
예제 #15
0
 //zwraca obraz punktu 'point' na planszy 'boardId'
 static public byte getSquareImage(int boardId, Point point)
 {
     return(DllImports.getSquareImage(boardId, point));
 }
예제 #16
0
 //zwraca wynik ostatniego strzału w planszę 'boardId'; dla 'boardId' = 0 zwraca wynik ostatniego strzału
 static public ShotResult getLastShotResult(int boardId = 0)
 {
     return(DllImports.getLastShotResult(boardId));
 }