animação + Cat and Maus

This commit is contained in:
Kaio Henrique 2024-12-01 14:43:22 -03:00
parent 6387992312
commit ba9aa38055
4 changed files with 399 additions and 0 deletions

170
CatMaus/CatMaus.py Normal file
View File

@ -0,0 +1,170 @@
import turtle as tl
import random as rd
#setup
tl.setup(600,600,None,None)
tl.hideturtle()
tl.colormode(255)
t = tl.Turtle()
t.color("Blue")
t.goto(100,0)
t2 = tl.Turtle()
t2.color("Red")
t2.goto(-100,0)
tl.tracer(1)
#CENÁRIO
#moldura
tl.tracer(0)
tl.color("black")
tl.up()
tl.goto(-300,-300)
tl.down()
tl.goto(-300,300)
tl.goto(300,300)
tl.goto(300,-300)
#linhas
tl.bgcolor((205, 133, 63))
for _ in range(-6, 6):
tl.color((139, 69, 19))
tl.up()
tl.goto(-300, _ * 50)
tl.down()
tl.goto(300, _ * 50)
tl.up()
tl.color("light blue")
tl.goto(-300, 300)
tl.down()
tl.begin_fill()
#parede
tl.goto(-300, 250)
tl.goto(300, 250)
tl.goto(300,300)
tl.end_fill()
#casa de rato
tl.up()
tl.goto(170, 250)
tl.color("black")
tl.down()
tl.begin_fill()
tl.goto(190,250)
tl.goto(190,260)
tl.left(90)
tl.circle(10, 180)
tl.end_fill()
#FIM-CENÁRIO
tl.update()
tl.tracer(1)
#funções
def colide():
if t.distance(t2) < 10:
print("Vitoria")
tl.bye()
def godir():
tl.tracer(0)
t.seth(0)
t.forward(50)
tl.update()
tl.tracer(1)
colide()
#pass
def goleft():
tl.tracer(0)
t.seth(180)
t.forward(50)
tl.update()
tl.tracer(1)
colide()
#pass
def goup():
tl.tracer(0)
t.seth(90)
t.forward(50)
tl.update()
tl.tracer(1)
colide()
#pass
def godown():
tl.tracer(0)
t.seth(270)
t.forward(50)
tl.update()
tl.tracer(1)
colide()
# pass
#segunda tartaruga
def godir2():
tl.tracer(0)
t2.seth(0)
t2.forward(50)
tl.update()
tl.tracer(1)
colide()
#pass
def goleft2():
tl.tracer(0)
t2.seth(180)
t2.forward(50)
tl.update()
tl.tracer(1)
colide()
#pass
def goup2():
tl.tracer(0)
t2.seth(90)
t2.forward(50)
tl.update()
tl.tracer(1)
colide()
#pass
def godown2():
tl.tracer(0)
t2.seth(270)
t2.forward(50)
tl.update()
tl.tracer(1)
colide()
#pass
#execução
tl.onkeypress(godir,"d")
tl.onkeypress(goleft,"a")
tl.onkeypress(goup,"w")
tl.onkeypress(godown, "s")
tl.onkeypress(godir2,"6")
tl.onkeypress(goleft2,"4")
tl.onkeypress(goup2,"8")
tl.onkeypress(godown2, "5")
tl.listen()
#loop
tl.mainloop()

98
CatMaus/catmau.py Normal file
View File

