mirror of
https://github.com/ivabus/roulette
synced 2024-11-22 00:15:09 +03:00
Проверка ГСЧ готова
Code refactoring Getting ready to 2.0 release
This commit is contained in:
parent
bcf0f9edb9
commit
aa26add757
3 changed files with 91 additions and 72 deletions
7
global.json
Normal file
7
global.json
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"sdk": {
|
||||||
|
"version": "6.0.0",
|
||||||
|
"rollForward": "latestMajor",
|
||||||
|
"allowPrerelease": true
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,5 +1,4 @@
|
||||||
|
|
||||||
|
|
||||||
Module Program
|
Module Program
|
||||||
'https://github.com/ivabus/roulette
|
'https://github.com/ivabus/roulette
|
||||||
'https://ivabus.github.io/roulette
|
'https://ivabus.github.io/roulette
|
||||||
|
@ -16,8 +15,9 @@ Module Program
|
||||||
RingRank0() As Integer = {0, 32, 15, 19, 4, 21, 2, 25, 17, 34, 6, 27, 13, 36, 11, 30, 8, 23, 10, 5, 24, 16, 33, 1, 20, 14, 31, 9, 22, 18, 29,
|
RingRank0() As Integer = {0, 32, 15, 19, 4, 21, 2, 25, 17, 34, 6, 27, 13, 36, 11, 30, 8, 23, 10, 5, 24, 16, 33, 1, 20, 14, 31, 9, 22, 18, 29,
|
||||||
7, 28, 12, 35, 3, 26}
|
7, 28, 12, 35, 3, 26}
|
||||||
'ringRank0 нужен, чтобы было удобно подавать массив в поиск индекса
|
'ringRank0 нужен, чтобы было удобно подавать массив в поиск индекса
|
||||||
|
|
||||||
Dim ReadOnly ReleaseTag As String = "1.26"
|
Private Const ReleaseTag As String = "2"
|
||||||
|
|
||||||
Dim ReadOnly Logo() As String = { _
|
Dim ReadOnly Logo() As String = { _
|
||||||
"#### ### # # # ##### ##### ##### #####",
|
"#### ### # # # ##### ##### ##### #####",
|
||||||
"# # # # # # # # # # # ",
|
"# # # # # # # # # # # ",
|
||||||
|
@ -45,17 +45,7 @@ Module Program
|
||||||
Next
|
Next
|
||||||
Console.ForegroundColor = ConsoleColor.DarkBlue
|
Console.ForegroundColor = ConsoleColor.DarkBlue
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Function RemoveAt (Of T)(arr As T(), index As Integer) As T() 'Скопировано с StackOverflow
|
|
||||||
Dim uBound = arr.GetUpperBound(0)
|
|
||||||
Dim lBound = arr.GetLowerBound(0)
|
|
||||||
Dim arrLen = uBound - lBound
|
|
||||||
Dim outArr(arrLen - 1) As T
|
|
||||||
Array.Copy(arr, 0, outArr, 0, index)
|
|
||||||
Array.Copy(arr, index + 1, outArr, index, uBound - index)
|
|
||||||
Return outArr
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Sub Sleep(d As Single) 'Название говорит о предназначении функции
|
Sub Sleep(d As Single) 'Название говорит о предназначении функции
|
||||||
Dim t As Single = Timer
|
Dim t As Single = Timer
|
||||||
Do while Timer - t < d
|
Do while Timer - t < d
|
||||||
|
@ -87,7 +77,7 @@ Module Program
|
||||||
Console.WriteLine(StrDup(Console.WindowWidth - 1, "#"))
|
Console.WriteLine(StrDup(Console.WindowWidth - 1, "#"))
|
||||||
Sleep(0.04444)
|
Sleep(0.04444)
|
||||||
Next
|
Next
|
||||||
Const entr As String = " Нажмите любую кнопку, чтобы начать игру! "
|
Const entr = " Нажмите любую кнопку, чтобы начать игру! "
|
||||||
Console.SetCursorPosition((Console.WindowWidth\2) - Len(entr)\2,
|
Console.SetCursorPosition((Console.WindowWidth\2) - Len(entr)\2,
|
||||||
Console.WindowHeight - (Console.WindowHeight()\2 - UBound(Logo) + 2)\4 - 3)
|
Console.WindowHeight - (Console.WindowHeight()\2 - UBound(Logo) + 2)\4 - 3)
|
||||||
Console.Write(StrDup(Len(entr) + 2, " "))
|
Console.Write(StrDup(Len(entr) + 2, " "))
|
||||||
|
@ -286,24 +276,31 @@ Module Program
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub Game()
|
Sub Game()
|
||||||
|
Console.WriteLine("Выберите сложность: ")
|
||||||
|
Console.WriteLine("1) Лёгкая - 500 фишек в начале")
|
||||||
|
Console.WriteLine("2) Нормальная - 100 фишек в начале")
|
||||||
|
Console.WriteLine("3) Сложная - 10 фишек в начале")
|
||||||
|
Console.WriteLine("4) Невозможная - 2 фишки в начале")
|
||||||
|
Console.Write(">>> ")
|
||||||
|
Dim choose As Integer = Console.ReadLine()
|
||||||
|
Dim fish As Long
|
||||||
|
Select Case choose
|
||||||
|
Case 1
|
||||||
|
fish = 500
|
||||||
|
Case 2
|
||||||
|
fish = 100
|
||||||
|
Case 3
|
||||||
|
fish = 10
|
||||||
|
Case 4
|
||||||
|
fish = 2
|
||||||
|
Case Else
|
||||||
|
Console.WriteLine("Выбор некорректен!")
|
||||||
|
End Select
|
||||||
Console.WriteLine("Игра началась!")
|
Console.WriteLine("Игра началась!")
|
||||||
Dim fish As Long = 5000
|
|
||||||
Dim history As New List(Of Integer)
|
Dim history As New List(Of Integer)
|
||||||
|
|
||||||
Do while fish > 0
|
Do while fish > 0
|
||||||
Console.ForegroundColor = ConsoleColor.DarkBlue
|
Console.ForegroundColor = ConsoleColor.DarkBlue
|
||||||
Console.WriteLine("У Вас {0} фишек.", fish)
|
|
||||||
Console.WriteLine("Продолжить игру? (Y/n):")
|
|
||||||
Console.Write(">>> ")
|
|
||||||
Dim temp As String = Console.ReadLine()
|
|
||||||
If temp = "n" or temp = "N" Then
|
|
||||||
Exit Sub
|
|
||||||
Else IF temp = "" or temp = "y" or temp = "Y"
|
|
||||||
Console.Write("")
|
|
||||||
Else
|
|
||||||
Console.WriteLine("Неверный ввод, продолжаем игру.")
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim generated() As String = SpinWheel()
|
Dim generated() As String = SpinWheel()
|
||||||
Console.Clear
|
Console.Clear
|
||||||
history.Add(generated(0))
|
history.Add(generated(0))
|
||||||
|
@ -377,9 +374,20 @@ Module Program
|
||||||
DisplayHistory(history.ToArray())
|
DisplayHistory(history.ToArray())
|
||||||
Console.ForegroundColor = ConsoleColor.DarkBlue
|
Console.ForegroundColor = ConsoleColor.DarkBlue
|
||||||
Console.WriteLine()
|
Console.WriteLine()
|
||||||
|
Console.WriteLine("У Вас {0} фишек.", fish)
|
||||||
|
Console.WriteLine("Продолжить игру? (Y/n):")
|
||||||
|
Console.Write(">>> ")
|
||||||
|
Dim temp As String = Console.ReadLine()
|
||||||
|
If temp = "n" or temp = "N" Then
|
||||||
|
Exit Sub
|
||||||
|
Else IF temp = "" or temp = "y" or temp = "Y"
|
||||||
|
Console.Write("")
|
||||||
|
Else
|
||||||
|
Console.WriteLine("Неверный ввод, продолжаем игру.")
|
||||||
|
End If
|
||||||
Loop
|
Loop
|
||||||
Console.WriteLine("У Вас кончились фишки, игра окончена.")
|
Console.WriteLine("У Вас закончились фишки, игра окончена.")
|
||||||
Console.WriteLine("Нажмите любую кнопку, чтобы выйти в меню.")
|
Console.WriteLine("Нажмите любую клавишу, чтобы выйти в меню.")
|
||||||
Console.ReadKey()
|
Console.ReadKey()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
@ -391,59 +399,63 @@ Module Program
|
||||||
Console.WriteLine("Сайт: bushchikivan.github.io/roulette")
|
Console.WriteLine("Сайт: bushchikivan.github.io/roulette")
|
||||||
Console.WriteLine("Репозиторий: github.com/BushchikIvan/roulette")
|
Console.WriteLine("Репозиторий: github.com/BushchikIvan/roulette")
|
||||||
Console.WriteLine("Версия: " + ReleaseTag)
|
Console.WriteLine("Версия: " + ReleaseTag)
|
||||||
Console.WriteLine("Нажмите любую кнопку чтобы продолжить.")
|
Console.WriteLine("Нажмите любую клавишу чтобы продолжить.")
|
||||||
Console.ReadKey()
|
Console.ReadKey()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub TestGenerator()
|
Sub TestGenerator()
|
||||||
Randomize()
|
Randomize()
|
||||||
Dim Count, Ending As Integer
|
Dim count As Integer
|
||||||
Dim rnd As New Random
|
Dim rnd As New Random
|
||||||
Console.Write("Введите количество чисел для генерирования >>> ")
|
Console.Write("Введите количество чисел для генерирования >>> ")
|
||||||
Count = Console.ReadLine()
|
Count = Console.ReadLine()
|
||||||
Console.Write("Введите конец диапазона проверки (от 0 по X, где X - число, которое вводится сейчас) >>> ")
|
Dim mass(count) As Double
|
||||||
Ending = Console.ReadLine()
|
|
||||||
Dim mass(Count) As Integer
|
|
||||||
For i = 0 to Ubound(mass)
|
For i = 0 to Ubound(mass)
|
||||||
mass(i) = 0
|
mass(i) = rnd.NextDouble()
|
||||||
Next
|
Next
|
||||||
Dim now As Integer
|
Dim pogr As Double = 0
|
||||||
For i = 0 To Count
|
Dim sr As Double = mass.Sum() / Count
|
||||||
mass(rnd.Next(0, Ending)) += 1
|
pogr = Math.abs((sr - 0.5) / 0.5) * 100
|
||||||
Next
|
Console.WriteLine("Погрешность генератора случайных чисел " + pogr.ToString("0.#####") + "%")
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub Main()
|
Sub Main()
|
||||||
Console.BackgroundColor = ConsoleColor.Green
|
Try
|
||||||
Console.ForegroundColor = ConsoleColor.DarkBlue
|
Console.BackgroundColor = ConsoleColor.Green
|
||||||
Randomize()
|
Console.ForegroundColor = ConsoleColor.DarkBlue
|
||||||
Console.Clear()
|
Randomize()
|
||||||
Intro()
|
Console.Clear()
|
||||||
Console.WriteLine("Игра Рулетка")
|
Intro()
|
||||||
Console.WriteLine("1) Начать игру")
|
Console.WriteLine("Игра Рулетка")
|
||||||
Console.WriteLine("2) Ознакомиться с правилами")
|
Console.WriteLine("1) Начать игру")
|
||||||
Console.WriteLine("3) О игре")
|
Console.WriteLine("2) Ознакомиться с правилами")
|
||||||
Console.WriteLine("Дополнительно:")
|
Console.WriteLine("3) О игре")
|
||||||
Console.WriteLine("4) Проверка генератора случайных чисел")
|
Console.WriteLine("Дополнительно:")
|
||||||
Console.WriteLine("0) Выйти из игры")
|
Console.WriteLine("4) Проверка генератора случайных чисел")
|
||||||
Console.Write(">>> ")
|
Console.WriteLine("0) Выйти из игры")
|
||||||
Dim input As Integer = Console.ReadLine
|
Console.Write(">>> ")
|
||||||
Select Case input
|
Dim input As Integer = Console.ReadLine
|
||||||
Case 0
|
Select Case input
|
||||||
Exit Sub
|
Case 0
|
||||||
Case 1
|
Exit Sub
|
||||||
Console.Clear
|
Case 1
|
||||||
Game()
|
Console.Clear
|
||||||
Main()
|
Game()
|
||||||
Case 2
|
Main()
|
||||||
Rules()
|
Case 2
|
||||||
Main()
|
Rules()
|
||||||
Case 3
|
Main()
|
||||||
About()
|
Case 3
|
||||||
Main()
|
About()
|
||||||
Case 4
|
Main()
|
||||||
TestGenerator()
|
Case 4
|
||||||
End Select
|
TestGenerator()
|
||||||
|
Case Else
|
||||||
|
Exit Sub
|
||||||
|
End Select
|
||||||
|
Catch
|
||||||
|
Console.WriteLine("Ошибка!")
|
||||||
|
Exit Sub
|
||||||
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
End Module
|
End Module
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<RootNamespace>roulette</RootNamespace>
|
<RootNamespace>roulette</RootNamespace>
|
||||||
<TargetFramework>net5.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
Loading…
Reference in a new issue