Referência da API do Free Python Games¶
Free Python Games inclui alguns utilitários úteis. A melhor maneira de expor os iniciantes a essas funções é com a função de ajuda integrada do Python. Os alunos devem ser capazes de compreender e escrever as funções de desenho por si mesmos.
Funções de Desenho¶
-
freegames.
line
(a, b, x, y)[código fonte]¶ Desenhe uma linha de (a, b) a (x, y).
-
freegames.
square
(x, y, size, name)[código fonte]¶ Desenhe um quadrado em (x, y) com o tamanho do comprimento lateral e preencha o nome da cor.
O quadrado é orientado de forma que o canto esquerdo inferior esteja em (x, y).
Funções de ajuda¶
-
freegames.
floor
(value, size, offset=200)[código fonte]¶ Piso de valor dado tamanho e deslocamento.
A função do piso é melhor compreendida com um diagrama da reta numérica:
-200 -100 0 100 200 <--|--x--|-----|--y--|--z--|-->
A linha de número mostrada tem deslocamento 200 denotado pela marca de escala à esquerda em -200 e o tamanho 100 indicado pelas marcas de escala em -100, 0, 100 e 200. O piso de um valor é a marca de escala à esquerda do intervalo onde se encontra. Portanto, para os pontos mostrados acima: o
piso(x)
é -200, opiso(y)
é 0 e opiso(z)
é 100.>>> floor(10, 100) 0.0 >>> floor(120, 100) 100.0 >>> floor(-10, 100) -100.0 >>> floor(-150, 100) -200.0 >>> floor(50, 167) -33.0
-
freegames.
path
(filename)[código fonte]¶ Retorna o caminho completo para o nome do arquivo no módulo freegames.
Vetores¶
-
class
freegames.
vector
(x, y)[código fonte]¶ Vetor bidimensional.
Os vetores podem ser modificados no local.
>>> v = vector(0, 1) >>> v.move(1) >>> v vector(1, 2) >>> v.rotate(90) >>> v vector(-2.0, 1.0)
-
__abs__
() -> abs(v)[código fonte]¶ >>> v = vector(3, 4) >>> abs(v) 5.0
-
__add__
(w) → v + w[código fonte]¶ >>> v = vector(1, 2) >>> w = vector(3, 4) >>> v + w vector(4, 6) >>> v + 1 vector(2, 3) >>> 2.0 + v vector(3.0, 4.0)
-
__eq__
(w) → v == w[código fonte]¶ >>> v = vector(1, 2) >>> w = vector(1, 2) >>> v == w True
-
__getitem__
(v, i) → v[i][código fonte]¶ >>> v = vector(3, 4) >>> v[0] 3 >>> v[1] 4 >>> v[2] Traceback (most recent call last): ... IndexError
-
__hash__
() -> hash(v)[código fonte]¶ >>> v = vector(1, 2) >>> h = hash(v) >>> v.x = 2 Traceback (most recent call last): ... ValueError: cannot set x after hashing
-
__iadd__
(w) → v += w[código fonte]¶ >>> v = vector(1, 2) >>> w = vector(3, 4) >>> v += w >>> v vector(4, 6) >>> v += 1 >>> v vector(5, 7)
-
__imul__
(w) → v *= w[código fonte]¶ >>> v = vector(1, 2) >>> w = vector(3, 4) >>> v *= w >>> v vector(3, 8) >>> v *= 2 >>> v vector(6, 16)
-
__init__
(x, y)[código fonte]¶ Inicialize o vetor com as coordenadas: x, y.
>>> v = vector(1, 2) >>> v.x 1 >>> v.y 2
-
__isub__
(w) → v -= w[código fonte]¶ >>> v = vector(1, 2) >>> w = vector(3, 4) >>> v -= w >>> v vector(-2, -2) >>> v -= 1 >>> v vector(-3, -3)
-
__itruediv__
(w) → v /= w[código fonte]¶ >>> v = vector(2, 4) >>> w = vector(4, 8) >>> v /= w >>> v vector(0.5, 0.5) >>> v /= 2 >>> v vector(0.25, 0.25)
-
__len__
() -> len(v)[código fonte]¶ >>> v = vector(1, 2) >>> len(v) 2
-
__mul__
(w) → v * w[código fonte]¶ >>> v = vector(1, 2) >>> w = vector(3, 4) >>> v * w vector(3, 8) >>> v * 2 vector(2, 4) >>> 3.0 * v vector(3.0, 6.0)
-
__ne__
(w) → v != w[código fonte]¶ >>> v = vector(1, 2) >>> w = vector(3, 4) >>> v != w True
-
__neg__
() → -v[código fonte]¶ >>> v = vector(1, 2) >>> -v vector(-1, -2)
-
__radd__
(other)¶ v.__add__(w) -> v + w
>>> v = vector(1, 2) >>> w = vector(3, 4) >>> v + w vector(4, 6) >>> v + 1 vector(2, 3) >>> 2.0 + v vector(3.0, 4.0)
-
__repr__
() -> repr(v)[código fonte]¶ >>> v = vector(1, 2) >>> repr(v) 'vector(1, 2)'
-
__rmul__
(other)¶ v.__mul__(w) -> v * w
>>> v = vector(1, 2) >>> w = vector(3, 4) >>> v * w vector(3, 8) >>> v * 2 vector(2, 4) >>> 3.0 * v vector(3.0, 6.0)
-
__sub__
(w) → v - w[código fonte]¶ >>> v = vector(1, 2) >>> w = vector(3, 4) >>> v - w vector(-2, -2) >>> v - 1 vector(0, 1)
-
__truediv__
(w) → v / w[código fonte]¶ >>> v = vector(1, 2) >>> w = vector(3, 4) >>> w / v vector(3.0, 2.0) >>> v / 2 vector(0.5, 1.0)
-
copy
()[código fonte]¶ Retorna a cópia do vetor.
>>> v = vector(1, 2) >>> w = v.copy() >>> v is w False
-
move
(other)[código fonte]¶ Move o vetor por outro (no local).
>>> v = vector(1, 2) >>> w = vector(3, 4) >>> v.move(w) >>> v vector(4, 6) >>> v.move(3) >>> v vector(7, 9)
-
rotate
(angle)[código fonte]¶ Gire o vetor no sentido anti-horário pelo ângulo (no local).
>>> v = vector(1, 2) >>> v.rotate(90) >>> v == vector(-2, 1) True
-
scale
(other)[código fonte]¶ Escala o vetor por outro (no local).
>>> v = vector(1, 2) >>> w = vector(3, 4) >>> v.scale(w) >>> v vector(3, 8) >>> v.scale(0.5) >>> v vector(1.5, 4.0)
-
property
x
¶ Componente do eixo X do vetor.
>>> v = vector(1, 2) >>> v.x 1 >>> v.x = 3 >>> v.x 3
-
property
y
¶ Componente do eixo Y do vetor.
>>> v = vector(1, 2) >>> v.y 2 >>> v.y = 5 >>> v.y 5
-