Advertisement
sipiatti

mario problem from stackoverflow

Aug 7th, 2012
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.80 KB | None | 0 0
  1. import pygame, sys #import pygame modules
  2. from pygame.locals import *
  3. import time, random
  4.  
  5. Clock = pygame.time.Clock()
  6.  
  7. def main():
  8.  
  9.     black=(0,0,0)
  10.     white=(255,255,255)
  11.     green=(0,255,0)
  12.     red=(255,0,0)
  13.     blue=(0,0,255)
  14.  
  15.  
  16.     pygame.init()
  17.  
  18.     screen=pygame.display.set_mode((1080,500),0,32)
  19.  
  20.     bif='ScrollingBack - Copy.jpg' # set variable=image in same directory
  21.     mif='mario.png' # set variable = image in same directory
  22.     grif='ground500.png'
  23.     jif='mariojump.png'
  24.     hif='mariohalfjump.png'
  25.     soundChannel = pygame.mixer.Channel(0)
  26.     font = pygame.font.Font(None,20)
  27.     clock = pygame.time.Clock()
  28.     framerate = 30
  29.     rate = 200 / framerate
  30.  
  31.  
  32.  
  33.     background=pygame.image.load(bif).convert() # load and convert image in directory, set = background
  34.     ground=pygame.image.load(grif).convert_alpha()
  35.     mario=pygame.image.load(mif).convert_alpha()
  36.     mariojump=pygame.image.load(jif).convert_alpha()
  37.     mariohalfjump=pygame.image.load(hif).convert_alpha()
  38.  
  39.     x,y=0,0
  40.     movex,movey=-.1 * rate,0
  41.     gx,gy=0,0
  42.     movegx,movegy=0,0
  43.     mx,my=180,447
  44.     movemx,movemy=0,0
  45.  
  46.     while 1:
  47.  
  48.         for event in pygame.event.get():
  49.                 if event.type == QUIT:
  50.                     pygame.quit()
  51.                     sys.exit()
  52.  
  53.                 if event.type==KEYDOWN:
  54.                     if event.key==K_RIGHT or event.key==K_d:
  55.                         if mx==450:
  56.                             movex=-.4 * rate
  57.                             movegx=-1.5 * rate
  58.                             movemx=1 * rate
  59.                         else:
  60.                             movemx=1 * rate
  61.  
  62.                     elif event.key==K_LEFT or event.key==K_a:
  63.                         movex=.4 * rate
  64.                         movegx=1.5 * rate
  65.                         movemx=-1 * rate
  66.  
  67.                     elif event.key==K_UP or event.key==K_w or event.key==K_SPACE:
  68.                         if my==447:
  69.                             movemy=-1.8 * rate
  70.  
  71.  
  72.                 if event.type==KEYUP:
  73.                     if event.key==K_RIGHT or event.key==K_d:
  74.                         movex=-.1 * rate
  75.                         movegx=0
  76.                         movemx=0
  77.  
  78.                     if event.key==K_LEFT or event.key==K_a:
  79.                         movex=-.1 * rate
  80.                         movegx=0
  81.                         movemx=0
  82.  
  83.                     elif event.key==K_UP or event.key==K_w or event.key==K_SPACE:
  84.                         movemy=1 * rate
  85.  
  86.  
  87.  
  88.         if x>-5:
  89.             x=-5
  90.             gx=-5
  91.  
  92.  
  93.  
  94.         if x > 1:
  95.             x = 0
  96.         if mx>450:
  97.             mx=450
  98.         if mx<180:
  99.             mx=180
  100.  
  101.         if movex<-.4 * rate:
  102.             movex=-.4 * rate
  103.         if movex>.4 * rate:
  104.             movex=.4 * rate
  105.  
  106.         x+=movex
  107.         y+=movey
  108.  
  109.  
  110.         if movegx<-1.5 * rate:
  111.             movegx=-1.5 * rate
  112.         if movegx>1.5 * rate:
  113.             movegx=1.5 * rate
  114.  
  115.         gx+=movegx
  116.         gy+=movegy
  117.  
  118.         mx+=movemx
  119.         my+=movemy
  120.  
  121.         if my>447:
  122.             my=447
  123.  
  124.         if my<250:
  125.             movemy=1 * rate
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.         screen.blit(background,(x,y))
  136.         screen.blit(ground,(gx,gy))
  137.         if my>415 and my<447:
  138.             screen.blit(mariohalfjump,(mx,my))
  139.         if my<415:
  140.             screen.blit(mariojump,(mx,my))
  141.         elif my==447:
  142.             screen.blit(background,(x,y))
  143.             screen.blit(ground,(gx,gy))
  144.             screen.blit(mario,(mx,my))
  145.             #pygame.display.update()
  146.  
  147.  
  148.  
  149.         screen.blit(font.render(str(movex),True,(255,255,255)),(5,5))
  150.         pygame.display.update()
  151.         clock.tick(framerate)
  152.  
  153.         if gx<-13900:
  154.             time.sleep(.5)
  155.             main()
  156.  
  157. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement