PowerShell угадайку максимальное количество догадок - PullRequest
0 голосов
/ 09 ноября 2018

Привет, я сделал игру с угадыванием чисел, но я изо всех сил пытаюсь остановить игру после угадывания х.

$Number = (Get-Random 100) + 1
$Guess = 0
$count = 1

Write-Host "I'm thinking of a number between 1 and 100."

While ($Number -ne $Guess) {

Write-Host -NoNewline "What is the number? "
$Guess = [int] (Read-Host)

If ($Guess -gt $Number) { Write-Host "$Guess is too high." }
If ($Guess -lt $Number) { Write-Host "$Guess is too low." }   
If ($count -eq 7) {break}

}
Write-Host "Correct! $Number is the number I was thinking!"

1 Ответ

0 голосов
/ 09 ноября 2018

Я добавил переменную в ваш цикл while, названную $Tries, она увеличивается на единицу каждый раз, когда кто-то угадывает число, до тех пор, пока оно не станет равным 10, затем цикл прерывается.

Кроме того, я включил строку, которая сообщает вам, что число является правильным в цикле, и велит ему отображать правильное сообщение и прерывать цикл, когда число является правильным.

Я должен был включить это в цикл, потому что, если бы я просто позволил ему разорвать цикл, когда $Tries был больше, чем 10, он все равно отображал бы сообщение о том, что число было правильным.

$Number = (Get-Random 100) + 1
$Guess = 0
$Tries = 0

Write-Host "I'm thinking of a number between 1 and 100."

While ($Number -ne $Guess) {

Write-Host -NoNewline "What is the number? "
$Guess = [int] (Read-Host)

$Tries = $Tries + 1

If ($Tries -gt 10) { Write-Host "You have used all of your guesses, try again." ; break }
If ($Guess -gt $Number) { Write-Host "$Guess is too high." }
If ($Guess -lt $Number) { Write-Host "$Guess is too low." }   
If ($Guess -eq $Number) { Write-Host "Correct! $Number is the number I was thinking!" ; break}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...