"Тараканьи бега" - продумать логику игры - Visual Basic .NET
Формулировка задачи:
Недавно начал заниматься
VB
, и как одно из заданий мне сказали сделать какую-то свою программу одному или с кем-то в паре. Скооперировавшись с (назовем его Вадимом) у нас появилась идея для создания простенькой игры. А именно это были "Тараканьи бега". Суть в том, что сначала игрок дает имя и качает таракану один из видов статов на единицу. Всего их три: Скорость, сила, масса. Каждая из них имеет свой аспект в геймплее. Геймплей состоит в том, что после начала гонки на экран выводятся сообщения двух типов "Прямая" и "Поворот", а после одного из сообщений нужно ввести комбинацию из букв которая выводится ниже и нажать enter. Нужно набрать определенное Как сделать так, чтобы было три варианта исхода:1)
Игрок не успел нажать кнопку и теряет часть очков,2)
Игрок нажал кнопку и получает очки,3)
Игрок нажал не ту кнопку и потерял часть очков. Как это реализовать? Буду благодарен за помощь!Решение задачи: «"Тараканьи бега" - продумать логику игры»
textual
Листинг программы
Module Module1 Sub Main() Dim b, d, e, i, stati, skorost, sila, massa, pointi, osk, osi, oma As Integer Dim ky As ConsoleKeyInfo, a, s As String, r As New Random Randomize() skorost = 0 : sila = 0 : massa = 0 CWL("Здравствуйте, вы запустили игру, под названием ''Таракание Бега''") CWL("Как зовут вашего таракана?") a = Console.ReadLine CWL("Что вы хотите прокачать своему таракану?") CWL("У вас есть три очка на прокачку") CWL("Варианты для прокачки: 1)Скорость, 2)Сила, 3)Уменьшение массы") stati = Console.ReadLine If stati = 1 Then skorost = skorost + 1 ElseIf stati = 2 Then sila = sila + 1 ElseIf stati = 3 Then massa = massa + 1 End If osk = 10 - skorost osi = 10 - sila oma = 10 - massa Console.Write("Скорость ") For b = 1 To skorost Console.Write("=") Next For osk = 1 To osk Console.Write("-") Next CWL() Console.Write("Сила ") For d = 1 To sila Console.Write("=") Next For osi = 1 To osi Console.Write("-") Next CWL() Console.Write("Масса ") For e = 1 To massa Console.Write("=") Next For oma = 1 To oma Console.Write("-") Next CWL() CWL("Обучение: 1)Если на трассе прямая, то вы должны, нажать за определенный отрезок времени на W ") 'и после этого на Enter") CWL("Обучение: 2)Если на трассе поворот, то вы должны, нажать за определенный отрезок времени на S ") ' и после этого на Enter") CWL("Обучение: 3)Для выхода из игры нажмите ПРОБЕЛ") CWL("Первая гонка!") CWL("Нажмите ЕНТЕР когда вы будете готовы") Console.ReadLine() For i = 1 To 3 CWL(i) : Beep() : SLP(1) Next Console.Clear() CWL("Начали") : SLP(1) CWL("") Do s = Choose(r.Next(1, 3), "ПОВОРОТ", "ПРЯМАЯ") : CWL(s) : SLP(1) ky = Console.ReadKey 'w 87, s 83 Select Case s Case "ПОВОРОТ" : If ky.Key = 83 Then CWL("Правильно") Else CWL("Неправильно") Case "ПРЯМАЯ" : If ky.Key = 87 Then CWL("Правильно") Else CWL("Неправильно") End Select CWL() Loop Until ky.Key = 32 End Sub Sub SLP(ByVal SleepTime As Single) System.Threading.Thread.Sleep(SleepTime * 1000) End Sub Sub CWL(Optional ByVal WriteString As String = "") Console.WriteLine(WriteString) End Sub End Module