1. Prepare
Antes de começar, você quer ter certeza de Python e pip foi instalado com êxito no computador Bem, se não, por favor, visite este artigo: guia de instalação ultra-detalhados para instalar Python.
Abra as janelas ambiente Cmd (Iniciar - Executar -cmd), no ambiente do sistema da Apple, abra o Terminal (command + espaço entra Terminal), pronto para entrar o comando para instalar as dependências.
Digite o seguinte comando para instalar os módulos dependentes que precisamos:
pip instalar freegames
pip instalar tartaruga
xxx instalados com sucesso ver a instalação foi bem sucedida.
2. Escrever código
O princípio é muito simples, é usar as Trump folhas comic desenho e módulo freegames e módulo de desenho tartaruga.
E módulo de configuração de imagem de carga 2.1
Primeiro, a introdução do módulo de tartaruga, e freegames módulo, uma experiência que precisamos usar o módulo no vector freegames vetor (usado para representar coordenadas).
import turtle
from random import randrange
from freegames import vector
# 设定screen
screen = turtle.Screen()
screen.setup(420, 420, 370, 0)
# 加载trump图,并设为默认turtle
trump = '3.gif'
screen.addshape(trump)
turtle.shape(trump)
2.2 Preparação de pintura
Antes de começar a desenhar, devido à necessidade de usar a imagem Trump como um ponto móvel, precisamos esconder o objeto tartaruga original e set não exibir o marcador, ou seja, Trump mudou-se quando não estiver desenhando uma linha.
O último conjunto quando o usuário clica na tela quando a função tap para executar.
turtle.hideturtle()
turtle.up()
turtle.tracer(False)
turtle.onscreenclick(tap)
função da torneira é como se segue, isto é, a posição de ajuste e a velocidade inicial da bola.
def tap(x, y):
"""
回应屏幕点击
:param x: x轴位置
:param y: y轴位置
"""
if not inside(ball):
ball.x = -199
ball.y = -199
speed.x = (x + 200) / 25
speed.y = (y + 200) / 25
2.3 Iniciar Desenhar
A função principal desta parte é de se mover, mas disse que antes da função de movimento, temos de nos concentrar em falar sobre como substituir o original endpoint cabeça de Trump, e que é a função função de sorteio:
def draw():
"""
绘画出太阳和trump
"""
turtle.hideturtle()
turtle.clear()
for target in targets:
turtle.goto(target.x, target.y)
turtle.dot(20, 'red')
if inside(ball):
turtle.showturtle()
turtle.goto(ball.x, ball.y)
turtle.update()
Lembre-se que início imagem de Trump está definido como forma de tartaruga ainda? Em seguida, passar antes que a função é executada, vire esconderijo tartaruga, na verdade, esta é a hora de cabeça pele de Trump. E no início do movimento, precisamos apenas mostrar a volta tartaruga para trás. Portanto, a declaração central é:
turtle.showturtle()
turtle.goto(ball.x, ball.y)
Estes dois controlar a cabeça do movimento.
Então dê uma olhada mover o corpo da função:
def move():
"""
移动太阳和trump
:return:
"""
# 生成“太阳”球体
if randrange(40) == 0:
y = randrange(-150, 150)
target = vector(200, y)
targets.append(target)
# 移动太阳
for target in targets:
target.x -= 0.5
# 如果Trump在屏幕内,减速并移动
if inside(ball):
speed.y -= 0.35
ball.move(speed)
# 重新渲染“太阳”位置
dupe = targets.copy()
targets.clear()
# 和Trump距离太近,则消去球体
for target in dupe:
if abs(target - ball) > 13:
targets.append(target)
# 渲染画布
draw()
# 没有目标了则终止游戏
for target in targets:
if not inside(target):
return
# 每隔50毫秒递归调用本函数
turtle.ontimer(move, 50)
Na verdade, um comentário escrito em muito claro, mas aqui nós explicar em detalhes:
1. Em primeiro lugar necessidade de gerar a esfera "sol", Vector é usado aqui, é uma função de geração de coordenadas, y é gerado de forma aleatória, a posição inicial da bola na extremidade direita (200, y). 2. tradução de todo o sol, incluindo o novo. 3. Se a memória de tela para a cabeça Trump para torná-lo se mover. 4. re-renderização posição do sol, em vez de usar a nova coordenada, se muito perto, e Trump, em seguida, apagar a esfera. 5 tornar todas as esferas e novo local de Trump. 6. Se nenhuma bola, o jogo é encerrado, ou re chamar esta função a cada 50 milissegundos.
Com base nesta lógica que você pode escrever um de seu próprio jogo, oh.
As renderizações finais:
Se você quiser saber mais sobre a aplicação de python, pode carta particular para mim, se você é uma fundação baseada em zero ainda pode entrar em seu pacote correspondente a aprender! Incluindo Python ferramentas de software e o mais recente entrada para o tutorial 2019 combate, (http://t.cn/A6Zvjdun) copiado para o navegador aberto! python grupo de troca de aprendizado tecnológico: 695 185 429