Esempio n. 1
0
 def test_normal_usage(s):
     base = stats.build_table(100, 10, 20, 20)
     item = stats.build_table(20, -5, 10, -10)
     assert stats.stack(base, item)['HP'] == 120
     assert stats.stack(base, item)['PW'] == 5
     assert stats.stack(base, item)['DF'] == 30
     assert stats.stack(base, item)['SP'] == 10
Esempio n. 2
0
 def test_multiple_items(s):
     base = stats.build_table(100, 10, 20, 20)
     item = stats.build_table(20, -5, 10, 5)
     armor = stats.build_table(10, 0, 40, -10)
     potion = stats.build_table(120, 10, -5, 0)
     special = stats.build_table(0, 50, 0, 0)
     assert stats.stack(base, item, armor, potion, special)['HP'] == 250
     assert stats.stack(base, item, armor, potion, special)['PW'] == 65
     assert stats.stack(base, item, armor, potion, special)['DF'] == 65
     assert stats.stack(base, item, armor, potion, special)['SP'] == 15
Esempio n. 3
0
def begin():
    malt.show("\nYou wander inside an old, decrepit dungeon...")
    malt.pause()

    # Generate a new character
    character = stats.stack(generate.monster(), generate.accessory())
    keys = 0

    ###
    while True:
        try:
            (character, keys) = enter_room(character, keys)
        except exceptions.YouAreDeadException as e:
            if e.game_won:
                malt.show("You have conquered the dungeon!")
            else:
                malt.show("You gave your life to destroy the dungeon.")
                malt.show("Thank you for your sacrifice.")

            break

        if character['HP'] < 0 or keys >= MAX_KEYS:
            break
    ###

    ###
    if character['HP'] > 0:
        malt.show("You have conquered the dungeon!")
    else:
        malt.show("You gave your life to destroy the dungeon.")
        malt.show("Thank you for your sacrifice.")
Esempio n. 4
0
 def test_negative_stack(s):
     base = stats.build_table(100, 10, 20, 5)
     item = stats.build_table(0, 0, 10, -10)
     assert stats.stack(base, item)['SP'] == 0