private async void TappedElementExecute(int pos) { //button.State = movement; if (GameArray[pos] == "") { GameArray[pos] = movement; dataWriter.WriteString(movement); dataWriter.WriteInt16(Convert.ToInt16(pos)); await dataWriter.StoreAsync(); MyTurn = false; LogMessage("Sent my movement!"); LogMessage("Waiting for peer movement!"); if (GameArray.IsWinner()) { LogMessage("WINNER!"); dispatcherService.CallDispatcher(() => { GameStarted = false; MyTurn = false; isInitiator = false; }); LogMessage("Starting new game"); ResetBoard(); HandShake(); return; } WaitForMovement(); } }
/// <summary> /// Move the snake and check if game over /// </summary> private void TryMove() { if (GameArray.TryMove(SnakeMovement) == MovementResult.GameOver) { PlayerLost?.Invoke(this, EventArgs.Empty); } }
/// <summary> /// Načte do pole správné data pro vykreslení /// </summary> /// <param name="array"></param> public void Refresh(Box[,] array) { for (int i = 0; i < GameArray.GetLength(0); i++) { for (int j = 0; j < GameArray.GetLength(1); j++) { if (array[i, j] == Box.Nothing) { GameArray[i, j] = NothingDefinition; } else if (array[i, j] == Box.Wall) { GameArray[i, j] = WallDefinition; } else if (array[i, j] == Box.Food) { GameArray[i, j] = FoodDefiniton; } else if (array[i, j] == Box.Snake) { GameArray[i, j] = SnakeDefinition; } else if (array[i, j] == Box.poisonedFood) { GameArray[i, j] = poisonedFoodDefinition; } } Console.WriteLine(); } }
/// <summary> /// Vykreslí pole /// </summary> public void Show() { for (int i = 0; i < GameArray.GetLength(0); i++) { for (int j = 0; j < GameArray.GetLength(1); j++) { Console.Write(GameArray[i, j]); } Console.WriteLine(); } }
/// <summary> /// Raised on each timer interval /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Timer_Tick(object sender, object e) { //check if a new fruit must be added if (!GameArray.FruitExists && GameArray.TimeFruitWasCreatedOrEaten + DurationTillNextFruit > DateTime.Now) { //create new fruit GameArray.AddFruit(); GameArray.FruitExists = true; GameArray.TimeFruitWasCreatedOrEaten = DateTime.Now; } //move the snake TryMove(); //inform the UI that the game state has changed Updated?.Invoke(this, EventArgs.Empty); }
public static void SetRestore() { //display file(S) //prompt for file(s) // ... // ... List<int> gamearrayints = StreamClass.RestoreGameArray("C:/program files/returnchar/savelist.csv"); // restoring savelists foreach(int i in gamearrayints) { GameArray.Add(Book.GetBookID(i)); } GetGameModelOne(); break; // ... // ... }
private async void WaitForMovement() { var bytesRead = await dataReader.LoadAsync(3); if (bytesRead > 0) { string peerMovement = dataReader.ReadString(1); int position = dataReader.ReadInt16(); if (peerMovement == "R") { LogMessage("Game has been reset"); dispatcherService.CallDispatcher(() => ResetBoard()); HandShake(); } else { LogMessage("Received movement, your turn!"); dispatcherService.CallDispatcher(() => { GameArray[position] = peerMovement; if (GameArray.IsWinner()) { LogMessage("LOSER!"); dispatcherService.CallDispatcher(() => { GameStarted = false; MyTurn = false; isInitiator = false; }); LogMessage("Starting new game"); ResetBoard(); HandShake(); return; } }); MyTurn = true; } } }
/// <summary> /// Naplní pole základními daty (zdi) /// </summary> private void FillArray() { for (int i = 0; i < GameArray.GetLength(0); i++) { for (int j = 0; j < GameArray.GetLength(1); j++) { GameArray[i, j] = Box.Nothing; GameArray[LeghtX - 1, j] = Box.Wall; GameArray[i, LeghtY - 1] = Box.Wall; } } for (int i = 0; i < GameArray.GetLength(0); i++) { GameArray[0, i] = Box.Wall; GameArray[i, 0] = Box.Wall; } GenerateFood(); GenerateFood(); GenerateFood(); }
private void Start() { canEdit = true; gameArray = GetComponent <GameArray>(); grid = GameObject.FindGameObjectWithTag("Grid").GetComponent <Grid>(); }