Я пытаюсь создать систему выравнивания в QB64 Txt Based Adventure

То, что я хочу, случается всякий раз, когда 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 ответ

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

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
Другие вопросы по тегам