Advertisement
Karp_xD

Pixel_Heroes

May 16th, 2022
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 11.10 KB | None | 0 0
  1. import pygame
  2. import Hero
  3. import Button
  4. import shopping
  5. import Enemy
  6. pygame.init()
  7. #display settings
  8. win = pygame.display.set_mode((1000, 700))
  9. pygame.display.set_caption("Pixel_Hero")
  10. #Initialize graphics
  11. bg = pygame.transform.scale(pygame.image.load('background ph.png'), (1000, 700))
  12. bg_choose_menu = pygame.transform.scale(pygame.image.load('background - choose menu.png'), (1000, 700))
  13. bg_dungeon = pygame.transform.scale(pygame.image.load('enemies/dungeon_bg.png'), (1000, 700))
  14. welcome_title = pygame.transform.scale(pygame.image.load('welcome title.png'), (400, 400))
  15. #Buttons
  16. play_button = Button.Button(450, 450, pygame.transform.scale(pygame.image.load('Play_button.png'), (250, 250)))
  17. work_button = Button.Button(50, 100, pygame.transform.scale(pygame.image.load('Work_title.png'), (200, 200)))
  18. shop_button = Button.Button(50, 310, pygame.transform.scale(pygame.image.load('shop_title.png'), (200, 200)))
  19. dungeon_button = Button.Button(50, 520, pygame.transform.scale(pygame.image.load('Monsters_title.png'), (200, 200)))
  20. cancel_button = Button.Button(0 , 500, pygame.transform.scale(pygame.image.load('cancel_button.png'), (200, 200)))
  21. Skieleton = Button.Button(100, 0, pygame.transform.scale(pygame.image.load('enemies/skieleton.png'), (200, 200)))
  22. Acient_Knight = Button.Button(500, 0, pygame.transform.scale(pygame.image.load('enemies/Acient Knight.png'), (200, 200)))
  23. Dragon = Button.Button(800, 0, pygame.transform.scale(pygame.image.load('enemies/weird dragon.png'), (200, 200)))
  24. fight_button = Button.Button(400, 250, pygame.transform.scale(pygame.image.load('fight_button.png'), (200, 200)))
  25. #Human/enemies
  26. Human = pygame.transform.scale(pygame.image.load('Hero.png'), (400, 400))
  27. skieleton_bg = pygame.transform.scale(pygame.image.load('skieleton_bg.png'), (500, 500))
  28. acient_knight_bg = pygame.transform.scale(pygame.image.load('acient_knight_bg.png'), (500, 500))
  29. Weird_Dragon_bg = pygame.transform.scale(pygame.image.load('weird_dragon_bg.png'), (500, 500))
  30. #text
  31. cash = pygame.font.SysFont('comicsans', 32)
  32. #shopping
  33. swords_shop = [pygame.transform.scale(pygame.image.load('Wooden sword.png'), (200, 200)),
  34. pygame.transform.scale(pygame.image.load('Iron Sword.png'), (200, 200)),
  35. pygame.transform.scale(pygame.image.load('Magic Sword.png'), (200, 200))]
  36. shields_shop = [pygame.transform.scale(pygame.image.load('Wooden Shield.png'), (200, 200)),
  37. pygame.transform.scale(pygame.image.load('Iron shield.png'), (200, 200)),
  38. pygame.transform.scale(pygame.image.load('Mithic shield.png'), (200, 200))]
  39. suits_shop = [pygame.transform.scale(pygame.image.load('TRAVEL SUIT.png'), (200, 200)),
  40. pygame.transform.scale(pygame.image.load("Warror's suit.png"), (200, 200)),
  41. pygame.transform.scale(pygame.image.load('Mithic suit.png'), (200, 200))]
  42. boots = [pygame.transform.scale(pygame.image.load('clothes/traveller boots.png'), (300, 300)),
  43. pygame.transform.scale(pygame.image.load('clothes/iron boots.png'), (300, 300)),]
  44. pants = [pygame.transform.scale(pygame.image.load('clothes/traveller pants.png'), (300, 300)),
  45. pygame.transform.scale(pygame.image.load('clothes/Iron pants.png'), (300, 300))]
  46. suits = [pygame.transform.scale(pygame.image.load('clothes/traveller suit.png'), (450, 300)),
  47. pygame.transform.scale(pygame.image.load('clothes/iron suit.png'), (300, 300))]
  48. helmets = [pygame.transform.scale(pygame.image.load('clothes/traveller_helmet.png'), (300, 300)),
  49. pygame.transform.scale(pygame.image.load('clothes/iron helmet.png'), (300, 300)),
  50. pygame.transform.scale(pygame.image.load('clothes/mithic suit.png'), (300, 300))]
  51. shields = [pygame.transform.scale(pygame.image.load('clothes/traveller shield.png'), (300, 300)),
  52. pygame.transform.scale(pygame.image.load('clothes/Iron shield.png'), (300, 300)),
  53. pygame.transform.scale(pygame.image.load('clothes/mithic shield.png'), (300, 300))]
  54. swords = [pygame.transform.scale(pygame.image.load('clothes/traveller sword.png'), (300, 300)),
  55. pygame.transform.scale(pygame.image.load('clothes/Iron sword.png'), (300, 300)),
  56. pygame.transform.scale(pygame.image.load('clothes/mithic_sword.png'), (300, 300))]
  57. #Variables
  58. s = 1000
  59. su = 1000
  60. sh = 1000
  61. a = 0
  62. g = 0
  63. b = 0
  64. sword_index = 0
  65. suit_index = 0
  66. shield_index = 0
  67. sword_wear = 0
  68. shield_wear = 0
  69. armor_wear = 0
  70. dungeon_active = False
  71. skieleton_active = False
  72. knight_active = False
  73. war = False
  74. #Events
  75. Winning = pygame.USEREVENT + 1
  76. Losing = pygame.USEREVENT + 2
  77. tie = pygame.USEREVENT + 3
  78. #Objects
  79. Skieletor = Enemy.Enemy(50, 1)
  80. Knight = Enemy.Enemy(150, 30)
  81. Dragonn = Enemy.Enemy(200, 50)
  82. active = False
  83. def draw_menu():
  84.     global a, active
  85.     win.blit(bg, (0,0))
  86.     win.blit(welcome_title, (450, 0))
  87.     if play_button.draw(win) == True or active == True:
  88.         active = True
  89.         draw_choose_menu()
  90. def draw_choose_menu():
  91.     global a, g, dungeon_active
  92.     dungeon_active = False
  93.     win.blit(bg_choose_menu, (0, 0))
  94.     win.blit(Human, (500, 300))
  95.     namee = cash.render(Hero.hero.name, True, (255, 0, 0))
  96.     cas = cash.render('Cash: ' + str(Hero.hero.cash), True, (255, 0, 0))
  97.     win.blit(cas, (400, 300))
  98.     win.blit(namee, (640, 200))
  99.     if work_button.draw(win) and g == 0:
  100.         g = 0
  101.         Hero.hero.work()
  102.     if dungeon_button.draw(win) or a == 1 and g == 0:
  103.         dungeon_active = True
  104.         g = 0
  105.         a = 1
  106.         draw_dungeon()
  107.     if dungeon_active == False:
  108.         if shop_button.draw(win) or a == 2:
  109.             a = 2
  110.             draw_shop()
  111.     if a == 0 and g == 0:
  112.         get_armor()
  113. def draw_shop():
  114.     global sword, suit, shield, g, sword_index, suit_index, shield_index, a, cancel_button, s, su, sh, sword_wear, shield_wear, armor_wear
  115.     if g == 0:
  116.         if not(sword_index == 3):
  117.             sword = shopping.shopp(400, 0, swords_shop[sword_index], 100, s)
  118.             sword.clicked = True
  119.         if not(suit_index == 3):
  120.             suit = shopping.shopp(400, 250, suits_shop[suit_index], 100, su)
  121.             suit.clicked = True
  122.         if not(shield_index == 3):
  123.             shield = shopping.shopp(400, 500, shields_shop[shield_index], 100, sh)
  124.             shield.clicked = True
  125.         g = 1
  126.     win.fill((158, 255, 92))
  127.     if sword.draw(win):
  128.         if sword_index <= 2:
  129.             if Hero.hero.cash >= sword.cost:
  130.                 Hero.hero.damage += 50
  131.                 sword_index += 1
  132.                 g = 0
  133.                 Hero.hero.cash -= sword.cost
  134.                 s += 1000
  135.                 sword_wear += 1
  136.             else:
  137.                 print("You can't buy it. You haven't money")
  138.         else:
  139.             print("You have the best sword in this game")
  140.     if suit.draw(win):
  141.         if suit_index <= 2:
  142.             if Hero.hero.cash >= suit.cost:
  143.                 Hero.hero.health += 50
  144.                 suit_index += 1
  145.                 g = 0
  146.                 Hero.hero.cash -= suit.cost
  147.                 su += 1000
  148.                 armor_wear += 1
  149.             else:
  150.                 print("You can't buy it. You haven't money")
  151.         else:
  152.             print("You have the best suit in this game")
  153.     if shield.draw(win):
  154.         if shield_index <= 2:
  155.             if Hero.hero.cash >= shield.cost:
  156.                 Hero.hero.health += 30
  157.                 shield_index += 1
  158.                 g = 0
  159.                 Hero.hero.cash -= shield.cost
  160.                 sh += 1000
  161.                 shield_wear += 1
  162.             else:
  163.                 print("You can't buy it. You haven't money")
  164.         else:
  165.             print("You have the best shield in this game")
  166.     if cancel_button.draw(win):
  167.         a = 0
  168.         g = 0
  169. def draw_dungeon():
  170.     global a, g, b, skieleton_active, knight_active, war
  171.     win.blit(bg_dungeon, (0, 0))
  172.     skieleton_active = False
  173.     knight_active = False
  174.     if cancel_button.draw(win):
  175.         a = 0
  176.         g = 0
  177.     if Skieleton.draw(win) or b == 1:
  178.         win.fill((173, 173, 173))
  179.         win.blit(skieleton_bg, (250, 200))
  180.         b = 1
  181.         skieleton_active = True
  182.         if fight_button.draw(win) or war == True:
  183.             if Skieletor.fight() == 0:
  184.                 war = True
  185.             if Skieletor.fight() == True:
  186.                 pygame.event.post(pygame.event.Event(Winning))
  187.                 war = False
  188.             if Skieletor.fight() == False:
  189.                 pygame.event.post(pygame.event.Event(Losing))
  190.                 war = False
  191.             if Skieletor.fight() == None:
  192.                 pygame.event.post(pygame.event.Event(tie))
  193.                 war = False
  194.         if cancel_button.draw(win):
  195.             b = 0
  196.     if skieleton_active == False:
  197.         if Acient_Knight.draw(win) or b == 2:
  198.             win.fill((53, 1, 131))
  199.             win.blit(acient_knight_bg, (250, 200))
  200.             b = 2
  201.             knight_active = True
  202.         if knight_active == False:
  203.             if Dragon.draw(win) or b == 3:
  204.                 win.fill((255, 0, 0))
  205.                 win.blit(Weird_Dragon_bg, (250, 200))
  206.                 b = 3
  207. def get_armor():
  208.     global sword_wear, shield_wear, armor_wear, Human
  209.     if armor_wear == 1:
  210.         helmet_wr = shopping.suits(helmets[0], 540, 140)
  211.         armor_wr = shopping.suits(suits[0], 500, 350)
  212.         pants_wr = shopping.suits(pants[0], 525, 500)
  213.         boots_wr = shopping.suits(boots[0], 525, 420)
  214.     if armor_wear == 2:
  215.         helmet_wr = shopping.suits(helmets[1], 540, 250)
  216.         armor_wr = shopping.suits(suits[1], 550, 350)
  217.         pants_wr = shopping.suits(pants[1], 535, 465)
  218.         boots_wr = shopping.suits(boots[1], 525, 420)
  219.     if armor_wear == 3:
  220.         Human = pygame.transform.scale(pygame.image.load('clothes/mithic suit.png'), (400, 400))
  221.     if sword_wear == 1:
  222.         sword_wr = shopping.suits(swords[0], 370, 360)
  223.     if sword_wear == 2:
  224.         sword_wr = shopping.suits(swords[1], 350, 360)
  225.     if sword_wear == 3:
  226.         sword_wr = shopping.suits(swords[2], 370, 350)
  227.     if shield_wear == 1:
  228.         shield_wr = shopping.suits(shields[0], 630, 400)
  229.     if shield_wear == 2:
  230.         shield_wr = shopping.suits(shields[1], 630, 400)
  231.     if shield_wear == 3:
  232.         shield_wr = shopping.suits(shields[2], 630, 400)
  233.     try:
  234.         if armor_wear == 1 or armor_wear == 2:
  235.             helmet_wr.wear(win)
  236.             armor_wr.wear(win)
  237.             pants_wr.wear(win)
  238.             boots_wr.wear(win)
  239.         sword_wr.wear(win)
  240.         shield_wr.wear(win)
  241.     except:
  242.         try:
  243.             shield_wr.wear(win)
  244.         except:
  245.             pass
  246. run = True
  247. Clock = pygame.time.Clock()
  248. while run:
  249.     Clock.tick(70)
  250.     for event in pygame.event.get():
  251.         if event.type == pygame.QUIT:
  252.             pygame.quit()
  253.             run = False
  254.         if event.type == Winning:
  255.             win.fill((255, 0,0))
  256.             cash.render('You Won')
  257.             win.blit(cash, 500, 350)
  258.             pygame.display.update()
  259.             pygame.time.delay(5000)
  260.             a = 0
  261.             g = 0
  262.             b = 0
  263.         if event.type == Losing:
  264.             print("Your enemy killed You")
  265.             pygame.quit()
  266.             run = False
  267.         if event.type == tie:
  268.             print("You both are dead")
  269.             pygame.quit()
  270.             run = False
  271.     draw_menu()
  272.     pygame.display.update()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement