importpygame
pygame.init()red=255,0,0blue=0,0,255black=0,0,0screenWidth=800screenHeight=600gameDisplay=pygame.display.set_mode((screenWidth,screenHeight))## screen width and heightpygame.display.set_caption('JUST SOME BLOCKS')## set my title of the windowclock=pygame.time.Clock()classplayer():## has all of my attributes for player 1def__init__(self,x,y,width,height):self.x=x
self.y=y
self.height=height
self.width=width
self.vel=5self.left=Falseself.right=Falseself.up=Falseself.down=Falseclassprojectile():## projectile attributesdef__init__(self,x,y,radius,colour,facing):self.x=x
self.y=y
self.radius=radius
self.facing=facing
self.colour=colour
self.vel=8*facing# speed of bullet * the direction (-1 or 1)defdraw(self,gameDisplay):pygame.draw.circle(gameDisplay,self.colour,(self.x,self.y),self.radius)## put a 1 after that to make it so the circle is just an outlinedefredrawGameWindow():forbulletinbullets:## draw bulletsbullet.draw(gameDisplay)pygame.display.update()#mainloopplayer1=player(300,410,50,70)# moves the stuff from the class (when variables are user use player1.var)bullets=[]run=Truewhilerun==True:clock.tick(27)foreventinpygame.event.get():ifevent.type==pygame.QUIT:run=Falseforbulletinbullets:ifbullet.x0andbullet.y0:## makes sure bullet does not go off screenbullet.x+=bullet.velelse:bullets.pop(bullets.index(bullet))keys=pygame.key.get_pressed()## check if a key has been pressed## red player movementifkeys[pygame.K_w]andplayer1.y>player1.vel:## check if that key has been pressed down (this will check for w) and checks for boundryplayer1.y-=player1.vel## move the shape in a directionplayer1.up=Trueplayer1.down=Falseifkeys[pygame.K_a]andplayer1.x>player1.vel:### this is for aplayer1.x-=player1.vel
player1.left=Trueplayer1.right=Falseifkeys[pygame.K_s]andplayer1.y
player1.down=Trueplayer1.up=Falseifkeys[pygame.K_d]andplayer1.x
player1.right=Trueplayer1.left=Falseifkeys[pygame.K_SPACE]:# shooting with the space barifplayer1.left==True:## handles the direction of the bulletfacing=-1else:facing=1iflen(bullets)<5:## max amounts of bullets on screenbullets.append(projectile(player1.x+player1.width//2,player1.y+player1.height//2,6,black,facing))##just like calling upon a function## levelgameDisplay.fill((0,255,0))### will stop the shape from spreading around and will have a backgroundpygame.draw.rect(gameDisplay,(red),(player1.x,player1.y,player1.width,player1.height))## draw playerpygame.display.update()redrawGameWindow()pygame.quit()