void Awake() { board = Board.STARTING_BOARD; //board = new Board(); moveManager = GameObject.Find("MoveManager").GetComponent <MoveManager> (); // whitePlayer = board.whitePlayer; // blackPlayer = board.blackPlayer; // board.whitePlayer = whitePlayer; // board.blackPlayer = blackPlayer; squareSize = squarePrefab.GetComponent <SpriteRenderer> ().bounds.size; DrawBoard(); //print(board.FindPieceOnBoard('A', '1').pieceName); foreach (Move m in board.legalMoves) { // print(board.FindPieceOnBoard(m.colFrom, m.rowFrom).pieceName + " to " + m.colTo.ToString() + m.rowTo.ToString()); } foreach (Square s in board.squares) { if (s.isOccupied()) { // print(s.col.ToString() + s.row.ToString() + " : " + s.GetOccupant().pieceName); } } foreach (Piece p in board.pieces) { // print(p.pieceName + " at: " + p.col.ToString() + p.row.ToString()); } }
public static void Update() { KeyboardState currentState = Keyboard.GetState(); MouseState mouseState = Mouse.GetState(); /* End current player's turn after Space is pressed. */ if (currentState.IsKeyDown(Keys.Space) && previousState.IsKeyUp(Keys.Space)) { TurnManager.ChangeTurn(); } /* Move current unit */ if (currentState.IsKeyDown(Keys.M) && previousState.IsKeyUp(Keys.M)) { Units.Unit currentUnit = UnitManager.GetCurrentUnit(); if (currentUnit.State != Units.Unit.States.Moving) { MoveManager.StartMove(currentUnit); } else if (currentUnit.State == Units.Unit.States.Moving) { MoveManager.EndMove(currentUnit); } } previousState = currentState; }
private void MakeMove(GameObject enemy, MoveManager moveManager) { Move move = new RandomMove(enemy.transform, enemy.GetComponent <Animator>(), new IntValue(1)); moveManager.Add(MoveState.Main, enemy, move); moveManager.Add(MoveState.Atack, enemy, move); }
public void TakesOneFailValidOnNameValidationErrorOnFourthTile() { //Arrange var manager = new MoveManager(); var playerMoves = new Dictionary <MoveType, IslandTile>(); var canMoveValidation = new List <ICanMoveValidation>(); playerMoves.Add(MoveType.FirstMyPawnMoveTile, new IslandTile()); playerMoves.Add(MoveType.SecondMyPawnMoveTile, new IslandTile()); playerMoves.Add(MoveType.ThirdMyPawnMoveTile, new IslandTile()); playerMoves.Add(MoveType.FourthMyPawnMoveTile, new IslandTile() { Name = ManagersTestConstants.ERROR_TILE_NAME }); canMoveValidation.Add(new CanMove_ErrorOnName()); //Act var result = manager.AreMovesValid(playerMoves, canMoveValidation, new Player()); //Assert Assert.IsTrue(result.Any()); Assert.AreEqual(result.Count, 1); Assert.AreEqual(result[0].ErrorMessage, ManagersTestConstants.CAN_MOVE_ERROR); }
public void MakeEnemy(Dictionary <Enemys, Value> enemylist, MoveManager moveManager) { foreach (KeyValuePair <Enemys, Value> enems in enemylist) { make(enems, moveManager); } }
public void TakesTwoNotValidValidation() { //Arrange var manager = new MoveManager(); var playerMoves = new Dictionary <MoveType, IslandTile>(); var canMoveValidation = new List <ICanMoveValidation>(); playerMoves.Add(MoveType.FirstMyPawnMoveTile, new IslandTile()); playerMoves.Add(MoveType.SecondMyPawnMoveTile, new IslandTile()); playerMoves.Add(MoveType.ThirdMyPawnMoveTile, new IslandTile()); playerMoves.Add(MoveType.FourthMyPawnMoveTile, new IslandTile()); canMoveValidation.Add(new CanMove_NotValid()); canMoveValidation.Add(new CanMove_NotValid()); //Act var result = manager.AreMovesValid(playerMoves, canMoveValidation, new Player()); //Assert Assert.IsTrue(result.Any()); Assert.AreEqual(result.Count, 6); Assert.AreEqual(result[0].ErrorMessage, ManagersTestConstants.CAN_MOVE_ERROR); Assert.AreEqual(result[1].ErrorMessage, ManagersTestConstants.CAN_MOVE_ERROR); Assert.AreEqual(result[2].ErrorMessage, ManagersTestConstants.CAN_MOVE_ERROR); Assert.AreEqual(result[3].ErrorMessage, ManagersTestConstants.CAN_MOVE_ERROR); Assert.AreEqual(result[4].ErrorMessage, ManagersTestConstants.CAN_MOVE_ERROR); Assert.AreEqual(result[5].ErrorMessage, ManagersTestConstants.CAN_MOVE_ERROR); }
protected void SetShipPosition() { if (shipPosition != null) { MoveManager.Add(ShipJourney.ShipTransform, shipPosition, 10, 10, 0.1f); } }
void Start () { playerManager = GetComponent<MoveManager> (); playerManager.OnMoveMade += OnMoveMade; secondsRemainingWhite = clockTimeSeconds; secondsRemainingBlack = clockTimeSeconds; }
void Awake() { instance = this; isStart.onValueChanged.AddListener((bool value) => OnStartGame(value)); restartButton.onClick.AddListener(RestartGame); }
// Minimax main function, should be the one to call in all cases // Essentialy the same as MinABPruning but store the actual move private (int, int) MiniMaxABPruning(int n) { (int, int)move = (-1, -1); int min = int.MaxValue; List <(int, int)> allPM = MoveManager.GetAllPossibleMoves(realBoard, false, false); foreach ((int, int)iMove in allPM) { PositionManager childBoard = new PositionManager(realBoard); childBoard.MovePiece(iMove.Item1, iMove.Item2); int score = MaxABPruning(childBoard, n, int.MinValue, int.MaxValue); if (score == min && (Random.Range(0, 2) == 0)) //add random to make the AI less predictable { move = iMove; } if (score < min) { min = score; move = iMove; } } if (min > 300) { return(-1, -1); } return(move); }
public void Undo_CanUndo_Kill_ShouldReturnTrue() { // arrange var moveManager = new MoveManager(); moveManager.Move(new Position(1, 1), new Position(2, 1)); moveManager.Move(new Position(6, 4), new Position(5, 4)); Position from = new Position(7, 5); Position dest = new Position(2, 0); moveManager.Move(new Position(0, 2), dest); moveManager.Move(from, dest); // act bool before = moveManager.CanMove(from, dest).Item1; bool result = moveManager.Undo(); bool after = moveManager.CanMove(from, dest).Item1; bool afterKilled = moveManager.CanMove(dest, from).Item1; // assert Assert.False(before); Assert.True(result); Assert.True(after); Assert.True(afterKilled); }
public void CanMove_MoveCauseCheck_ShouldReturnFalse() { // arrange var gameManger = new MoveManager(); var whitePawnStart = new Position(6, 4); var whitePawnEnd = new Position(4, 4); var blackPawn2Start = new Position(1, 6); var blackPawn2End = new Position(3, 6); var whiteQueenStart = new Position(7, 3); var whiteQueenEnd = new Position(3, 7); gameManger.Move(whitePawnStart, whitePawnEnd); gameManger.Move(blackPawn2Start, blackPawn2End); gameManger.Move(whiteQueenStart, whiteQueenEnd); var blackPawn1Start = new Position(1, 5); var blackPawn1End = new Position(2, 5); // act var result = gameManger.CanMove(blackPawn1Start, blackPawn1End); // assert Assert.False(result.Item1); }
public void ActiveName(JourneyTargetText _journeyTargetText, TextData textData) { OnEndMove = null; OnEndMove += () => { journeyPoint.ShowText(); }; typeMessage = textData.type; message = textData.text; journeyTargetText = _journeyTargetText; journeyTargetText.SetText(message.GetColor(journeyTargetText.notSelectColor)); Action Stop = () => { ShipCamera.moveTransform = journeyPoint.cameraPosition; ShipCamera.rotateTransform = journeyPoint.cameraView; OnEndMove?.Invoke(); }; Action <string> Change = (str) => { journeyTargetText.SetText(message.GetColor(str, journeyTargetText.selectColor, journeyTargetText.notSelectColor)); }; Action Good = () => { journeyPoint.ShowData(); EnterTextController.RemoveAll(); MoveManager.Add(ShipJourney.ShipTransform, transformMain, 10, 10, 3f, Stop); OnStartMove?.Invoke(); }; Action Bed = () => { journeyTargetText.SetText(message.GetColor(journeyTargetText.notSelectColor)); }; //message = GameText.Get(typeMessage).text; message = textData.text; EnterTextController.Add(message, Change, Good, Bed); }
void Start () { if (gameModeIndexSet) { gameMode = (GameMode)gameModeIndex; } if (gameMode == GameMode.Regular) { GetComponent<Clock>().StartClock(); } Board.SetPositionFromFen (Definitions.gameStartFen,true); ZobristKey.Init (); Evaluation.Init (); if (regenerateOpeningBook) { OpeningBookGenerator.GenerateBook (); } if (useOpeningBook) { OpeningBookReader.Init (); } playerManager = GetComponent<MoveManager> (); playerManager.CreatePlayers (); Board.SetPositionFromFen (Definitions.gameStartFen,true); }
private IEnumerator SendWaitingCarriers() { while (true) { if (_waitingCarriers.Count > 0 && road.roadLock.IsFree(Orientation.SOUTH))//TODO orientation { ResourceCarrier candidate = _waitingCarriers.Dequeue(); ResourceCarrier firstCandidate = candidate; bool firstOk = true; while (RoadsPathfinding.RouteStar(road, candidate.destination.freightAreaData.freightAreaIn.road, 10, Orientation.SOUTH) == null && firstCandidate != candidate)//TODO orientation (et attention avec in/out :/) { firstOk = false; _waitingCarriers.Enqueue(candidate); candidate = _waitingCarriers.Dequeue(); yield return(new WaitForSeconds(0.1f)); }//TODO ATTENTION: la boucle ci-dessus veut dire que si le joueur fait n'importe quoi et coupe des chemins partout, la taille de la file va augmenter alors que des transporteurs y restent coincés!!!! Du coup, au moins mettre un genre de message d'erreur pourrait être sympa.==> TODO attention aussi au cas des destruction: que deviennent les carriers qui devaient aller à un bâtiment qui n'existe plus ? Comparer avec null pour vérifier que pas détruits ??? OK sur les children ? if (firstOk || firstCandidate != candidate)//Donc, on a trouvé un transporteur à envoyer { candidate.transform.position = new Vector3(road.transform.position.x, road.transform.position.y, candidate.transform.position.z); MoveManager candidateMoveManager = candidate.GetComponent <MoveManager>(); candidateMoveManager.orientation = Orientation.SOUTH;//TODO orientation candidate.GetComponent <RoadRouteManager>().occupiedRoad = road; road.roadLock.LockFor(candidateMoveManager.orientation, candidate.gameObject); candidate.GetComponent <Collider2D>().enabled = true; candidate.GetComponent <RoadRouteManager>().MoveTo(candidate.destination.freightAreaData.freightAreaIn.road); } } yield return(new WaitForSeconds(0.5f)); } }
/// <summary> /// 为人工操作速度加速 /// </summary> private IEnumerator AccelerateForSceconds(MoveManager targetMove, float amount) { targetMove.speed += amount; yield return(new WaitForSeconds(duaration)); targetMove.speed -= amount; }
public override void OnMoved(AGoose goose) { if (GameManager.Gooses[GameManager.CurrentGooseIndex] == goose) { MoveManager.MoveAfter(goose, goose.LastDiceResult.Total); } }
void Awake() { if (instance == null) { instance = this; } }
// Start is called before the first frame update void Start() { playerScript = FindObjectOfType <MoveManager>(); player = GameObject.FindGameObjectWithTag("Player").transform; controller = GetComponent <NavMeshAgent>(); controller.updateRotation = false; }
// Min part of Minimax with AB pruning private int MiniABPruning(PositionManager board, int depth, int a, int b) { if (depth <= 0) { return(board.GetValueOfBoard()); } int min = int.MaxValue; List <(int, int)> allPM = MoveManager.GetAllPossibleMoves(board, false, false); if (allPM.Count == 0) { return(board.GetValueOfBoard()); } foreach ((int, int)iMove in allPM) { PositionManager childBoard = new PositionManager(board); childBoard.MovePiece(iMove.Item1, iMove.Item2); min = Math.Min(min, MaxABPruning(childBoard, depth - 1, a, b)); b = Math.Min(b, min); if (b <= a) { break; } } return(min); }
void Awake() { trainerScriptHolder = GameObject.Find(trainerName); moveScript = GetComponent <MoveManager>(); trainerScript = trainerScriptHolder.GetComponent <TrainerManager>(); fightMenuScript = GetComponent <FightMenuManager>(); }
//public GameObject desk; void Awake() { absolutelyAllItems = FindAllDirectChildren(GameObject.FindGameObjectWithTag("ItemsToManage")); List <BasicFurnitureScript> fntb = new List <BasicFurnitureScript>(); for (int i = 0; i < absolutelyAllItems.Length; i++) { if (absolutelyAllItems[i].GetComponent <BasicFurnitureScript>() && absolutelyAllItems[i].GetComponent <BasicFurnitureScript>().isFlammable) { fntb.Add(absolutelyAllItems[i].GetComponent <BasicFurnitureScript>()); furnitureNeededToBurn++; } } allFurnitureToBurn = fntb.ToArray(); winScreen = GameObject.FindGameObjectWithTag("WinScreen"); wbScript = GameObject.FindGameObjectWithTag("WaitButton").GetComponent <WaitButtonScript>(); fMeterScript = GameObject.FindGameObjectWithTag("FineOMeter").GetComponent <FineOMeterScript>(); dog = GameObject.FindGameObjectWithTag("Dog").GetComponent <DogScript>(); fmScript = GetComponent <FireManagerScript>(); mmScript = GetComponent <MoveManager>(); gManager = GameObject.FindGameObjectWithTag("GridManager").GetComponent <GridManager>(); mText = GameObject.FindGameObjectWithTag("MovesText").GetComponent <MovesText>(); movesTextWin = FindGameObjectInChildWithTag(winScreen, "MovesTextWin").GetComponent <Text>(); winScreen.GetComponent <RectTransform>().localPosition = new Vector3(-119, 52, 0.02f); }
void Start() { if (gameModeIndexSet) { gameMode = (GameMode)gameModeIndex; } if (gameMode == GameMode.Regular) { // GetComponent<Clock>().StartClock(); } Board.SetPositionFromFen(Definitions.gameStartFen, true); ZobristKey.Init(); Evaluation.Init(); if (regenerateOpeningBook) { OpeningBookGenerator.GenerateBook(); } if (useOpeningBook) { OpeningBookReader.Init(); } playerManager = GetComponent <MoveManager> (); playerManager.CreatePlayers(); Board.SetPositionFromFen(Definitions.gameStartFen, true); }
static GameManager() { ItemLibrary itemLibrary = new ItemLibrary(); MoveManager move = new MoveManager(); SpaceContoroler space = new SpaceContoroler(); SkillControler skill = new SkillControler(); PlayerObjectManager player = new PlayerObjectManager(); EnemyManager enemy = new EnemyManager(); MapManager map = new MapManager(); ///////セットアップ SeanState.Add(States.MakePlayerObj, new MakePlayerObj(move, player)); SeanState.Add(States.CameraSetUp, new CameraMoveSetState(move)); SeanState.Add(States.SetEnemyLibrary, new SetEnemyLibrary(enemy)); ////////メインシーン SeanState.Add(States.Main, new MainState(move, space)); SeanState.Add(States.MapMove, new MapMoveState(move, enemy, map)); SeanState.Add(States.AtackState, new AtackState(skill, player, move)); SeanState.Add(States.EnemyDamage, new EnemyDamageState(skill, player)); SeanState.Add(States.ChargeSet, new ChargeSetState(skill, player)); SeanState.Add(States.PlayerFind, new PlayerFindState(move)); SeanState.Add(States.DethCheck, new DethCheckState(move, enemy)); }
public void MoveByDice(DiceResult diceResult) { LastDiceResult = diceResult; //If the player is in the well if (TurnInfo.InWell) { if (!diceResult.HasDone(6)) { GameManager.EndTurn(); return; } //Pass turn.. TurnInfo = TurnInfo.Builder().Build(); } //If the player is on begin cell if (TurnInfo.OnBeginCell) { //6 and 3 if (diceResult.HasDone(6, 3)) { MoveManager.MoveAt(this, 26, true); return; } //5 and 4 if (diceResult.HasDone(5, 4)) { MoveManager.MoveAt(this, 53, true); return; } } MoveManager.Move(this, diceResult.Total); }
private void Awake() { var enemyPlacer = GetComponent <RandomEnemyPlacer>(); enemyPlacer.PlaceRandomEnemies(); _tileLayer = LayerMask.GetMask("Tiles"); ReplayManager replayManager = new ReplayManager(); _stateMachine = new StateMachine <GameStateBase>(); var moveManager = new MoveManager <Piece>(Board); var playGameState = new PlayGameState(Board, moveManager); _stateMachine.RegisterState(GameStates.EnemyPhase1, new EnemyPhase1GameState(Board)); _stateMachine.RegisterState(GameStates.EnemyPhase2, new EnemyPhase2GameState(Board)); _stateMachine.RegisterState(GameStates.Play, playGameState); moveManager.Register(PlayerMoveCommandProvider.Name, new PlayerMoveCommandProvider(playGameState, replayManager)); ConnectMoveCommandProviderView(moveManager); ConnectPieceViews(moveManager); ConnectTileViews(Board); ConnectBoardView(Board); _stateMachine.MoveTo(GameStates.EnemyPhase1); }
private void UnapplyMoveShiftsOnObjectsForDiagonalSplit() { MoveManager mainOccupant = _diagShiftMainOccupant.GetComponent <MoveManager>(); mainOccupant.ReleaseShift(_diagShiftMainOccupantOrientation); mainOccupant.ReleaseShift(Orientation.PerpendicularOrientation(_diagShiftMainOccupantOrientation)); MoveManager secondOccupant; if (_doubleLockOccupant != null) { secondOccupant = _doubleLockOccupant.GetComponent <MoveManager>(); _doubleLockOccupant = null; _doubleLockOrientation = null; } else { secondOccupant = GetOccupantDifferentFrom(_diagShiftMainOccupant).GetComponent <MoveManager>(); } string mainOrientationOpposite = Orientation.OppositeOrientation(_diagShiftMainOccupantOrientation); secondOccupant.ReleaseShift(mainOrientationOpposite); secondOccupant.ReleaseShift(Orientation.PerpendicularOrientation(mainOrientationOpposite)); _diagShiftMainOccupant = null; _diagShiftMainOccupantOrientation = null; }
// Use this for initialization void Awake() { moveManager = GetComponent <MoveManager>(); mainCamera = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <Camera>(); SelectionEnabled = true; }
private (int, int) PlayRandom() { List <(int, int)> allPM = MoveManager.GetAllPossibleMoves(realBoard, false, false); (int, int)move = allPM[Random.Range(0, allPM.Count)]; realBoard.MovePiece(move.Item1, move.Item2); return(move); }
void Start() { playerManager = GetComponent <MoveManager> (); playerManager.OnMoveMade += OnMoveMade; secondsRemainingWhite = clockTimeSeconds; secondsRemainingBlack = clockTimeSeconds; }
public static MoveManager GetInstance() { if (_instance == null) { _instance = new MoveManager(); } return(_instance); }
public NavMeshAgent navMeshAgent; // AI导航 /// <summary> /// 获取所有要用到的私有组件 /// </summary> private void Awake() { tankMovement = GetComponent <MoveManager>(); tankAttack = GetComponent <TankAttack>(); tankHealth = GetComponent <TankHealth>(); stateController = GetComponent <StateController>(); navMeshAgent = GetComponent <NavMeshAgent>(); }
void Start() { this.move = GetComponentInParent<MoveManager>(); _transform = transform; if (!currentCamera) { currentCamera = Camera.main; } }
// Use this for initialization void Start () { nextIsCombo = false; float rightBarUnits = Mathf.Abs(barArea.transform.position.x - mark.transform.position.x); unitsPerSecond = rightBarUnits / barLengthSeconds; // Audio aud = GetComponent<AudioSource> (); aud.Play (); beatVals = getBeatVals (); curBeats = new Queue<Beat> (); // Move manager moveManager = moveManagerObject.GetComponent<MoveManager>(); }
protected void Awake() { stateMan = (StateManager)GameObject.FindObjectOfType(typeof(StateManager)); gameMan = (GameManager)GameObject.FindObjectOfType(typeof(GameManager)); moveMan = (MoveManager)GameObject.FindObjectOfType(typeof(MoveManager)); }
// Initialisation functions public void Start() { movement = new MoveManager(transform); this.init (); }