public void InitBattle(CombatantBoard player, CombatantBoard opponent) { playerBoard = player; playerHealth = playerBoard.GetComponent <Health>(); playerBoard.SetBoardTeamID(0); opponentBoard = opponent; opponentHealth = opponentBoard.GetComponent <Health>(); opponentBoard.SetBoardTeamID(1); opponentBoard.MirrorBoard(); /// grant Initial Move tokens MoveCounter playerMoveCounter = playerBoard.GetComponentInChildren <MoveCounter>(); if (playerMoveCounter != null) { playerMoveCounter.AddMoveToken(1); } MoveCounter opponentMoveCounter = opponentBoard.GetComponentInChildren <MoveCounter>(); if (opponentMoveCounter != null) { opponentMoveCounter.AddMoveToken(1); } /// begin game with initial move if (warmupPanel == null) { warmupPanel = FindObjectOfType <WarmupPanel>(); } warmupCoroutine = Warmup("INITIAL MOVE", initialWarmupTime); StartCoroutine(warmupCoroutine); }
private IEnumerator ResolveCells() { /// oppose each row at a time int rowCount = playerBoard.boardRowCount; for (int i = 0; i < rowCount; i++) { ResolveCellRow(i); yield return(new WaitForSeconds(cellResolveTime)); } /// loop thru each slot //int cellCount = playerBoard.GetSlots().Count; //for(int i = 0; i < cellCount; i++) //{ // CellSlot playerSlot = playerBoard.GetSlots()[i]; // CellSlot opponentSlot = opponentBoard.GetSlots()[i]; // ResolveCellPair(playerSlot, opponentSlot); // yield return new WaitForSeconds(cellResolveTime); //} if (BothCharactersAlive()) { /// start next round warmupCoroutine = Warmup("READY", betweenRoundsWarmupTime); StartCoroutine(warmupCoroutine); /// end-of-round Abilities endOfRoundCoroutine = EndOfRound(); StartCoroutine(endOfRoundCoroutine); /// grant Move tokens MoveCounter playerMoveCounter = playerBoard.GetComponentInChildren <MoveCounter>(); if (playerMoveCounter != null) { playerMoveCounter.AddMoveToken(1); } MoveCounter opponentMoveCounter = opponentBoard.GetComponentInChildren <MoveCounter>(); if (opponentMoveCounter != null) { opponentMoveCounter.AddMoveToken(1); } } else { StopAllCoroutines(); bool bPlayerWon = (playerHealth.GetHP() >= 1) && (playerBoard.GetNumCells() > 0); battleUI.GameOver(bPlayerWon); } }
// Use this for initialization void Start() { moveCounter = GameObject.Find("MoveCounter").GetComponent <MoveCounter>(); swipeDetector = new GameObject().AddComponent <SwipeDetector>(); menuManager = GameObject.Find("Menu Manager").GetComponent <MenuManager>(); colorModel = GameObject.Find("RGB Diagram").GetComponent <ColorModel> (); closeIngameUI(); //Get instance of GameData created on start screen data = GameObject.Find("GameData").GetComponent <GameData>(); data.deserialize(); //Initialize AudioSource audioSource = gameObject.AddComponent <AudioSource>(); deathSound = Resources.Load("Audio/death", typeof(AudioClip)) as AudioClip; endLevelSound = Resources.Load <AudioClip>("Audio/Home2"); restartSound = Resources.Load <AudioClip>("Audio/restart"); audioSettings = GameObject.Find("Audio").GetComponent <AudioControl>(); }
private Game() { phase = GamePhase.WaitingForPlayers; flowClockWise = true; discardPile = new Deck(); drawPile = new Deck(); players = new Player[10]; numPlayers = 0; gameWatcher = new GameWatcher(); perfectDeck = new DeckBuilderFacade() .number .SetAllNumberCards(2) .SetIndividualNumberCards(0, 1) .action .SetActionCards(2) .wild .SetBlackCards(4) .Build(); semiPerfectDeck = new DeckBuilderFacade() .number .SetAllNumberCards(2) .SetIndividualNumberCards(0, 1) .Build(); cardCount = 0; moveCount = 0; skipCount = 0; CardCounter cardCounter = new CardCounter(); SkipCounter skipCounter = new SkipCounter(); MoveCounter moveCounter = new MoveCounter(); mediator = new ConcreteMediator(this, cardCounter, moveCounter, skipCounter); }
private void Awake() { Instance = this; }
private static void Solve(CubeRotator rotator, Cube cube, CubeQuery query) { using (var movesText = File.CreateText("Moves.txt")) { MoveCounter bestMoveCounter = null; var moveCounter = new MoveCounter(); var rotators = new CubeLayerRotatorList( new MoveWriter(movesText), moveCounter, rotator); var solver = new FirstLayerEdgeSolver(cube, query.GetCenterFacelet(Colors.White), rotators); var faceletsToSolveCount = solver.GetCountOfFaceletsToSolve(); if (faceletsToSolveCount == 0) return; var permutations = Permutations.Instance.GetPermutations(faceletsToSolveCount); foreach (var permutation in permutations) { var cubeState = cube.GetState(); SolveHelper(cube, solver, permutation); facelets to solve is out of sync. if (bestMoveCounter == null || bestMoveCounter.MoveCount > moveCounter.MoveCount) bestMoveCounter = moveCounter; cubeState.Restore(); movesText.WriteLine(moveCounter.ToString()); moveCounter = new MoveCounter(); rotators = new CubeLayerRotatorList( new MoveWriter(movesText), moveCounter, rotator); solver = new FirstLayerEdgeSolver(cube, query.GetCenterFacelet(Colors.White), rotators); } movesText.WriteLine(bestMoveCounter.ToString()); } }
public void SetMoveable(bool value, MoveCounter counter) { bMoveable = value; moveCounter = counter; }