Я пытаюсь создать систему выравнивания в QB64 Txt Based Adventure - PullRequest
0 голосов
/ 15 января 2019

То, что я хочу сделать, это когда expertotal% равно levelup%, я хочу добавить 1 к level%. Я пробовал level% + 1, но я получаю синтаксическую ошибку.

Затем, когда level% поднимается, я хочу умножить levelup% и experience% на 1.25.

Вот мой код:

    do

         sub lvl
            level% = 1  
            levelup% = 50  
            experience% = 5 
            ExperTotal% = 0 

        if Expertotal% = levelup% then 'something here to add 1 to level%
while Expertotal% = levelup% 

    ' multiply them both by 1.25

wend
    loop

    end sub

1 Ответ

0 голосов
/ 02 февраля 2019

Переписав ваш код несколько, я пришел к этому:

REM What I want to happen is whenever expertotal% is equal to levelup%,
REM I want to add 1 to level%.
REM   I've tried level% + 1, but I get a syntax error.
REM Then whenever level% goes up,
REM I want to multiply levelup% and experience% to be multiplied by 1.25.
level% = 1
levelup% = 50
experience% = 48
ExperTotal% = 48
DO
    COLOR 15
    PRINT "Increase exp(y/n)";: INPUT x$
    IF LCASE$(x$) = "y" THEN
        GOSUB lvl
        COLOR 14
        PRINT "level="; level%
        PRINT "experience="; experience%
    ELSE
        EXIT DO
    END IF
LOOP
COLOR 7
END
lvl:
' increase experience total
ExperTotal% = ExperTotal% + 1
' compare experience to levelup
IF ExperTotal% = levelup% THEN
    ' add 1 to level when experience equal
    level% = level% + 1%
    ' multiply levelup and experience
    levelup% = levelup% * 1.25
    experience% = experience% * 1.25
    COLOR 12
    PRINT "level increased.."
END IF
RETURN
END
...