@ -0,0 +1,98 @@
import turtle as tl
# Setup
tl.setup(600, 600, None, None)
t = tl.Turtle()
t.goto(100, 0)
t.color("Blue")
t2 = tl.Turtle()
t2.color("Red")
t2.goto(-100, 0)
tl.tracer(1)
# Função de colisão
def colide():
# Verifica se as tartarugas estão na mesma posição (distância é 0)
if t.distance(t2) < 10: # Considerando uma distância pequena como colisão
print("VITÓRIA!")
tl.bye() # Fecha a janela quando as tartarugas colidem
# Funções de movimento para a primeira tartaruga
def godir():
tl.tracer(0)
t.seth(0)
t.forward(50)
tl.update()
tl.tracer(1)
colide() # Verifica colisão após o movimento
def goleft():
tl.tracer(0)
t.seth(180)
t.forward(50)
tl.update()
tl.tracer(1)
colide() # Verifica colisão após o movimento
def goup():
tl.tracer(0)
t.seth(90)
t.forward(50)
tl.update()
tl.tracer(1)
colide() # Verifica colisão após o movimento
def godown():
tl.tracer(0)
t.seth(270)
t.forward(50)
tl.update()
tl.tracer(1)
colide() # Verifica colisão após o movimento
# Funções de movimento para a segunda tartaruga
def godir2():
tl.tracer(0)
t2.seth(0)
t2.forward(50)
tl.update()
tl.tracer(1)
colide() # Verifica colisão após o movimento
def goleft2():
tl.tracer(0)
t2.seth(180)
t2.forward(50)
tl.update()
tl.tracer(1)
colide() # Verifica colisão após o movimento
def goup2():
tl.tracer(0)
t2.seth(90)
t2.forward(50)
tl.update()
tl.tracer(1)
colide() # Verifica colisão após o movimento
def godown2():
tl.tracer(0)
t2.seth(270)
t2.forward(50)
tl.update()
tl.tracer(1)
colide() # Verifica colisão após o movimento
# Execução
tl.onkeypress(godir, "d")
tl.onkeypress(goleft, "a")
tl.onkeypress(goup, "w")
tl.onkeypress(godown, "s")
tl.onkeypress(godir2, "6")
tl.onkeypress(goleft2, "4")
tl.onkeypress(goup2, "8")
tl.onkeypress(godown2, "5")
tl.listen()
# Loop
tl.mainloop()

131
animacao/manima.py Normal file
View File

@ -0,0 +1,131 @@
import turtle as tl
import time
#setup
tl.setup(900,600,None,None)
#funções aleatorias super nescessarias
def retan(color):
tl.begin_fill()
tl.color(color)
tl.fd(200)
tl.left(90)
tl.fd(100)
tl.left(90)
tl.fd(200)
tl.left(90)
tl.fd(100)
tl.end_fill()
tl.up()
tl.left(180)
tl.fd(100)
tl.right(90)
#pass
def eyes(size):
tl.down()
tl.color("white")
tl.begin_fill()
tl.circle(size)
tl.end_fill()
tl.color("black")
tl.circle(size)
tl.up()
#pass
#63 iterações no reichtangle
def reichtangle(pos):
tl.goto(pos, -150)
tl.down()
retan("black")
retan("light gray")
retan("red")
tl.up()
tl.right(90)
tl.fd(50)
tl.left(90)
tl.fd(50)
eyes(15)
tl.fd(100)
eyes(15)
#pass
def french(pos, state):
tl.up()
tl.goto(pos,-150)
tl.begin_fill()
tl.color("white")
tl.circle(100)
tl.end_fill()
tl.color("black")
tl.circle(100)
tl.circle(100,30)
tl.begin_fill()
tl.color("blue")
tl.circle(100, 120)
tl.end_fill()
tl.color("black")
tl.circle(100, 60)
tl.begin_fill()
tl.color("red")
tl.circle(100, 120)
tl.end_fill()
if state == "normal":
tl.circle(100,60)
tl.seth(90)
tl.fd(130)
tl.left(90)
eyes(10)
tl.fd(50)
eyes(10)
elif state == "startled":
tl.circle(100,40)
tl.seth(90)
tl.fd(150)
tl.seth(180)
eyes(15)
tl.fd(80)
eyes(15)
#fundo de tela
tl.tracer(0)
tl.bgcolor("light blue")
bg = tl.Turtle()
bg.up()
bg.begin_fill()
bg.color("green")
bg.goto(-450,-300)
bg.down()
bg.goto(-450, 0)
bg.goto(450, 0)
bg.goto(450,-300)
bg.goto(-450,-300)
bg.end_fill()
bg.up()
bg.goto(400,250)
bg.begin_fill()
bg.color("Yellow")
bg.circle(25)
bg.end_fill()
bg.hideturtle()
tl.update()
tl.tracer(1)
tl.up()
tl.tracer(0)
reichtangle(-400)
french(200, "startled")
tl.update()
#63 é o numero de iterações para 1 reichtangle
#for i in range(63):
#tl.undo()
tl.exitonclick()
tl.mainloop()

BIN
animacao/soldadin.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB