Advertisement
wadoodle

Untitled

Jan 16th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.92 KB | None | 0 0
  1. from time import sleep
  2. import os
  3. import random
  4.  
  5. def enter():
  6.     input('Press Enter to Continue')
  7.  
  8. def clear():
  9.     os.system('clear')
  10.  
  11. class Inventory:
  12.     def __init__(self):
  13.         self.items = {'Basic Rod': 0, 'Advanced Rod': 0, 'Ultimate Rod': 0,
  14.         'Coins': 50, 'Minnow': 0, 'Sardine': 0, 'Grouper': 0, 'Trout': 0,
  15.         'Salmon': 0, 'Boot': 0}
  16.  
  17.         self.values = {'Minnow': 10, 'Sardine': 15, 'Grouper': 20, 'Trout': 30,
  18.          'Salmon': 50, 'Boot': 5}
  19.  
  20.     def catch(self, fish):
  21.         print('You caught a %s!' % fish)
  22.         self.items[fish] += 1
  23.         enter()
  24.  
  25.     def fishing(self):
  26.         clear()
  27.         while True:
  28.             if self.items['Ultimate Rod'] > 0:
  29.                 rod = 3
  30.             elif self.items['Advanced Rod'] > 0:
  31.                 rod = 2
  32.             elif self.items['Basic Rod'] > 0:
  33.                 rod = 1
  34.             else:
  35.                 print("You don't have a fishing pole.")
  36.                 enter()
  37.                 break
  38. #            num = random.randint(2,7)
  39.             catch_roll = random.randint(1, 10)
  40.             print('You cast out your rod and wait')
  41. #            for i in range(num):
  42. #                sleep(1)
  43. #                print('.')
  44.             if rod == 1:
  45.                 if catch_roll < 2:
  46.                     self.catch('Boot')
  47.                 elif catch_roll >6:
  48.                     self.catch('Sardine')
  49.                 else:
  50.                     self.catch('Minnow')
  51.             elif rod == 2:
  52.                 if catch_roll < 2:
  53.                     self.catch('Boot')
  54.                 elif catch_roll < 6:
  55.                     self.catch('Sardine')
  56.                 elif catch_roll < 9:
  57.                     self.catch('Grouper')
  58.                 else:
  59.                     self.catch('Trout')
  60.             else:
  61.                 if catch_roll < 3:
  62.                     self.catch('Grouper')
  63.                 elif catch_roll >6:
  64.                     self.catch('Trout')
  65.                 else:
  66.                     self.catch('Salmon')
  67.             break
  68.  
  69.     def add(self, fish):
  70.         self.items[fish] += 1
  71.  
  72.     def sell(self):
  73.         while True:
  74.             clear()
  75.             for k, v in self.items.items():
  76.                 if v > 0 and k not in ['Basic Rod', 'Advanced Rod',
  77.                  'Ultimate Rod', 'Coins']:
  78.                     print('%s x %s =  %s' % (k, v, (v * self.values[k])))
  79.             print('1.Sell all\n2.Main Menu')
  80.             menu = str(input('> '))
  81.             if menu == '1':
  82.                 total = 0
  83.                 for k, v in self.items.items():
  84.                     if v > 0 and k not in ['Basic Rod', 'Advanced Rod',
  85.                      'Ultimate Rod', 'Coins']:
  86.                         total += v * self.values[k]
  87.                         self.items[k] = 0
  88.                 self.items['Coins'] += total
  89.                 print('You gained %s Coins.' % total)
  90.                 enter()
  91.  
  92.             elif menu == '2':
  93.                 break
  94.             else:
  95.                 continue
  96.  
  97.     def buy(self):
  98.         while True:
  99.             clear()
  100.             print('--Store--\nYou have %s Coins' % self.items['Coins'])
  101.             print('1.Basic Rod    50 Coins\n2.Advanced Rod 150 Coins')
  102.             print('3.Ultimate Rod 300 Coins\n4.Main Menu')
  103.             menu = str(input('> '))
  104.             if menu == '1':
  105.                 self.purchase('Basic Rod', 1, 50)
  106.             elif menu == '2':
  107.                 self.purchase('Advanced Rod', 1, 150)
  108.             elif menu == '3':
  109.                 self.purchase('Ultimate Rod', 1, 300)
  110.             elif menu == '4':
  111.                 break
  112.             else:
  113.                 continue
  114.  
  115.     def purchase(self, item, amount, price):
  116.         if self.items[item] > 0:
  117.             print('You already own this item.')
  118.             enter()
  119.         elif self.items['Coins'] >= price:
  120.             self.items[item] += amount
  121.             self.items['Coins'] -= price
  122.             print('Thank you for your purchase.')
  123.             enter()
  124.         else:
  125.             print('You need %s more coins.' % (price - self.items['Coins']))
  126.             enter()
  127.  
  128.     def display(self):
  129.         clear()
  130.         print('--Inventory--')
  131.         for k, v in self.items.items():
  132.             if v > 0:
  133.                 print('%s: %s' % (k, v))
  134.         enter()
  135.  
  136. items = Inventory()
  137.  
  138. while True:
  139.     clear()
  140.     print('--Menu--\n1.Go Fishing\n2.Buy\n3.Sell\n4.Inventory\n5.Buy Boat')
  141.     menu = str(input('> '))
  142.     if menu == '1':
  143.         items.fishing()
  144.  
  145.     elif menu == '2':
  146.         items.buy()
  147.  
  148.     elif menu == '3':
  149.         items.sell()
  150.  
  151.     elif menu == '4':
  152.         items.display()
  153.  
  154.     elif menu == '5':
  155.         if items.items['Coins'] > 600:
  156.             clear()
  157.             print('You win!')
  158.             break
  159.         else:
  160.             clear()
  161.             print('You need %s more coins.' % (600 - items.items['Coins']))
  162.             enter()
  163.     else:
  164.         continue
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement