private void GetingOutSideItem() { IBoard <IItem, int> board = new BasicBoard(360); IItem item = new BasicEnemy(range: 5); IPoint <int> point = new BasicPoint(1); board.Put(item, point); board.Get(new BasicPoint(360), new BasicWeapon()); }
public void GetFreeAreaLessOneItem() { IBoard <IItem, int> board = new BasicBoard(4); IItem item = new BasicEnemy(range: 2); IPoint <int> point = new BasicPoint(1); board.Put(item, point); Assert.AreEqual(1, board.FreePointsTo(item).Length); }
public void GetItemInsideRange() { IBoard <IItem, int> board = new BasicBoard(); IItem item = new BasicEnemy(range: 5); IPoint <int> point = new BasicPoint(360); board.Put(item, point); Assert.AreSame(item, board.Get(new BasicPoint(2), new BasicWeapon())); }
public void MustBeAFullBoard() { IBoard <IItem, int> board = new BasicBoard(4); IItem item = new BasicEnemy(range: 4); IPoint <int> point = new BasicPoint(1); board.Put(item, point); Assert.AreEqual(0, board.FreePointsTo(item).Length); }
public void GetItemAtSamePosition() { IBoard <IItem, int> board = new BasicBoard(); IItem item = new BasicEnemy(5); IPoint <int> point = new BasicPoint(1); board.Put(item, point); Assert.AreSame(item, board.Get(point, new BasicWeapon())); }
public static LuaBoard Create(BasicBoard board) { int size = board.size; LuaBoard b = new LuaBoard(size); b.ResetWithSize(size); for (int x = 0; x < size; x++) { for (int y = 0; y < size; y++) { b.tiles[x + y * size].SetState(board.GetTileState(x, y)); } } //MoonSharp.Interpreter. return b; }
/// <summary> /// Starts an asynchronous prospecting session. It will continue using /// the information stored within itself until aborted. /// </summary> /// <returns></returns> public IEnumerator BeginProspectingSession(BasicBoard board) { SetBoardState(board); yield return new WaitForSeconds(1.0f); DynValue val = CallLuaFunction("onCalculateBestMove"); if(val == null) { Debug.LogWarning("onCalculateBestMove not implemented in script!"); } int x = 0; int y = 0; if (val.Type == DataType.Table) { // if (val.Table.Get("x").Type == DataType.Number) { x = (int)val.Table.Get("x").Number; } else if (val.Table.Get(1).Type == DataType.Number) { x = (int)val.Table.Get(1).Number; } // if (val.Table.Get("y").Type == DataType.Number) { y = (int)val.Table.Get("y").Number; } else if (val.Table.Get(2).Type == DataType.Number) { y = (int)val.Table.Get(2).Number; } } chosenLocation = new Point2D(x, y); }
public static BasicBoard Create(int size = 8) { BasicBoard b = new BasicBoard(size); b.ResetWithSize(size); return b; }
public void GetAllFreeArea() { IBoard <IItem, int> board = new BasicBoard(4); Assert.AreEqual(4, board.FreePointsTo(new BasicEnemy(range: 0)).Length); }
private void SetBoardState(BasicBoard board) { currentState = LuaBoard.Create(board); UserData.RegisterType<LuaBoard>(); UserData.RegisterType<BasicBoard.Score>(); script.Globals["ai", "currentBoard"] = UserData.Create(currentState); }