コード例 #1
0
ファイル: ReverseGenerator.cs プロジェクト: cry-inc/mahjong
        private List<Tile> ExtractRemovableTiles(Field field)
        {
            List<Tile> removables = new List<Tile>();

            int[] keys = new int[field.Tiles.Count];
            field.Tiles.Keys.CopyTo(keys, 0);

            foreach (int key in keys)
                if (field.CanMove(field.Tiles[key]))
                    removables.Add(field.Tiles[key]);

            foreach (Tile tile in removables)
                field.Remove(tile);

            return removables;
        }
コード例 #2
0
        private void ClickEdit(MouseEventArgs e)
        {
            int xp = (int)(e.X / CELLWIDTH);
            int yp = (int)(e.Y / CELLHEIGHT);

            if (e.Button == MouseButtons.Right)
            {
                Tile tile = _field.GetTileFromCoord(xp, yp);
                if (tile != null)
                {
                    _field.Remove(tile);
                }
            }
            else
            {
                int  zp   = _field.FindNewTileZ(xp, yp);
                Tile tile = new Tile(xp, yp, zp, null);
                _field.Add(tile);
            }
        }
コード例 #3
0
        private List <Tile> ExtractRemovableTiles(Field field)
        {
            List <Tile> removables = new List <Tile>();

            int[] keys = new int[field.Tiles.Count];
            field.Tiles.Keys.CopyTo(keys, 0);

            foreach (int key in keys)
            {
                if (field.CanMove(field.Tiles[key]))
                {
                    removables.Add(field.Tiles[key]);
                }
            }

            foreach (Tile tile in removables)
            {
                field.Remove(tile);
            }

            return(removables);
        }