Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame
- import Hero
- import Button
- import shopping
- import Enemy
- pygame.init()
- #display settings
- win = pygame.display.set_mode((1000, 700))
- pygame.display.set_caption("Pixel_Hero")
- #Initialize graphics
- bg = pygame.transform.scale(pygame.image.load('background ph.png'), (1000, 700))
- bg_choose_menu = pygame.transform.scale(pygame.image.load('background - choose menu.png'), (1000, 700))
- bg_dungeon = pygame.transform.scale(pygame.image.load('enemies/dungeon_bg.png'), (1000, 700))
- welcome_title = pygame.transform.scale(pygame.image.load('welcome title.png'), (400, 400))
- #Buttons
- play_button = Button.Button(450, 450, pygame.transform.scale(pygame.image.load('Play_button.png'), (250, 250)))
- work_button = Button.Button(50, 100, pygame.transform.scale(pygame.image.load('Work_title.png'), (200, 200)))
- shop_button = Button.Button(50, 310, pygame.transform.scale(pygame.image.load('shop_title.png'), (200, 200)))
- dungeon_button = Button.Button(50, 520, pygame.transform.scale(pygame.image.load('Monsters_title.png'), (200, 200)))
- cancel_button = Button.Button(0 , 500, pygame.transform.scale(pygame.image.load('cancel_button.png'), (200, 200)))
- Skieleton = Button.Button(100, 0, pygame.transform.scale(pygame.image.load('enemies/skieleton.png'), (200, 200)))
- Acient_Knight = Button.Button(500, 0, pygame.transform.scale(pygame.image.load('enemies/Acient Knight.png'), (200, 200)))
- Dragon = Button.Button(800, 0, pygame.transform.scale(pygame.image.load('enemies/weird dragon.png'), (200, 200)))
- fight_button = Button.Button(400, 250, pygame.transform.scale(pygame.image.load('fight_button.png'), (200, 200)))
- #Human/enemies
- Human = pygame.transform.scale(pygame.image.load('Hero.png'), (400, 400))
- skieleton_bg = pygame.transform.scale(pygame.image.load('skieleton_bg.png'), (500, 500))
- acient_knight_bg = pygame.transform.scale(pygame.image.load('acient_knight_bg.png'), (500, 500))
- Weird_Dragon_bg = pygame.transform.scale(pygame.image.load('weird_dragon_bg.png'), (500, 500))
- #text
- cash = pygame.font.SysFont('comicsans', 32)
- #shopping
- swords_shop = [pygame.transform.scale(pygame.image.load('Wooden sword.png'), (200, 200)),
- pygame.transform.scale(pygame.image.load('Iron Sword.png'), (200, 200)),
- pygame.transform.scale(pygame.image.load('Magic Sword.png'), (200, 200))]
- shields_shop = [pygame.transform.scale(pygame.image.load('Wooden Shield.png'), (200, 200)),
- pygame.transform.scale(pygame.image.load('Iron shield.png'), (200, 200)),
- pygame.transform.scale(pygame.image.load('Mithic shield.png'), (200, 200))]
- suits_shop = [pygame.transform.scale(pygame.image.load('TRAVEL SUIT.png'), (200, 200)),
- pygame.transform.scale(pygame.image.load("Warror's suit.png"), (200, 200)),
- pygame.transform.scale(pygame.image.load('Mithic suit.png'), (200, 200))]
- boots = [pygame.transform.scale(pygame.image.load('clothes/traveller boots.png'), (300, 300)),
- pygame.transform.scale(pygame.image.load('clothes/iron boots.png'), (300, 300)),]
- pants = [pygame.transform.scale(pygame.image.load('clothes/traveller pants.png'), (300, 300)),
- pygame.transform.scale(pygame.image.load('clothes/Iron pants.png'), (300, 300))]
- suits = [pygame.transform.scale(pygame.image.load('clothes/traveller suit.png'), (450, 300)),
- pygame.transform.scale(pygame.image.load('clothes/iron suit.png'), (300, 300))]
- helmets = [pygame.transform.scale(pygame.image.load('clothes/traveller_helmet.png'), (300, 300)),
- pygame.transform.scale(pygame.image.load('clothes/iron helmet.png'), (300, 300)),
- pygame.transform.scale(pygame.image.load('clothes/mithic suit.png'), (300, 300))]
- shields = [pygame.transform.scale(pygame.image.load('clothes/traveller shield.png'), (300, 300)),
- pygame.transform.scale(pygame.image.load('clothes/Iron shield.png'), (300, 300)),
- pygame.transform.scale(pygame.image.load('clothes/mithic shield.png'), (300, 300))]
- swords = [pygame.transform.scale(pygame.image.load('clothes/traveller sword.png'), (300, 300)),
- pygame.transform.scale(pygame.image.load('clothes/Iron sword.png'), (300, 300)),
- pygame.transform.scale(pygame.image.load('clothes/mithic_sword.png'), (300, 300))]
- #Variables
- s = 1000
- su = 1000
- sh = 1000
- a = 0
- g = 0
- b = 0
- sword_index = 0
- suit_index = 0
- shield_index = 0
- sword_wear = 0
- shield_wear = 0
- armor_wear = 0
- dungeon_active = False
- skieleton_active = False
- knight_active = False
- war = False
- #Events
- Winning = pygame.USEREVENT + 1
- Losing = pygame.USEREVENT + 2
- tie = pygame.USEREVENT + 3
- #Objects
- Skieletor = Enemy.Enemy(50, 1)
- Knight = Enemy.Enemy(150, 30)
- Dragonn = Enemy.Enemy(200, 50)
- active = False
- def draw_menu():
- global a, active
- win.blit(bg, (0,0))
- win.blit(welcome_title, (450, 0))
- if play_button.draw(win) == True or active == True:
- active = True
- draw_choose_menu()
- def draw_choose_menu():
- global a, g, dungeon_active
- dungeon_active = False
- win.blit(bg_choose_menu, (0, 0))
- win.blit(Human, (500, 300))
- namee = cash.render(Hero.hero.name, True, (255, 0, 0))
- cas = cash.render('Cash: ' + str(Hero.hero.cash), True, (255, 0, 0))
- win.blit(cas, (400, 300))
- win.blit(namee, (640, 200))
- if work_button.draw(win) and g == 0:
- g = 0
- Hero.hero.work()
- if dungeon_button.draw(win) or a == 1 and g == 0:
- dungeon_active = True
- g = 0
- a = 1
- draw_dungeon()
- if dungeon_active == False:
- if shop_button.draw(win) or a == 2:
- a = 2
- draw_shop()
- if a == 0 and g == 0:
- get_armor()
- def draw_shop():
- global sword, suit, shield, g, sword_index, suit_index, shield_index, a, cancel_button, s, su, sh, sword_wear, shield_wear, armor_wear
- if g == 0:
- if not(sword_index == 3):
- sword = shopping.shopp(400, 0, swords_shop[sword_index], 100, s)
- sword.clicked = True
- if not(suit_index == 3):
- suit = shopping.shopp(400, 250, suits_shop[suit_index], 100, su)
- suit.clicked = True
- if not(shield_index == 3):
- shield = shopping.shopp(400, 500, shields_shop[shield_index], 100, sh)
- shield.clicked = True
- g = 1
- win.fill((158, 255, 92))
- if sword.draw(win):
- if sword_index <= 2:
- if Hero.hero.cash >= sword.cost:
- Hero.hero.damage += 50
- sword_index += 1
- g = 0
- Hero.hero.cash -= sword.cost
- s += 1000
- sword_wear += 1
- else:
- print("You can't buy it. You haven't money")
- else:
- print("You have the best sword in this game")
- if suit.draw(win):
- if suit_index <= 2:
- if Hero.hero.cash >= suit.cost:
- Hero.hero.health += 50
- suit_index += 1
- g = 0
- Hero.hero.cash -= suit.cost
- su += 1000
- armor_wear += 1
- else:
- print("You can't buy it. You haven't money")
- else:
- print("You have the best suit in this game")
- if shield.draw(win):
- if shield_index <= 2:
- if Hero.hero.cash >= shield.cost:
- Hero.hero.health += 30
- shield_index += 1
- g = 0
- Hero.hero.cash -= shield.cost
- sh += 1000
- shield_wear += 1
- else:
- print("You can't buy it. You haven't money")
- else:
- print("You have the best shield in this game")
- if cancel_button.draw(win):
- a = 0
- g = 0
- def draw_dungeon():
- global a, g, b, skieleton_active, knight_active, war
- win.blit(bg_dungeon, (0, 0))
- skieleton_active = False
- knight_active = False
- if cancel_button.draw(win):
- a = 0
- g = 0
- if Skieleton.draw(win) or b == 1:
- win.fill((173, 173, 173))
- win.blit(skieleton_bg, (250, 200))
- b = 1
- skieleton_active = True
- if fight_button.draw(win) or war == True:
- if Skieletor.fight() == 0:
- war = True
- if Skieletor.fight() == True:
- pygame.event.post(pygame.event.Event(Winning))
- war = False
- if Skieletor.fight() == False:
- pygame.event.post(pygame.event.Event(Losing))
- war = False
- if Skieletor.fight() == None:
- pygame.event.post(pygame.event.Event(tie))
- war = False
- if cancel_button.draw(win):
- b = 0
- if skieleton_active == False:
- if Acient_Knight.draw(win) or b == 2:
- win.fill((53, 1, 131))
- win.blit(acient_knight_bg, (250, 200))
- b = 2
- knight_active = True
- if knight_active == False:
- if Dragon.draw(win) or b == 3:
- win.fill((255, 0, 0))
- win.blit(Weird_Dragon_bg, (250, 200))
- b = 3
- def get_armor():
- global sword_wear, shield_wear, armor_wear, Human
- if armor_wear == 1:
- helmet_wr = shopping.suits(helmets[0], 540, 140)
- armor_wr = shopping.suits(suits[0], 500, 350)
- pants_wr = shopping.suits(pants[0], 525, 500)
- boots_wr = shopping.suits(boots[0], 525, 420)
- if armor_wear == 2:
- helmet_wr = shopping.suits(helmets[1], 540, 250)
- armor_wr = shopping.suits(suits[1], 550, 350)
- pants_wr = shopping.suits(pants[1], 535, 465)
- boots_wr = shopping.suits(boots[1], 525, 420)
- if armor_wear == 3:
- Human = pygame.transform.scale(pygame.image.load('clothes/mithic suit.png'), (400, 400))
- if sword_wear == 1:
- sword_wr = shopping.suits(swords[0], 370, 360)
- if sword_wear == 2:
- sword_wr = shopping.suits(swords[1], 350, 360)
- if sword_wear == 3:
- sword_wr = shopping.suits(swords[2], 370, 350)
- if shield_wear == 1:
- shield_wr = shopping.suits(shields[0], 630, 400)
- if shield_wear == 2:
- shield_wr = shopping.suits(shields[1], 630, 400)
- if shield_wear == 3:
- shield_wr = shopping.suits(shields[2], 630, 400)
- try:
- if armor_wear == 1 or armor_wear == 2:
- helmet_wr.wear(win)
- armor_wr.wear(win)
- pants_wr.wear(win)
- boots_wr.wear(win)
- sword_wr.wear(win)
- shield_wr.wear(win)
- except:
- try:
- shield_wr.wear(win)
- except:
- pass
- run = True
- Clock = pygame.time.Clock()
- while run:
- Clock.tick(70)
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- pygame.quit()
- run = False
- if event.type == Winning:
- win.fill((255, 0,0))
- cash.render('You Won')
- win.blit(cash, 500, 350)
- pygame.display.update()
- pygame.time.delay(5000)
- a = 0
- g = 0
- b = 0
- if event.type == Losing:
- print("Your enemy killed You")
- pygame.quit()
- run = False
- if event.type == tie:
- print("You both are dead")
- pygame.quit()
- run = False
- draw_menu()
- pygame.display.update()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement