コード例 #1
0
ファイル: Figure.cs プロジェクト: Dev-Owl/Chess
        private void set(EFigures FigureType, int Color, GameBoard Board, FigurePosition Position)
        {
            this.color      = Color;
            this.figuretype = FigureType;
            this.gameBoard  = Board;
            this.position   = Position;

            configure();
        }
コード例 #2
0
ファイル: AttackDatabase.cs プロジェクト: Dev-Owl/Chess
        public UInt64 GetMoveMask(Int16 Position, Figure Figure)
        {
            UInt64   returnValue = 0;
            EFigures searchType  = Figure.Type;

            if (Figure.Type == EFigures.Pawn && Figure.Color == Defaults.BLACK)
            {
                searchType = EFigures.PawnBlack;
            }
            else if (Figure.Type == EFigures.Pawn)
            {
                searchType = EFigures.PawnWhite;
            }
            if (this.attackData.Count == 0)
            {
                if (!ReadDatabaseFromDisk())
                {
                    BuildAttackDatabase();
                }
            }
            returnValue = this.attackData[BuildAttackKey(searchType, Position)];
            //Depending on the figure set the search creteria
            //UInt64 returnValue = 0;
            //EFigures searchType = Figure.Type;
            //if (Figure.Type == EFigures.Pawn && Figure.Color == Defaults.BLACK)
            //{
            //    searchType = EFigures.PawnBlack;
            //}
            //else if(Figure.Type == EFigures.Pawn)  {
            //    searchType = EFigures.PawnWhite;
            //}
            ////Create the search document
            //QueryDocument doc = new QueryDocument();
            //doc.Add("F",(int)searchType);
            //doc.Add("P", Position);
            //var result = attacks.Find(doc);
            ////If we found something in the database return the first result
            //if (result.Count() > 0)
            //{
            //    returnValue = result.ElementAt(0).M;
            //}
            return(returnValue);
        }
コード例 #3
0
 private void SaveAndClose(EFigures Result)
 {
     this.Result = Result;
     this.Close();
 }
コード例 #4
0
 public PromotionForm()
 {
     InitializeComponent();
     Result = EFigures.NAN;
 }
コード例 #5
0
ファイル: AttackDatabase.cs プロジェクト: Dev-Owl/Chess
 private string BuildAttackKey(EFigures Type, Int32 Position)
 {
     return(string.Format("{0}:{1}", (int)Type, Position));
 }
コード例 #6
0
ファイル: AttackDatabase.cs プロジェクト: Dev-Owl/Chess
 private void SaveInDB(Int32 Position, EFigures Type, UInt64 MoveMask)
 {
     //Insert the new position in the datbase
     //attacks.Insert(new AttackDocument() { F = (int)Type, M = MoveMask, P = Position });
     attackData.Add(BuildAttackKey(Type, Position), MoveMask);
 }
コード例 #7
0
ファイル: Figure.cs プロジェクト: Dev-Owl/Chess
 public Figure(EFigures FigureType, int Color, GameBoard Board, FigurePosition Position)
 {
     set(FigureType, Color, Board, Position);
 }
コード例 #8
0
ファイル: Figure.cs プロジェクト: Dev-Owl/Chess
 public Figure(EFigures FigureType, int Color, GameBoard Board)
 {
     set(FigureType, Color, Board, null);
 }
コード例 #9
0
 public Figure(int Color, EFigures Type)
 {
     this.color = Color;
     this.type  = Type;
 }