private PositionCheck CreatePosition(int X, int Y) { PositionCheck temp = new PositionCheck(); temp.position = new IntVec(X, Y); temp.isChecked = false; return(temp); }
private PositionCheck CreatePosition(IntVec position) { PositionCheck temp = new PositionCheck(); temp.position = position; temp.isChecked = false; return(temp); }
public static void PrintSnakeFood(Queue <Position> snake, bool generateNewFoodPlace) { if (generateNewFoodPlace) { SpawnTheFoodAgain: foodPosition = new Position(rnd.Next(GlobalConstants.MinimumRowSize, GlobalConstants.MaximumRowSize), rnd.Next(GlobalConstants.MinimumColumnSize, GlobalConstants.MaximumColumnlSize)); bool spotIsValid = PositionCheck.CheckIfFoodSpawnedOnAValidSpot(snake, foodPosition); if (!spotIsValid) { goto SpawnTheFoodAgain; } } Console.SetCursorPosition(foodPosition.Col, foodPosition.Row); Console.Write(GlobalConstants.SnakeFood); }
public static bool UpdateTheSnake(Queue <Position> snake, Position newHeadPosition) { Position head = snake.Last(); Position newHead = new Position(head.Row + newHeadPosition.Row, head.Col + newHeadPosition.Col); PositionCheck.CheckIfSnakeCollidesIntoItself(snake, newHead); PositionCheck.CheckIfSnakeCollidesIntoAWall(newHead); bool snakeAteFood = PositionCheck.CheckIfTheSnakeHadSomeFood(newHead); if (!snakeAteFood) { snake.Dequeue(); } else { ConsoleDelayControl.FastenUpTheConsoleIfSnakeAteFood(); } snake.Enqueue(newHead); return(snakeAteFood); }
public static void Main() { PlayAgain: //creating the first snake in the upper left corner with len of 5 snake = new Queue <Position>(); snake = GlobalConstants.InitializeTheSnake(); //setting the cursor to invisible so the game looks better Console.CursorVisible = false; Console.BufferHeight = Console.WindowHeight; PrintItems.PrintTheSnakeOnTheConsole(snake); Position nextDirection = AvaliableDirections.GetNeededPosition(ConsoleKey.RightArrow); Position oldDirection = AvaliableDirections.GetNeededPosition(ConsoleKey.RightArrow); while (true) { if (Console.KeyAvailable) { ConsoleKeyInfo currMovement = Console.ReadKey(); nextDirection = AvaliableDirections.GetNeededPosition(currMovement); bool moveIsNotValid = PositionCheck.CheckIfTheMoveIsValid(nextDirection, oldDirection); if (moveIsNotValid) { nextDirection = oldDirection.ToPosition(); } oldDirection = nextDirection.ToPosition(); } Console.Clear(); bool snakeAteTheFood; try { snakeAteTheFood = SnakeUpdate.UpdateTheSnake(snake, nextDirection); } catch (GameOver goe) { PrintItems.PrintFinalMessage(goe.Message, snake); goto End; } HighScoreMenager.UpdateTheCurrentScore(snake); PrintItems.ScoreTracker(); PrintItems.PrintTheSnakeOnTheConsole(snake); PrintItems.PrintSnakeFood(snake, snakeAteTheFood); Thread.Sleep(ConsoleDelayControl.consoleDelay); } End: HighScoreMenager.CheckIfThereIsANewHighscoreAndUpdate(); bool wantsToPlayAgain = PrintItems.AnotherGameQuestion(); if (wantsToPlayAgain) { goto PlayAgain; } }
// Update is called once per frame void Update() { Movement(); PullOutPhone(); Vault(); if (Input.GetKey(KeyCode.Alpha9)) { test.SetActive(true); } //Save if (Input.GetKeyDown(KeyCode.L)) { DataLoader.Instance.SaveBuildingDataToJson(); UnityEditor.AssetDatabase.Refresh(); } //MiniMap if (Input.GetKeyDown(KeyCode.M)) { DMMap.instance.SetFullscreen(!DMMap.instance.fullscreen); } ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0)); if (Physics.Raycast(mainCam.transform.position, mainCam.transform.forward, out hit, raycastRange, layer8n10)) { if (hit.collider.gameObject.name == "ForSaleSign") { hello = hit.collider.transform.root.gameObject; if (!inMenu) { interactPopup.SetActive(true); } saleSign = hit.collider.gameObject; spawnPosition = saleSign.GetComponent <GetPositionToSpawnBuilding>().GetPosition(); if (Input.GetKeyDown(KeyCode.F)) { inMenu = true; TakePlayerControlAway(); buildingCanvas.SetActive(true); if (inMenu) { interactPopup.SetActive(false); } } } string objectTag = hit.transform.tag; switch (objectTag) { case "Vaultable": vaultFile = hit.collider.gameObject.name; pc = hit.collider.gameObject.GetComponent <PositionCheck>(); pc.VaultPositionCheck(); behindVaultPos = GameObject.Find(vaultFile + "/BehindVaultPoint"); frontVaultPos = GameObject.Find(vaultFile + "/FrontVaultPoint"); vaultPopup.SetActive(true); if (PositionCheck.isPlayerBehind) { startPos = behindVaultPos.transform.position; } else { startPos = frontVaultPos.transform.position; } if (Input.GetKey(KeyCode.Space)) { transform.position = startPos; vaultableWall = hit.collider; vaulting = true; GameObject.Find("Main Camera").GetComponent <MouseLook>().enabled = false; Vector3 lookPos = new Vector3(vaultableWall.transform.position.x, transform.position.y, vaultableWall.transform.position.z); player.transform.LookAt(lookPos); playerHasInput = false; } break; case "Chair": sitPopup.SetActive(true); if (Input.GetKeyDown(KeyCode.F)) { playerHasInput = false; sitAnimation.Play("chairSit"); isSitting = true; } break; case "Mule": mulePopup.SetActive(true); muleCollider = hit.collider; if (Input.GetKeyDown(KeyCode.F)) { muleCollider.enabled = false; TakePlayerControlAway(); StartCoroutine(MuleDialog()); } break; case "Spotter": interactPopup.SetActive(true); spotterCollider = hit.collider; if (Input.GetKeyDown(KeyCode.F)) { spotterCollider.enabled = false; TakePlayerControlAway(); spotterTitle.SetActive(true); if (AttackController.selectedDistrict) { spotterJobsAttack.SetActive(true); } else { spotterJobs.SetActive(true); } } break; case "Hitman": interactPopup.SetActive(true); hitmanCollider = hit.collider; if (Input.GetKeyDown(KeyCode.F)) { hitmanCollider.enabled = false; TakePlayerControlAway(); hitmanSentence.SetActive(true); hitmanJobs.SetActive(true); } break; case "Computer": if (isSitting) { interactPopup.SetActive(true); compCollider = hit.collider; if (Input.GetKeyDown(KeyCode.F)) { compCollider.enabled = false; TakePlayerControlAway(); OpenListing(); } } break; case "Door": interactPopup.SetActive(true); if (Input.GetKeyDown(KeyCode.F)) { doorAnim = hit.collider.GetComponent <Animator>(); doorOpen = !doorOpen; doorAnim.SetBool("isOpen", doorOpen); if (doorOpen) { timer += Time.deltaTime; } else { timer = 0f; } } break; default: break; } } else if (vaultPopup.activeInHierarchy) { vaultPopup.SetActive(false); } else if (sitPopup.activeInHierarchy) { sitPopup.SetActive(false); } else if (pickupPopup.activeInHierarchy) { pickupPopup.SetActive(false); } else if (mulePopup.activeInHierarchy) { mulePopup.SetActive(false); } else if (interactPopup.activeInHierarchy) { interactPopup.SetActive(false); } if (isSitting) { if (Input.GetKeyDown(KeyCode.Space)) { isSitting = false; sitAnimation.Play("chairStand"); playerHasInput = true; } } if (doorOpen) { timer += Time.deltaTime; } if (timer >= timerLimit) { doorOpen = false; doorAnim.SetBool("isOpen", doorOpen); timer = 0f; } }
private PositionCheck CreatePosition(int X, int Y) { PositionCheck temp = new PositionCheck(); temp.position = new IntVec(X,Y); temp.isChecked = false; return temp; }
private PositionCheck CreatePosition(IntVec position) { PositionCheck temp = new PositionCheck(); temp.position = position; temp.isChecked = false; return temp; }