segunda-feira, 7 de dezembro de 2009

Problema 8.13

Para animar o nosso programa uma possibilidade simples é usar o módulo cTurtle. Vamos definir o nosso boneco de acordo com as coordenadas dadas na figura.



O boneco estará separado em 6 partes: cabeça, tronco, braços e pernas. Isto coloca um limite de 6 tentativas falhadas. Claro que podemos alterar. Por exemplo, é preciso falhar 2 vezes seguidas para mais uma parte do corpo ficar pendurada. De qualquer maneira o que temos que introduzir no nosso código é uma chamada à operação de desenho cada vez que falhamos. Se é a nossa i tentativa falhada, então desenhamos a parte i do corpo. Eis o código.
01.import cTurtle
02. 
03.def desenha_enforcado(i):
04.    cTurtle.up()
05.    if(i==0):
06.        cTurtle.goto(60,-90)
07.        cTurtle.setheading(180)
08.        cTurtle.down()
09.        cTurtle.forward(130)
10.        cTurtle.right(90)
11.        cTurtle.forward(160)
12.        cTurtle.right(90)
13.        cTurtle.forward(70)
14.        cTurtle.right(90)
15.        cTurtle.forward(20)
16.        cTurtle.up()
17.        cTurtle.goto(-70,50)
18.        cTurtle.down()
19.        cTurtle.goto(-50,70)
20.    elif(i==1):
21.        cTurtle.goto(-20,30)
22.        cTurtle.down()
23.        cTurtle.circle(20)
24.    elif(i==2):
25.        cTurtle.goto(0,10)
26.        cTurtle.down()
27.        cTurtle.goto(0,-30)
28.    elif(i==3):
29.        cTurtle.goto(0,0)
30.        cTurtle.down()
31.        cTurtle.goto(-20,-10)
32.    elif(i==4):
33.        cTurtle.goto(0,0)
34.        cTurtle.down()
35.        cTurtle.goto(20,-10)
36.    elif(i==5):
37.        cTurtle.goto(0,-30)
38.        cTurtle.down()
39.        cTurtle.goto(-20,-70)
40.        cTurtle.goto(-30,-70)
41.    elif(i==6):
42.        cTurtle.goto(0,-30)
43.        cTurtle.down()
44.        cTurtle.goto(20,-70)
45.        cTurtle.goto(30,-70)
46.    cTurtle.hideturtle()

Sem comentários:

Enviar um comentário