forked from 20241144010013/20241144010013
141 lines
3.0 KiB
Python
141 lines
3.0 KiB
Python
#setup
|
|
import turtle as tl
|
|
import random
|
|
|
|
posx = [-200, -100, 0, 100, 200]
|
|
posy = [-200, -100, 0, 100, 200]
|
|
tl.setup(650,650,None,None)
|
|
tl.title("Naval Battle 1943 Loading...")
|
|
tl.speed(0)
|
|
|
|
#posições possiveis
|
|
tiro_pos = {
|
|
"A1": (200,200),
|
|
"A2": (200,100),
|
|
"A3": (200,0),
|
|
"A4": (200,-100),
|
|
"A5": (200,-200),
|
|
"B1": (100,200),
|
|
"B2": (100,100),
|
|
"B3": (100,0),
|
|
"B4": (100,-100),
|
|
"B5": (100,-100),
|
|
"C1": (0,200),
|
|
"C2": (0,100),
|
|
"C3": (0,0),
|
|
"C4": (0,-100),
|
|
"C5": (0,-200),
|
|
"D1": (-100,200),
|
|
"D2": (-100,100),
|
|
"D3": (-100,0),
|
|
"D4": (-100,-100),
|
|
"D5": (-100,-200),
|
|
"E1": (-200,200),
|
|
"E2": (-200,100),
|
|
"E3": (-200,0),
|
|
"E4": (-200,-100),
|
|
"E5": (-200,-200),
|
|
}
|
|
|
|
|
|
|
|
#funções
|
|
def linhax(x,y):
|
|
tl.up(); tl.goto(x,y)
|
|
tl.down(); tl.goto(x+600,y)
|
|
pass
|
|
|
|
def linhay(x,y):
|
|
tl.up(); tl.goto(x,y)
|
|
tl.down(); tl.goto(x,y+600)
|
|
pass
|
|
|
|
|
|
#radar screen
|
|
tl.bgcolor("lime green")
|
|
#moldura
|
|
linhax(-300,-300)
|
|
linhay(-300,-300)
|
|
linhay(300,-300)
|
|
linhax(-300,300)
|
|
|
|
#linhas X
|
|
linhax(-300,-200); tl.write("5",False,align="right")
|
|
linhax(-300,-100); tl.write("4",False,align="right")
|
|
linhax(-300,0); tl.write("3",False,align="right")
|
|
linhax(-300,100); tl.write("2",False,align="right")
|
|
linhax(-300,200); tl.write("1",False,align="right")
|
|
|
|
#linhas Y
|
|
linhay(-200,-300); tl.write("E",False,align="right")
|
|
linhay(-100,-300); tl.write("D",False,align="right")
|
|
linhay(0,-300); tl.write("C",False,align="right")
|
|
linhay(100,-300); tl.write("B",False,align="right")
|
|
linhay(200,-300); tl.write("A",False,align="right")
|
|
#Tabuleiro pronto
|
|
tl.title("Naval Battle 1943")
|
|
tl.hideturtle()
|
|
boat = tl.Turtle()
|
|
boat.up(); boat.goto(0,0); boat.left(90)
|
|
|
|
#Enemies
|
|
e1 = tl.Turtle()
|
|
e1.up()
|
|
e1.color("red")
|
|
e1.goto(random.choice(posx), random.choice(posy))
|
|
|
|
|
|
e2 = tl.Turtle()
|
|
e2.up()
|
|
e2.color("red")
|
|
e2.goto(random.choice(posx), random.choice(posy))
|
|
if e1.pos() == e2.pos():
|
|
e2.goto(random.choice(posx), random.choice(posy))
|
|
|
|
|
|
e3 = tl.Turtle()
|
|
e3.up()
|
|
e3.color("red")
|
|
e3.goto(random.choice(posx), random.choice(posy))
|
|
if e1.pos() == e3.pos():
|
|
e3.goto(random.choice(posx), random.choice(posy))
|
|
if e2.pos() == e3.pos():
|
|
e3.goto(random.choice(posx), random.choice(posy))
|
|
|
|
#partidas
|
|
win = False
|
|
while win == False:
|
|
tiro = tl.textinput("linha X do disparo","Em qual quadrante X devemos disparar a artilharia")
|
|
if (tiro_pos[tiro]) == e1.pos() or (tiro_pos[tiro]) == e2.pos() or (tiro_pos[tiro]) == e3.pos():
|
|
boat.goto(tiro_pos[tiro])
|
|
print("Acerto!")
|
|
boat.write("U-boat Afundado\n Capitão!",False,align="center")
|
|
break
|
|
else:
|
|
boat.goto(tiro_pos[tiro])
|
|
print("errou!")
|
|
boat.write("Erramos o alvo\n Capitão!",False,align="center")
|
|
continue
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#Execução
|
|
tl.mainloop()
|
|
tl.exitonclick() |