Пример #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            BoardRating boardRating = db.BoardRatings.Find(id);

            db.BoardRatings.Remove(boardRating);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #2
0
        private MoveList CreateMoveList()
        {
            BoardRating whitMate1 = new BoardRating()
            {
                Situation = Situation.BlackVictory, Evaluation = Evaluation.WhiteCheckMate
            };
            BoardRating whitMate2 = new BoardRating()
            {
                Situation = Situation.StaleMate, Evaluation = Evaluation.BlackStaleMate
            };
            BoardRating blackMate1 = new BoardRating()
            {
                Situation = Situation.WhiteVictory, Evaluation = Evaluation.BlackCheckMate
            };
            BoardRating blackMate2 = new BoardRating()
            {
                Situation = Situation.WhiteVictory, Evaluation = Evaluation.BlackCheckMate
            };

            BoardRating whiteFavor3 = new BoardRating()
            {
                Evaluation = Evaluation.Normal, Weight = 3
            };
            BoardRating equal1 = new BoardRating()
            {
                Evaluation = Evaluation.Normal, Weight = 0
            };
            BoardRating equal2 = new BoardRating()
            {
                Evaluation = Evaluation.Normal, Weight = 0
            };
            BoardRating blackFavor3 = new BoardRating()
            {
                Evaluation = Evaluation.Normal, Weight = -3
            };

            List <BoardRating> ratings = new List <BoardRating>()
            {
                whitMate1, whitMate2, blackMate1, blackMate2, whiteFavor3, equal1, equal2, blackFavor3
            };

            ratings = RandomListAccess.GetShuffledList(ratings);

            int      i        = 1;
            MoveList moveList = new MoveList();

            ratings.ForEach(rating =>
            {
                Move move = new Move("A" + i, "A1", new Pawn(Color.White), MoveType.Normal)
                {
                    Rating = rating
                };
                moveList.Add(move);
                i++;
            });

            return(moveList);
        }
Пример #3
0
 public Move(int startRow, int startColumn, int endRow, int endColumn, MoveType moveType, BoardRating boardRating)
 {
     StartRow    = startRow;
     StartColumn = startColumn;
     EndRow      = endRow;
     EndColumn   = endColumn;
     MoveType    = moveType;
     Rating      = boardRating;
 }
Пример #4
0
 public ActionResult Edit([Bind(Include = "ID,Rating,Description")] BoardRating boardRating)
 {
     if (ModelState.IsValid)
     {
         db.Entry(boardRating).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(boardRating));
 }
Пример #5
0
        public ActionResult Create([Bind(Include = "ID,Rating,Description")] BoardRating boardRating)
        {
            if (ModelState.IsValid)
            {
                db.BoardRatings.Add(boardRating);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(boardRating));
        }
Пример #6
0
        public void CheckBoardRatingBlackMate()
        {
            ChessEngine2 chessEngine2 = new ChessEngine2
            {
                ["G6"] = new King(Color.White, MoveType.Normal),
                ["A8"] = new Rook(Color.White),
                ["G8"] = new King(Color.Black, MoveType.Normal)
            };

            BoardRating boardRating = chessEngine2.GetRating(Color.Black);

            Assert.AreEqual(boardRating.Situation, Situation.WhiteVictory);
        }
Пример #7
0
        // GET: /BoardRatings/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BoardRating boardRating = db.BoardRatings.Find(id);

            if (boardRating == null)
            {
                return(HttpNotFound());
            }
            return(View(boardRating));
        }
Пример #8
0
        public void CheckStartBoardRating()
        {
            ChessEngine2 chessEngine2 = new ChessEngine2();

            chessEngine2.New();

            foreach (Color color in ChessEngineConstants.BothColors)
            {
                BoardRating boardRating = chessEngine2.GetRating(color);

                Assert.IsTrue(boardRating.Situation == Situation.Normal);
                Assert.IsTrue(boardRating.Evaluation == Evaluation.Normal);
                Assert.AreEqual(boardRating.Weight, 0);
            }
        }
Пример #9
0
 public static Move CreateNoMove(BoardRating rating)
 {
     return(new Move(rating, false));
 }
Пример #10
0
 private Move(BoardRating rating, bool isAMove)
 {
     Rating  = rating;
     IsAMove = isAMove;
 }
Пример #11
0
        private List <BoardRating> CreateBoardRatingList()
        {
            List <BoardRating> result = new List <BoardRating>();
            Random             random = new Random();

            for (int i = 0; i < 40; i++)
            {
                int         split = random.Next(0, 100);
                BoardRating boardRating;
                if (split <= 5)
                {
                    boardRating = new BoardRating()
                    {
                        Evaluation = Evaluation.WhiteCheckMate, Depth = random.Next(1, 5)
                    }
                }
                ;
                else if (split <= 10)
                {
                    boardRating = new BoardRating()
                    {
                        Evaluation = Evaluation.BlackCheckMate, Depth = random.Next(1, 5)
                    }
                }
                ;
                else if (split <= 15)
                {
                    boardRating = new BoardRating()
                    {
                        Evaluation = Evaluation.WhiteStaleMate, Depth = random.Next(1, 5)
                    }
                }
                ;
                else if (split <= 20)
                {
                    boardRating = new BoardRating()
                    {
                        Evaluation = Evaluation.BlackStaleMate, Depth = random.Next(1, 5)
                    }
                }
                ;
                else if (split <= 25)
                {
                    boardRating = new BoardRating()
                    {
                        Evaluation = Evaluation.Normal, Weight = 0, Depth = random.Next(1, 5)
                    }
                }
                ;
                else
                {
                    boardRating = new BoardRating()
                    {
                        Evaluation = Evaluation.Normal, Weight = random.Next(-50, 50), Depth = random.Next(1, 5)
                    }
                };

                result.Add(boardRating);
            }

            return(result);
        }
Пример #12
0
 public static Move CreateNoMove(BoardRating rating)
 {
     return(new Move(-1, -1, -1, -1, MoveType.Normal, rating));
 }