summaryrefslogtreecommitdiffstats
path: root/weatbag/tiles/e2.py
blob: ca6647509d4518fe2e968aa3da128b68aec8b4f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from weatbag import words
import random

class Tile:
    def __init__(self):
        self.contents = {'unlit torch': 1}
        self.lucky_number = random.randrange(1,100)
        self.guess_count = 0
    
    def describe(self):
        if self.contents['unlit torch']:
            self.challenge()
        else: 
            print("You see a pile of dust on the ground.")

    def challenge(self): 
        print("A dwarf suddenly appears and says 'If you guess my "
            "lucky number, I might give you a reward!'")
        print("To make a guess, type 'guess' followed by a number "
            "between 1-100.")
    
    def action(self, player, do):
        if do[0] == "guess" and self.contents['unlit torch']: 
            try: 
                if do[1] == "correctly": 
                    print("You sly dog, you!")
                    print("The dwarf hands you a torch! "
                        "He then suddenly vanishes, leaving behind a pile of dust.")
                    self.contents['unlit torch'] -= 1
                    player.give('unlit torch')
                    return

                guess = int(do[1])
                self.guess_count += 1
                if guess > self.lucky_number: 
                    print("Too high! Guess again!")
                elif guess < self.lucky_number: 
                    print("Too low! Guess again!")
                else: 
                    print("You guessed my lucky number in %d guesses!" % 
                        (self.guess_count))
                    print("The dwarf hands you a torch! "
                        "He then suddenly vanishes, leaving behind a pile of dust.")
                    self.contents['unlit torch'] -= 1
                    player.give('unlit torch')
            except: 
                print("Please try guessing a number, like 'guess 7'.")
        elif (do[0] in words.take):
            print("You can't have my prize, you have to guess the lucky number!")
        else:
            print("Sorry, I don't understand.")