示例#1
0
 public void SetValue(BoardSetting boardSetting)  //метод получения данных
 {
     this.ySize      = boardSetting.ySize;
     this.xSize      = boardSetting.xSize;
     this.tileSprite = boardSetting.tileSprite;
     this.tileArray  = CreateBoard(boardSetting.tileGO);
 }
示例#2
0
        public async static Task <bool> DoWash()
        {
            log.Info("Wash");
            VsmdController vsmdController        = VsmdController.GetVsmdController();
            PumpController pumpController        = PumpController.GetPumpController();
            BoardSetting   curBoardSetting       = BoardSetting.GetInstance();
            int            washDelayMilliSeconds = (int)(1000 * curBoardSetting.CurrentBoard.WashDelaySeconds);

            int delayMicroSecondsBetweenSamples = (int)(Preference.GetInstace().DelaySeconds * 1000);
            await vsmdController.MoveTo(VsmdAxis.Z, curBoardSetting.CurrentBoard.ZTravel);

            await vsmdController.MoveTo(VsmdAxis.X, curBoardSetting.CurrentBoard.WashX);

            await vsmdController.MoveTo(VsmdAxis.Y, curBoardSetting.CurrentBoard.WashY);

            await vsmdController.MoveTo(VsmdAxis.Z, curBoardSetting.CurrentBoard.WashZ);

            Random rnd  = new Random();
            var    port = rnd.Next(1, 4);

            for (int i = 0; i < curBoardSetting.CurrentBoard.WashTimes; i++)
            {
                await pumpController.SwitchOnOff(port);

                Thread.Sleep(washDelayMilliSeconds);
            }
            await vsmdController.MoveTo(VsmdAxis.Z, curBoardSetting.CurrentBoard.ZTravel);

            log.Info("finished wash");
            return(true);
        }
示例#3
0
    public void Initialize(BoardSetting boardSetting)
    {
        var board = Board.instance.CreateBoard(boardSetting);

        this.tileArray  = board;
        this.xSize      = boardSetting.xSize;
        this.ySize      = boardSetting.ySize;
        this.tileSprite = boardSetting.tileSprite;
        this.tile       = Board.instance.SetValue2(boardSetting.tileGO);
        this.img        = boardSetting.img;
        Board.instance.SetImg(this.img, boardSetting.tileSprite);
    }
示例#4
0
        private static BoardSetting GetBoardSetting()
        {
            var defaultFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "board.txt");

            var          path    = GetFilePath(defaultFile, "Board Setting");
            BoardSetting setting = null;

            if (path != null)
            {
                setting = new BoardSetting(path);;
                setting.Load();
            }
            return(setting);
        }
示例#5
0
        private void CreateBoard(BoardSetting boardSetting)
        {
            for (int i = 0; i < boardSetting.BoardWithd; i++)
            {
                for (int j = 0; j < boardSetting.BoardHeight; j++)
                {
                    Engine.Point pt = new Engine.Point {
                        X = i, Y = j
                    };
                    var ctl = CreateCell(pt);
                    if (boardSetting.Mines.Any(m => m == pt))
                    {
                        ctl.Image = Resources.MINE;
                    }
                    else if (boardSetting.ExitPoint == pt)
                    {
                        ctl.Image = Resources.Exit;
                    }
                    else if (boardSetting.StartPoint == pt)
                    {
                        switch (boardSetting.Direction)
                        {
                        case Engine.Direction.North:
                            ctl.Image = Resources.TNorth;

                            break;

                        case Engine.Direction.West:
                            ctl.Image = Resources.TWest;
                            break;

                        case Engine.Direction.East:
                            ctl.Image = Resources.Teast;

                            break;

                        case Engine.Direction.South:
                            ctl.Image = Resources.TSouth;

                            break;
                        }
                    }
                    panel2.Controls.Add(ctl);
                    ctl.BringToFront();
                }
            }
        }
示例#6
0
        static void Main(string[] args)
        {
            BoardSetting board = null;
            MovesSetting moves = null;

            try
            {
                board = GetBoardSetting();
                moves = GetMovesSetting();
            }
            catch (InvalidSettingException ex)
            {
                foreach (var item in ex.Errors)
                {
                    WriteError(item.ToString());
                }
            }

            game = null;
            if (board != null && moves != null)
            {
                try
                {
                    game = Game
                           .Create(board.BoardWithd, board.BoardHeight)
                           .LayMine(board.Mines)
                           .SetExitPoint(board.ExitPoint)
                           .AddTurtle(board.StartPoint, board.Direction, G_TurtleStatusChanged);
                }
                catch (Exception ex)
                {
                    WriteError(ex.Message);
                }
            }
            if (game != null)
            {
                Play(moves);
            }
            else
            {
                WriteError("Failur in running application!");
            }
            System.Console.ReadLine();
        }
