mPawn PawnPre; //stan pionka przed #endregion Fields #region Constructors public mMove(int idGame, int idPlayer, mPawn Pawn, int postColumn, int postRow) { this.idGame = idGame; this.idPlayer = idPlayer; PawnPre=Pawn; PawnPost=new mPawn(PawnPre.getId(),postColumn,postRow,PawnPre.getColor()); }
private void addChecker(mPawn pawn) { checkers.Add(pawn.getId(), pawn); }
//still working on it public static mMove movePawn(String sessionToken, int idGame,int preX, int preY, int postX, int postY) { //dodac logowanie ruchu int idUser = -1; int idPawnOut=-2; idUser = (int)Uta.SessionUserId(sessionToken); DataTable pawns= Cta.FindPawnIdByPossition(preX, preY, idGame); mPawn Pawn = null; if (pawns.Rows.Count > 0) { var row = pawns.Rows[pawns.Rows.Count - 1]; Pawn = new mPawn(Int16.Parse(row["IdPawn"].ToString()), Int16.Parse(row["PawnColumn"].ToString()), Int16.Parse(row["PawnRow"].ToString()), Int16.Parse(row["IdColor_"].ToString()), Int16.Parse(row["IdChecker"].ToString())); } if (postY == 8 && Pawn.getColor() == 1 || postY == 1 && Pawn.getColor() == 2) Pawn.advanceToQueen(); if(Math.Abs(postY-preY)==2){ DataTable pawns2= Cta.FindPawnIdByPossition((preX+postX), (preY+postY), idGame); if (pawns.Rows.Count > 0) { var row2 = pawns2.Rows[pawns.Rows.Count - 1]; idPawnOut = Int16.Parse(row2["IdPawn"].ToString()); Cta.PawnOut(Pawn.getidChecker(), idPawnOut); } } if (Pawn == null) return null; Cta.PawnMove(postX,postY,Pawn.getidChecker(),Pawn.getId()); //move Pawn Lta.Insert(Pawn.getidChecker(), Pawn.getId(), idPawnOut, preX, postX, preY, postY); //log move int idMove = (int)Lta.GetLastIdMove(Pawn.getidChecker()); return new mMove(idMove,idGame, idUser, new mPawn(Pawn.getId(), Pawn.getRow(), Pawn.getColumn(), Pawn.getColor()), postX, postY); }