//Debug private void debugPiecesInfo(Pieces piece) { /* * Debug.Log("my Kind is"); * Debug.Log(piece.GetKind()); * Debug.Log("my pieceId is"); * Debug.Log(piece.GetPieceId()); * Debug.Log("onTheFace"); * Debug.Log(piece.GetFaceId()); */ if (piece.GetKind().ToString().Equals("Pawn")) { int frontFaceId = frontFaceIdCheck(GameManager.ManagerStore.fieldManager, piece); /* * Debug.Log("frontface"); * Debug.Log(frontFaceId); */ } if (piece.GetKind().ToString().Equals("King")) { List <int> CircleList = circleFaceIdCheck(GameManager.ManagerStore.fieldManager, piece); foreach (int frontFaceId in CircleList) { Debug.Log(frontFaceId); } } Debug.Log(" ------ "); }
/* for reward * private void String2String(FieldManager field,Pieces piece,int string2string) * private void confirmFace(FieldManager field, int faceId, PlayerBase cp, PlayerBase player) */ //investigate the targetPiece whetever it look to sameface from faceId //return value private int lookingToSameFace(int purposeFaceId, int targetFaceId) { Pieces piece = faceIdtoPieces(targetFaceId); int unit = 0; int value = 1; if (MyTroop(piece)) { unit = 1; } else { unit = -1; } if (piece.GetKind().ToString().Equals("King")) { return(0); } else if (frontFaceIdCheck(GameManager.ManagerStore.fieldManager, piece) == purposeFaceId) { Debug.Log("purposePieceId"); Debug.Log(faceIdtoPieces(purposeFaceId).GetPieceId()); Debug.Log("guardPiece"); Debug.Log(piece.GetPieceId()); return(value * unit); } else { return(0); } }
public static List <int> GetVisibleFaces(this Pieces pieces) { if (pieces.GetKind() == PieceKind.King) { if (pieces.GetShape() == 4) { return(new List <int> { 0, 1, 2, 3 }); } else if (pieces.GetShape() == 6) { return(new List <int> { 0, 1, 2, 3, 4, 5 }); } else { return(new List <int> { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }); } } else if (pieces.GetKind() == PieceKind.Pawn) { if (pieces.GetShape() == 4) { return(new List <int> { 0, 1, 3 }); } else if (pieces.GetShape() == 6) { return(new List <int> { 0, 1, 5 }); } else { return(new List <int> { 0, 1, 9 }); } } else if (pieces.GetKind() == PieceKind.Queen) { if (pieces.GetShape() == 4) { return(new List <int> { 0, 1, 3, 4 }); } else if (pieces.GetShape() == 6) { return(new List <int> { 0, 1, 5, 6 }); } else { return(new List <int> { 0, 1, 9, 10 }); } } return(new List <int>()); }
// return circle faceId private List <int> circleFaceIdCheck(FieldManager field, Pieces piece) { //何角形のますにいるかをint型で返す int faceShape = piece.GetShape(); List <int> circleFaceIdCheck = new List <int>(); //辞書型配列で受け取る Dictionary <int, List <int> > MovableRange = GameManager.ManagerStore.piecesManager.GetMoveRange(piece.GetKind()); //辞書型配列で受け取った稼働範囲からforeachでそれぞれ検証 List <int> movableFaces = MovableRange[faceShape]; foreach (int movableFace in movableFaces) { //候補の面の相対idを絶対idに変換 circleFaceIdCheck.Add(field.ConvertRelative2AbsId(piece.GetFaceId(), movableFace, piece.GetForwardDirection())); } return(circleFaceIdCheck); }