示例#7
0
        //static Tuple<int,int> _boardSize;

        public static BoardSetting GameSettingSetBoardSize(string setting, string fileName)
        {
            var FileContent       = ReadSettings(fileName);
            var GetWidthAndHeight = showMatch(FileContent, @"" + setting + "\r\n[0-9],[0-9]", "" + setting + "\r\n");
            var BoardSettings     = new BoardSetting();

            try
            {
                BoardSettings.width  = GetWidthAndHeight.First();
                BoardSettings.height = GetWidthAndHeight.Last();

                return(BoardSettings);
            }
            catch (Exception e)
            {
                Console.WriteLine("Excetion :{0}", e);
            }

            return(BoardSettings);
        }
示例#8
0
        private void Button2_Click(object sender, EventArgs e)
        {
            try
            {
                movesSetting = new MovesSetting(moveFile);
                movesSetting.Load();



                boardSetting = new BoardSetting(boardFile);
                boardSetting.Load();
                current = boardSetting.StartPoint;
                CreateBoard(boardSetting);

                this.Width  = boardSetting.BoardWithd * 52 + 220;
                this.Height = boardSetting.BoardHeight * 52 + 40 + panel1.Height;
                this.Update();
                game = Engine.Game
                       .Create(boardSetting.BoardWithd, boardSetting.BoardHeight)
                       .LayMine(boardSetting.Mines)
                       .SetExitPoint(boardSetting.ExitPoint)
                       .AddTurtle(boardSetting.StartPoint, boardSetting.Direction, this.G_TurtleStatusChanged);

                ThreadPool.QueueUserWorkItem(s => Play());
            }
            catch (InvalidSettingException ex)
            {
                StringBuilder strb = new StringBuilder();
                strb.AppendLine(ex.Message);
                foreach (var item in ex.Errors)
                {
                    strb.AppendLine(item.ToString());
                }
                ShowError(strb.ToString());
            }
            catch (Exception ex)
            {
                ShowError(ex.Message);
            }
        }
示例#9
0
    public Tile[,] CreateBoard(BoardSetting boardSetting)
    {
        this.xSize      = boardSetting.xSize;
        this.ySize      = boardSetting.ySize;
        this.tileGO     = boardSetting.tileGO;
        this.tileSprite = boardSetting.tileSprite;

        Tile[,] tileArray = new Tile[xSize, ySize];

        float   xPos     = transform.position.x;
        float   yPos     = transform.position.y;
        Vector2 tileSize = tileGO.spriteRenderer.bounds.size;

        for (int i = 0; i < xSize; i++)
        {
            for (int j = 0; j < ySize; j++)
            {
                Tile newTile = Instantiate(tileGO, transform.position, Quaternion.identity);
                newTile.transform.position = new Vector2(xPos + (tileSize.x * i), yPos + (tileSize.y * j));
                newTile.transform.parent   = transform;

                tileArray[i, j] = newTile;
                List <Sprite> tempSprite = new List <Sprite>();
                tempSprite.AddRange(tileSprite);
                if (i % 2 == 0 && i != 0)
                {
                    tempSprite.Remove(tileArray[i - 1, j].spriteRenderer.sprite);
                }
                if (j % 2 == 0 && j != 0)
                {
                    tempSprite.Remove(tileArray[i, j - 1].spriteRenderer.sprite);
                }
                newTile.spriteRenderer.sprite = tempSprite[Random.Range(0, tempSprite.Count)];
                newTile.name = i.ToString() + j.ToString();
            }
        }
        return(tileArray);
    }
示例#10
0
 public Tuple <int, ColoredBoardSmallBigger, ColoredBoardSmallBigger> Begin(int deepness, BoardSetting setting, ColoredBoardSmallBigger MeBoard, ColoredBoardSmallBigger EnemyBoard, in Player Me, in Player Enemy)
 public Pop EvolutionaryGeneration(BoardSetting bs)
 {
     return(new Pop(bs.Width, bs.Height, bs.Range));
 }
 private List <Pop> breedBatch(BoardSetting bs, List <Pop> stock)
 {
     return(new List <Pop>());
 }
 private List <Pop> frechBatch(BoardSetting bs)
 {
     return(new List <Pop>());
 }