Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame, sys, numpy
- #create fps clock
- clock = pygame.time.Clock()
- #
- MAPHEIGHT = 80
- MAPWIDTH = 80
- TILESIZE = 40
- TILESONSCREENW = 13
- TILESONSCREENH = 13
- #set screen size
- SCREENH = TILESONSCREENH*TILESIZE
- SCREENW = TILESONSCREENW*TILESIZE
- #create character vars
- circleRad = 40
- circleSpeed = 4
- #create circle pos vars
- circleX = 250
- circleY = 250
- #create keyboard button vars
- rightP = False
- leftP = False
- upP = False
- downP = False
- #
- playerOnTileS = pygame.Surface((MAPWIDTH*TILESIZE, MAPHEIGHT*TILESIZE))
- #constants for the tilemap
- GRASS = pygame.image.load("grass.png")
- #tilemap
- tilemap = [[GRASS for i in range(MAPHEIGHT)] for j in range(MAPWIDTH)]
- #create window
- DISPLAYSURF = pygame.display.set_mode((SCREENW, SCREENH))
- #set window name
- pygame.display.set_caption("Snowball Fight!")
- #---------------------------------------------------
- class Player:
- def __init__(self, playX, playY, size):
- self.playerX = playX
- self.playerY = playY
- self.size = size
- self.playerSurface = pygame.Surface((size, size))
- pygame.draw.rect(self.playerSurface, (19,135,67), (0,0,size, size))
- #------------------------------------------------
- def update(self):
- playerOnTileS.blit(self.playerSurface, (self.playerX, self.playerY))
- DISPLAYSURF.blit(playerOnTileS, (SCREENW/2-self.playerX-self.size ,SCREENH/2-self.playerY-self.size))
- #game loop
- myPlayer = Player(0,0,circleRad)
- while True:
- DISPLAYSURF.fill((0,0,0))
- for event in pygame.event.get():
- #if the user closed the window
- if event.type == pygame.QUIT:
- #close pygame
- pygame.quit()
- sys.exit()
- if event.type == pygame.KEYDOWN:
- if event.key == pygame.K_a:
- leftP = True
- if event.key == pygame.K_d:
- rightP = True
- if event.key == pygame.K_w:
- upP = True
- if event.key == pygame.K_s:
- downP = True
- if event.type == pygame.KEYUP:
- if event.key == pygame.K_a:
- leftP = False
- if event.key == pygame.K_d:
- rightP = False
- if event.key == pygame.K_w:
- upP = False
- if event.key == pygame.K_s:
- downP = False
- if leftP:
- myPlayer.move(-circleSpeed,0,True)
- if rightP:
- myPlayer.move(circleSpeed,0,True)
- if downP:
- myPlayer.move(0,circleSpeed,True)
- if upP:
- myPlayer.move(0,-circleSpeed,True)
- for row in range(len(tilemap)):
- for column in range(len(tilemap[row])):
- playerOnTileS.blit(tilemap[row][column],(column*TILESIZE,row*TILESIZE))
- myPlayer.update()
- pygame.display.update()
- clock.tick(30)
Add Comment
Please, Sign In to add comment