def draw_ship(x, y, angle, thrust): # y is inverted in the screen, so use subtraction rather than addition. #draw thrust lines coming out of the back of the ship if thrust > 0: for i in range(0, 20): flame_length = random.randint(10, 50) flame_spread = random.randint(-30, 30) flame_x = x + flame_length * math.cos( math.radians(angle + 180 + flame_spread)) flame_y = y - flame_length * math.sin( math.radians(angle + 180 + flame_spread)) pscreen.line(x, y, flame_x, flame_y, (random.randint(150, 255), random.randint(0, 100), 0), 6) p1x = x + 40 * math.cos(math.radians(angle)) p1y = y - 40 * math.sin(math.radians(angle)) p2x = x + 25 * math.cos(math.radians(angle + 120)) p2y = y - 25 * math.sin(math.radians(angle + 120)) p3x = x + 5 * math.cos(math.radians(angle + 180)) p3y = y - 5 * math.sin(math.radians(angle + 180)) p4x = x + 25 * math.cos(math.radians(angle - 120)) p4y = y - 25 * math.sin(math.radians(angle - 120)) pscreen.triangle(p1x, p1y, p2x, p2y, p3x, p3y, (100, 0, 200), 0) pscreen.triangle(p1x, p1y, p3x, p3y, p4x, p4y, (80, 0, 150), 0)
def drawTreasure(x,y): #chest1 #chest top pscreen.rectangle(x-50,y-50,x-40,y-20,brown,0) pscreen.triangle(x-50,y-50,x-50,y-20,x-60,y-20,brown,0) pscreen.triangle(x-40,y-20,x-40,y-50,x-30,y-20,brown,0) #chest body pscreen.rectangle(x-60,y-20,x-30,y,brown,0) #line between chest lid and chest body pscreen.line(x-50,y-20,x-40,y-20,black,0) #chest lock pscreen.rectangle(x-47,y-23,x-42,y-14,yellow,0)
def drawFace(x,y): #assigning values #Head pscreen.circle(x,y,25,aWhite,0) #mouth pscreen.line(x-5,y+5,x+5,y+5,black,) pscreen.line(x-5,y+5,x-7,y+2,black,0) pscreen.line(x+5,y+5,x+7,y+2,black,0) #eyes pscreen.ellipse(x-5,y-10,4,4,white,0) pscreen.ellipse(x+5,y-10,4,4,white,0) pscreen.circle(x-5,y-10,2,blue,0) pscreen.circle(x+5,y-10,2,blue,0) #nose pscreen.line(x-2,y+2,x,y-1,black,0) pscreen.line(x-2,y+2,x+1,y+1,black,0)
def draw(self): self.update() p1x = self.x + self.radius * math.cos(math.radians(self.angle + 18)) p1y = self.y + (-1) * self.radius * math.sin( math.radians(self.angle + 18)) p2x = self.x + self.radius * math.cos(math.radians(self.angle + 90)) p2y = self.y - self.radius * math.sin(math.radians(self.angle + 90)) p3x = self.x + self.radius * math.cos(math.radians(self.angle + 162)) p3y = self.y - self.radius * math.sin(math.radians(self.angle + 162)) p4x = self.x + self.radius * math.cos(math.radians(self.angle + 234)) p4y = self.y - self.radius * math.sin(math.radians(self.angle + 234)) p5x = self.x + self.radius * math.cos(math.radians(self.angle + 308)) p5y = self.y - self.radius * math.sin(math.radians(self.angle + 308)) pscreen.line(p1x, p1y, p3x, p3y, self.color, 1) pscreen.line(p1x, p1y, p4x, p4y, self.color, 1) pscreen.line(p2x, p2y, p4x, p4y, self.color, 1) pscreen.line(p2x, p2y, p5x, p5y, self.color, 1) pscreen.line(p3x, p3y, p5x, p5y, self.color, 1) pscreen.circle(self.x, self.y, self.radius, self.color, 1)
def draw_Ship(self): Ship.move(self) if self.shield==True: pscreen.circle(self.x,self.y,25,(132,112,255),1) p1x=self.x+25*math.cos(math.radians(self.angle)) p1y=self.y-25*math.sin(math.radians(self.angle)) p2x=self.x+15*math.cos(math.radians(self.angle+120)) p2y=self.y-15*math.sin(math.radians(self.angle+120)) p3x=self.x+5*math.cos(math.radians(self.angle+180)) p3y=self.y-5*math.sin(math.radians(self.angle+180)) p4x=self.x+15*math.cos(math.radians(self.angle-120)) p4y=self.y-15*math.sin(math.radians(self.angle-120)) pscreen.triangle(p1x,p1y,p2x,p2y,p3x,p3y,(72,61,139),0) pscreen.triangle(p1x,p1y,p3x,p3y,p4x,p4y,(0,191,255),0) #draw flame behind ship when thrusting if self.thrust==True: for i in range(0,5): flame_length=random.randint(25,40) flame_spread=random.randint(-15,15) flame_x=self.x+flame_length*math.cos(math.radians(self.angle+180+flame_spread)) flame_y=self.y-flame_length*math.sin(math.radians(self.angle+180+flame_spread)) pscreen.line(self.x,self.y,flame_x,flame_y,(random.randint(150,200),random.randint(100,150),random.randint(150,175)),4)
def drawStar(self): self.update() self.radius += .02 * math.sin(math.radians(modulation_angle)) p1x = self.x + self.radius * math.cos(math.radians(self.angle + 18)) p1y = self.y + (-1) * self.radius * math.sin( math.radians(self.angle + 18)) p2x = self.x + self.radius * math.cos(math.radians(self.angle + 90)) p2y = self.y + (-1) * self.radius * math.sin( math.radians(self.angle + 90)) p3x = self.x + self.radius * math.cos(math.radians(self.angle + 162)) p3y = self.y + (-1) * self.radius * math.sin( math.radians(self.angle + 162)) p4x = self.x + self.radius * math.cos(math.radians(self.angle + 238)) p4y = self.y + (-1) * self.radius * math.sin( math.radians(self.angle + 238)) p5x = self.x + self.radius * math.cos(math.radians(self.angle + 308)) p5y = self.y + (-1) * self.radius * math.sin( math.radians(self.angle + 308)) pscreen.line(p1x, p1y, p3x, p3y, self.color, 1) pscreen.line(p1x, p1y, p4x, p4y, self.color, 1) pscreen.line(p2x, p2y, p4x, p4y, self.color, 1) pscreen.line(p2x, p2y, p5x, p5y, self.color, 1) pscreen.line(p3x, p3y, p5x, p5y, self.color, 1)
def draw_Ship(x, y, angle, thrust): #draws thrust lines coming from back of the ship if thrust > 0: for i in range(0, 10): flame_length = random.randint(25, 40) flame_spread = random.randint(-30, 30) flame_x = x + flame_length * math.cos( math.radians(angle + 180 + flame_spread)) flame_y = y - flame_length * math.sin( math.radians(angle + 180 + flame_spread)) pscreen.line(x, y, flame_x, flame_y, (random.randint( 100, 200), random.randint(50, 150), random.randint(100, 175)), 4) #draws ship p1x = x + 40 * math.cos(math.radians(angle)) p1y = y - 40 * math.sin(math.radians(angle)) p2x = x + 25 * math.cos(math.radians(angle + 120)) p2y = y - 25 * math.sin(math.radians(angle + 120)) p3x = x + 10 * math.cos(math.radians(angle + 180)) p3y = y - 10 * math.sin(math.radians(angle + 180)) p4x = x + 25 * math.cos(math.radians(angle - 120)) p4y = y - 25 * math.sin(math.radians(angle - 120)) pscreen.triangle(p1x, p1y, p2x, p2y, p3x, p3y, (200, 0, 255), 0) pscreen.triangle(p1x, p1y, p3x, p3y, p4x, p4y, (255, 0, 200), 0)
def drawP(): #body pscreen.circle(pX, pY, pR, aWhite, 0) #eyes pscreen.circle(int(pX) - 15, int(pY) - 12, pR - 20, white, 0) pscreen.circle(int(pX) + 15, int(pY) - 12, pR - 20, white, 0) #eye color pscreen.circle(int(pX) - 15, int(pY) - 12, pR - 25, nBlue, 0) pscreen.circle(int(pX) + 15, int(pY) - 12, pR - 25, nBlue, 0) #pupils pscreen.circle(int(pX) - 15, int(pY) - 12, pR - 27, black, 0) pscreen.circle(int(pX) + 15, int(pY) - 12, pR - 27, black, 0) #Mouth pscreen.line(int(pX) - 15, int(pY) + 15, (pX) + 15, pY + 15, black, 3) pscreen.line(int(pX) - 15, int(pY) + 15, (pX) - 20, pY + m, black, 3) pscreen.line(int(pX) + 15, int(pY) + 15, (pX) + 20, pY + m, black, 3) #Nose pscreen.circle(pX, pY, pR - 25, S, 0) pscreen.circle(pX, pY, pR - 27, dS, 0)
def drawFace(x, y, randMood): #face pscreen.circle(x, y, 20, c, 0) #whites of eyes pscreen.circle(x - 5, y - 5, 5, white, 0) pscreen.circle(x + 5, y - 5, 5, white, 0) #color of eyes pscreen.circle(x - 5, y - 5, 2, b, 0) pscreen.circle(x + 5, y - 5, 2, b, 0) #pupils pscreen.circle(x - 5, y - 5, 1, (0, 0, 0), 0) pscreen.circle(x + 5, y - 5, 1, (0, 0, 0), 0) #nose pscreen.line(x - 2, y, x + 3, y + 2, (0, 0, 0), 1) pscreen.line(x - 2, y, x + 3, y - 2, (0, 0, 0), 1) #Mouth if randMood == "happy": pscreen.line(x - 5, y + 5, x + 5, y + 5, black) pscreen.line(x - 5, y + 5, x - 7, y + 3, black) pscreen.line(x + 5, y + 5, x + 7, y + 3, black) elif randMood == "nuetral": pscreen.line(x - 5, y + 5, x + 5, y + 5, black) elif randMood == "sad": pscreen.line(x - 5, y + 5, x + 5, y + 5, black) pscreen.line(x - 5, y + 5, x - 7, y + 8, black) pscreen.line(x + 5, y + 5, x + 7, y + 8, black)
playerY += 1 #contain player on the screen if playerX < 0: playerX = 0 if playerX > 799: playerX = 799 if playerY < 0: playerY = 0 if playerY > 599: playerY = 599 #render objects / draw stuff #clear the screen pscreen.clearScreen((0, 0, 0)) #draw a circle pscreen.circle(playerX, playerY, 20, (255, 255, 0), 0) #head outline pscreen.circle(playerX - 6, playerY - 6, 3) #left eye (our left) pscreen.circle(playerX - 6, playerY - 6, 2, (0, 255, 255), 0) #left pupil pscreen.circle(playerX + 6, playerY - 6, 3) #right eye (our right) pscreen.circle(playerX + 6, playerY - 6, 2, (0, 255, 255), 0) #right pupil pscreen.line(playerX - 8, playerY + 8, playerX + 8, playerY + 8, (255, 0, 255)) #mouth pscreen.fontWrite( 0, 0, "Game Loop Example", (255, 255, 255)) #display text in upper left hand corner (our left) pscreen.updateScreen() #Clean-up pscreen.unloadScreen()
def drawFace2(x,y,randColor,randMood): #Head pscreen.circle(x,y,25,randColor,0) #mouth if randMood == "happy":#happy face pscreen.line(x-5,y+5,x+5,y+5,black) pscreen.line(x-5,y+5,x-7,y+2,black,0) pscreen.line(x+5,y+5,x+7,y+2,black,0) if randMood == "mad":#mad face pscreen.line(x-5,y+5,x+5,y+5,black) pscreen.line(x-5,y+5,x-7,y+7,black,0) pscreen.line(x+5,y+5,x+7,y+7,black,0) if randMood == "nuetral":#nuetral face pscreen.line(x-5,y+5,x+5,y+5,black) #eyes if randMood == "happy": pscreen.ellipse(x-5,y-10,4,4,white,0) pscreen.ellipse(x+5,y-10,4,4,white,0) pscreen.circle(x-5,y-10,2,blue,0) pscreen.circle(x+5,y-10,2,blue,0) if randMood == "nuetral": pscreen.ellipse(x-5,y-10,4,4,white,0) pscreen.ellipse(x+5,y-10,4,4,white,0) pscreen.circle(x-5,y-10,2,blue,0) pscreen.circle(x+5,y-10,2,blue,0) if randMood == "mad": pscreen.line(x-10,y-18,x-5,y-15,black) pscreen.line(x+10,y-18,x+5,y-15,black) pscreen.ellipse(x-5,y-10,4,4,white,0) pscreen.ellipse(x+5,y-10,4,4,white,0) pscreen.circle(x-5,y-10,2,blue,0) pscreen.circle(x+5,y-10,2,blue,0) #nose pscreen.line(x-2,y+2,x,y-1,black,0) pscreen.line(x-2,y+2,x+1,y+1,black,0)
# pscreen Test Program import pscreen import time import random pscreen.loadScreen() pscreen.circle(200,200,100) pscreen.circle(400,400,100,(0,0,255),5) pscreen.circle(300,300,100,(0,0,254),0) pscreen.line(200,200,400,400,(255,0,0),5) i=0 while i<100: rand_x = random.randint(0,799) rand_y = random.randint(0,599) rand_radius = random.randint(20,100) rand_r = random.randint(0,255) rand_g = random.randint(0,255) rand_b = random.randint(0,255) pscreen.circle(rand_x,rand_y,rand_radius) i+=1 while pscreen.keyIsNotPressed("q"): pscreen.updateScreen() time.sleep(5) pscreen.unloadScreen()
import time #loading of the screen pscreen.loadScreen() #assigning values to white and black #Face pscreen.circle(200, 200, 50, (255, 255, 255), 1) #Eyes pscreen.ellipse(175, 185, 10, 5, (255, 255, 255), 1) #changed it from (140,175,20,10) pscreen.ellipse(225, 185, 10, 5, (255, 255, 255), 1) pscreen.circle(175, 185, 2, (255, 255, 255), 1) pscreen.circle(225, 185, 2, (255, 255, 255), 1) #smile pscreen.line(175, 225, 225, 225, (255, 255, 255), 1) #changed it from (150,250,250,250) pscreen.line(175, 225, 170, 230, (255, 255, 255), 1) #changed it from (150,250,130,260) pscreen.line(225, 225, 230, 230, (255, 255, 255), 1) #changed it from (250,250,270,260) #Nose pscreen.line(190, 200, 200, 205, (255, 255, 255), 1) #changed it from (170,180,200,200) pscreen.line(190, 200, 205, 190, (255, 255, 255), 1) #changed it from (170,180,210,170) #pacman #body pscreen.circle(400, 200, 25, (255, 255, 0), 0) #changed it from (400,200,25) #eye pscreen.circle(400, 185, 3, (0, 0, 0), 0) #changed it from (400,175,10)