"Тараканьи бега" - продумать логику игры - 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

Оцени полезность:

5   голосов , оценка 4.6 из 5