def main(): ## create compound yellow/blue turtleshape for planets global s s = Screen() s.setup(1120,840) s.reset() s.tracer(0, 0) t = Turtle() t.ht() t.pu() t.fd(6) t.lt(90) t.begin_poly() t.circle(6, 180) t.end_poly() m1 = t.get_poly() t.begin_poly() t.circle(6,180) t.end_poly() m2 = t.get_poly() planetshape = Shape("compound") planetshape.addcomponent(m1,"orange") planetshape.addcomponent(m2,"blue") s.register_shape("planet", planetshape) #s.tracer(1,0) s.update() ## setup gravitational system gs = GravSys() sun = Star(1000000, Vec(-250,0), Vec(0,-0.35), gs, "circle") sun.color("yellow") sun.pensize(1.8) sun.pu() earth = Star(5000, Vec(450,0), Vec(0,70), gs, "planet") earth.pencolor("green") earth.shapesize(0.8) rm=12.0583 vm=(8.0*5000/rm)**.5 moon = Star(1, Vec(450+rm,0), Vec(0,70+vm), gs, "planet") moon.pencolor("blue") moon.shapesize(0.5) gs.init() gs.start() return "Done!"
def main(): e = Turtle() s = Screen() s.setup(800, 600) s.bgcolor('gray6') s.reset() e.pensize(3) for i in range(1, 31): e.pencolor(1.0, 0.0 + (i / 50), 0.0) e.left(90 / i) drawsq(e, 200) return "DONE! :-)"
def main(): global d, SHS, SF, A A = 42 # answer to the ultimate question ... (you know) SHS = A / 20. SF = 1.0 DSF = 1.0038582416 s = Screen() s.setup(800, 600) s.reset() s.tracer(0) d = Turtle(visible=False) for i in range(6): d.fd(500) d.bk(500) d.left(60) triangles = [] for c in range(-5,6,2): if abs(c) != 1: triangles.append(TriTurtle(c, 1, 1)) triangles.append(TriTurtle(c, -1, 2)) for c in range(-4,5,2): if c != 0: triangles.append(TriTurtle(c, 2, 2)) triangles.append(TriTurtle(c, -2, 1)) triangles.append(TriTurtle(c, -4, 2)) triangles.append(TriTurtle(c, 4, 1)) for c in range(-3,4,2): triangles.append(TriTurtle(c, 5, 2)) triangles.append(TriTurtle(c, -5, 1)) triangles.append(TriTurtle(c, -7, 2)) triangles.append(TriTurtle(c, 7, 1)) for c in range(-2,3,2): triangles.append(TriTurtle(c, 8, 2)) triangles.append(TriTurtle(c, -8, 1)) for c in (-1, 1): triangles.append(TriTurtle(c, 1, 1)) triangles.append(TriTurtle(c, -1, 2)) triangles.append(TriTurtle(0, 2, 2)) triangles.append(TriTurtle(0, -2, 1)) s.tracer(1) for phi in range(1,361): SF = SF*DSF s.tracer(0) for t in triangles: t.setturn(phi) #s.tracer(1) s.update() return "DONE!"
def main(): app = Screen() app.reset() app.clear() setup_app(app) app.tracer(0) snake = Snake() change_snake_colors(app, snake) app.listen() play_game(app, snake) app.mainloop()
def main(): e = Turtle() s = Screen() s.setworldcoordinates(-4, -2, 4, 2) s.bgcolor('gray12') s.reset() e.shapesize(2, 2, 2) e.pencolor('grey45') e.pensize(4) line(-4, 0, 4, 0, e) line(0, -2, 0, 2, e) graph(sin, e, 'red') graph(cos, e, 'yellow') return "DONE! :-)"
def main(): global d, SHS, SF, A A = 42 # answer to the ultimate question ... (you know) SHS = A / 20. SF = 1.0 DSF = 1.0038582416 s = Screen() s.setup(800, 600) s.reset() s.tracer(0) d = Turtle(visible=False) for i in range(6): d.fd(500) d.bk(500) d.left(60) triangles = [] for c in range(-5, 6, 2): if abs(c) != 1: triangles.append(TriTurtle(c, 1, 1)) triangles.append(TriTurtle(c, -1, 2)) for c in range(-4, 5, 2): if c != 0: triangles.append(TriTurtle(c, 2, 2)) triangles.append(TriTurtle(c, -2, 1)) triangles.append(TriTurtle(c, -4, 2)) triangles.append(TriTurtle(c, 4, 1)) for c in range(-3, 4, 2): triangles.append(TriTurtle(c, 5, 2)) triangles.append(TriTurtle(c, -5, 1)) triangles.append(TriTurtle(c, -7, 2)) triangles.append(TriTurtle(c, 7, 1)) for c in range(-2, 3, 2): triangles.append(TriTurtle(c, 8, 2)) triangles.append(TriTurtle(c, -8, 1)) for c in (-1, 1): triangles.append(TriTurtle(c, 1, 1)) triangles.append(TriTurtle(c, -1, 2)) triangles.append(TriTurtle(0, 2, 2)) triangles.append(TriTurtle(0, -2, 1)) s.tracer(1) for phi in range(1, 361): SF = SF * DSF s.tracer(0) for t in triangles: t.setturn(phi) s.tracer(1) return "DONE!"
def main(): ## create compound yellow/blue turtleshape for planets global s s = Screen() s.setup(1120, 840) s.reset() s.tracer(0, 0) t = Turtle() t.ht() t.pu() t.fd(6) t.lt(90) t.begin_poly() t.circle(6, 180) t.end_poly() m1 = t.get_poly() t.begin_poly() t.circle(6, 180) t.end_poly() m2 = t.get_poly() planetshape = Shape("compound") planetshape.addcomponent(m1, "orange") planetshape.addcomponent(m2, "blue") s.register_shape("planet", planetshape) s.update() ## setup gravitational system gs = GravSys() sun = Star(1000000, Vec(-250, 0), Vec(0, -0.35), gs, "circle") sun.color("yellow") sun.pensize(1.8) sun.pu() earth = Star(5000, Vec(450, 0), Vec(0, 70), gs, "planet") earth.pencolor("green") earth.shapesize(0.8) rm = 12.0583 vm = (8.0 * 5000 / rm)**.5 moon = Star(1, Vec(450 + rm, 0), Vec(0, 70 + vm), gs, "planet") moon.pencolor("blue") moon.shapesize(0.5) gs.init() gs.start() s.tracer(True) return "Done!"
def main(): turtle = Turtle() screen = Screen() screen.setworldcoordinates(-4, -2.5, 4, 2.5) screen.bgcolor('gray12') screen.reset() turtle.shapesize(1, 1, 1) turtle.pencolor('grey45') turtle.pensize(4) turtle.speed("fast") # Draw grid x = -4 while x <= 4.1: turtle.goto(x, 0) if round(x, 3) % 1 == 0: turtle.goto(x, 0.4) turtle.goto(x, -0.4) turtle.goto(x, 0) x += 0.2 print("x =", round(x, 4)) turtle.penup() x = 0 y = -2 while y <= 2: turtle.goto(0, y) turtle.pendown() if round(y, 3) % 1 == 0: turtle.goto(0.4, y) turtle.goto(-0.4, y) turtle.goto(0, y) y += 0.2 turtle.pencolor('red') # Move turtle to start point x = -4 turtle.penup() turtle.goto(x, 0) turtle.pendown() # Draw graph while x <= 4: turtle.goto(x, sin(x)) x += 0.1 return "DONE! :-)"
game_screen.onkey(user_paddle.move_right, "Right") # ens the game when the space bar is pressed game_screen.onkey(end_game, "space") while game_on: game_screen.update() sleep(0.1) if game_ball.ycor() < -300: scores.losing_message() sleep(2) game_screen.reset() # a new game ball game_ball.create_ball() # rebuild new block game_blocks.build_blocks() # reset the scoreboard scores.user_score = 0 scores.display_score() # reset the user paddle user_paddle.create_paddle((0, -200)) else:
self.shapesize(SHS, SHS, 1) self.D = self.distance(0, 0) self.e = (1 / self.D) * self.pos() def setturn(self, phi): self.goto(SF * self.D * dsin(90 - phi) * self.e) self.settiltangle(phi * self.f) self.shapesize(SHS * SF) if abs(self.c) + abs(self.r) > 2: self.fillcolor([x + (1 - x) * phi / 360 for x in self.basecolor]) bc = phi / 360. self.pencolor(bc, bc, bc) s = Screen() s.reset() s.tracer(0) d = Turtle(visible=False) lines(500) triangles = [] for c in range(-5, 6, 2): triangles.append(TriTurtle(c, 1, 1)) triangles.append(TriTurtle(c, -1, 2)) for c in range(-4, 5, 2): triangles.append(TriTurtle(c, 2, 2)) triangles.append(TriTurtle(c, -2, 1)) triangles.append(TriTurtle(c, -4, 2)) triangles.append(TriTurtle(c, 4, 1)) for c in range(-3, 4, 2): triangles.append(TriTurtle(c, 5, 2))
self.goto(c*A, r*A*3**.5/3) self.shapesize(SHS, SHS, 1) self.D = self.distance(0,0) self.e = (1/self.D)*self.pos() def setturn(self, phi): self.goto(SF*self.D*dsin(90-phi)*self.e) self.settiltangle(phi*self.f) self.shapesize(SHS*SF) if abs(self.c) + abs(self.r) > 2: self.fillcolor([x + (1-x)*phi/360 for x in self.basecolor]) bc = phi/360. self.pencolor(bc, bc, bc) s = Screen() s.reset() s.tracer(0) d = Turtle(visible=False) lines(500) triangles = [] for c in range(-5,6,2): triangles.append(TriTurtle(c, 1, 1)) triangles.append(TriTurtle(c, -1, 2)) for c in range(-4,5,2): triangles.append(TriTurtle(c, 2, 2)) triangles.append(TriTurtle(c, -2, 1)) triangles.append(TriTurtle(c, -4, 2)) triangles.append(TriTurtle(c, 4, 1)) for c in range(-3,4,2): triangles.append(TriTurtle(c, 5, 2))
class WorkSpace: def __init__(self, k, r, c, v): self.canvas = Screen() self.size = int(k / 4 * 6) * 10 self.canvas.setup(width=self.size, height=self.size) self.canvas.setworldcoordinates(-1, -1, self.size, self.size) self._add_particles(k, r, c, v) self._active_list = self.particles.copy() self.v = v def _add_particles(self, k, r, c, v): self.particles = [] init_pos = (self.size // 2, self.size // 2) for i in range(k): p = Particle(radius=r, color=c, velocity=v) self.particles.append(p) i = 0 for p in self.particles: r = random() x = 0 if i <= k // 4: p.set_initial_pos((init_pos[0] + i * 30 + r * x, init_pos[1] + i * 30 + r * x)) elif i <= k // 2: p.set_initial_pos((init_pos[0] - (i - k // 4) * 30 - r * x, init_pos[1] - (i - k // 4) * 30 - r * x)) elif i <= 3 * k // 4: p.set_initial_pos((init_pos[0] + (i - k // 2) * 30 + r * x, init_pos[1] - (i - k // 2) * 30 - r * x)) else: p.set_initial_pos( (init_pos[0] - (i - 3 * k // 4) * 30 - r * x, init_pos[1] + (i - 3 * k // 4) * 30 + r * x)) i += 1 p.draw() def move_all(self, step): t = Turtle() t.ht() s = step while step > 0: t.write(f'Step: {abs(step-s-1)} Active Red: {self._red_left()}') t.clear() for p in self.particles: self._move_one(p) p.draw() for p in self.particles: if p in self._active_list: self.change_color(p) step -= 1 os.system("pause") self.canvas.reset() def _move_one(self, p): cx, cy = p.get_current_pos() dx, dy = self._generate_vector() if cx + dx < p.radius or cx + dx > self.size - p.radius: dx = -dx if cy + dy < p.radius or cy + dy > self.size - p.radius: dy = -dy p.move((cx + dx, cy + dy)) turtle.stamp() def _red_left(self): r = 0 for p in self.particles: if p.color == 'red': r += 1 return r def change_color(self, curr): curr_pos = curr.get_current_pos() self._active_list = [p for p in self._active_list if p.color != 'blue'] for p in self._active_list: if p is curr: continue elif self.collide(curr_pos, p.get_current_pos()): curr.set_color('blue') p.set_color('blue') def collide(self, pos1, pos2): if (pos1[0] - pos2[0])**2 + (pos1[1] - pos2[1])**2 < (self.v)**2: return True return False def _generate_vector(self): random_angle = random() * pi * 2 return (self.v * cos(random_angle), self.v * sin(random_angle))
winsound.PlaySound(resource_path("sound/correct.wav"), winsound.SND_ASYNC) ball.refresh() scoreboard.increase_right() if scoreboard.rScore == 3: game_over = True time.sleep(1) # detect collision with paddle if ball.distance(rP) < 50 and ball.xcor() > 340 or ball.distance( lP) < 50 and ball.xcor() < -340: ball.bouncing_paddle() winsound.PlaySound(resource_path("sound/bouncing.wav"), winsound.SND_ASYNC) scoreboard.print_final() winsound.PlaySound(resource_path("sound/happynes.wav"), winsound.SND_ASYNC) while True: game_on() time.sleep(1) cont = screen.textinput("Continue?", prompt="Continue?(yes or no)").lower() if cont == 'yes': screen.reset() continue else: screen.clear() break screen.exitonclick()