Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
56
Task/Bulls-and-cows/Visual-Basic-.NET/bulls-and-cows.vb
Normal file
56
Task/Bulls-and-cows/Visual-Basic-.NET/bulls-and-cows.vb
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
Imports System
|
||||
Imports System.Text.RegularExpressions
|
||||
|
||||
Module Bulls_and_Cows
|
||||
Function CreateNumber() As String
|
||||
Dim random As New Random()
|
||||
Dim sequence As Char() = {"1"c, "2"c, "3"c, "4"c, "5"c, "6"c, "7"c, "8"c, "9"c}
|
||||
|
||||
For i As Integer = 0 To sequence.Length - 1
|
||||
Dim j As Integer = random.Next(sequence.Length)
|
||||
Dim temp As Char = sequence(i) : sequence(i) = sequence(j) : sequence(j) = temp
|
||||
Next
|
||||
|
||||
Return New String(sequence, 0, 4)
|
||||
End Function
|
||||
|
||||
Function IsFourDigitNumber(ByVal number As String) As Boolean
|
||||
Return Regex.IsMatch(number, "^[1-9]{4}$")
|
||||
End Function
|
||||
|
||||
Sub Main()
|
||||
Dim chosenNumber As String = CreateNumber()
|
||||
Dim attempt As Integer = 0
|
||||
Console.WriteLine("Number is chosen")
|
||||
Dim gameOver As Boolean = False
|
||||
Do
|
||||
attempt += 1
|
||||
Console.WriteLine("Attempt #{0}. Enter four digit number: ", attempt)
|
||||
Dim number As String = Console.ReadLine()
|
||||
Do While Not IsFourDigitNumber(number)
|
||||
Console.WriteLine("Invalid number: type four characters. Every character must digit be between '1' and '9'.")
|
||||
number = Console.ReadLine()
|
||||
Loop
|
||||
|
||||
Dim bulls As Integer = 0
|
||||
Dim cows As Integer = 0
|
||||
|
||||
For i As Integer = 0 To number.Length - 1
|
||||
Dim j As Integer = chosenNumber.IndexOf(number(i))
|
||||
If i = j Then
|
||||
bulls += 1
|
||||
ElseIf j >= 0 Then
|
||||
cows += 1
|
||||
End If
|
||||
Next
|
||||
|
||||
If bulls < chosenNumber.Length Then
|
||||
Console.WriteLine("The number '{0}' has {1} bulls and {2} cows", _
|
||||
number, bulls, cows)
|
||||
Else
|
||||
gameOver = True
|
||||
End If
|
||||
Loop Until gameOver
|
||||
Console.WriteLine("The number was guessed in {0} attempts. Congratulations!", attempt)
|
||||
End Sub
|
||||
End Module
|
||||
Loading…
Add table
Add a link
Reference in a new issue