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

Вы можете сохранить значение с помощью этого метода:

public void savePreferencesForReasonCode(Context context,
    String key, String value) {
    SharedPreferences sharedPreferences = PreferenceManager
    .getDefaultSharedPreferences(context);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString(key, value);
    editor.commit();
    }

И используя этот метод, вы можете получить значение из SharedPreferences:

public String getPreferences(Context context, String prefKey) {
  SharedPreferences sharedPreferences = PreferenceManager
 .getDefaultSharedPreferences(context);
 return sharedPreferences.getString(prefKey, "");
}

Здесь prefKey - это ключ, который вы использовали для сохранения определенного значения. Спасибо.

1
задан Dale Burrell 16 January 2019 в 02:00
поделиться

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
0
ответ дан eoredson 16 January 2019 в 02:00
поделиться