-
Notifications
You must be signed in to change notification settings - Fork 11
/
cap12.t2t
555 lines (444 loc) · 27.7 KB
/
cap12.t2t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
Capítulo 12
Coordenadas Cartesianas
%!encoding: utf-8
==Tópicos cobertos neste capítulo==
- Sistemas de coordenadas Cartesianas.
% Cartesian coordinate systems.
- Os eixos X e Y.
% The X-axis and Y-axis.
- A Propriedade Comutativa da Adição.
% The Commutative Property of Addition.
- Valores absolutos e a função ``abs()``.
% Absolute values and the abs() function.
Este capítulo não apresenta um novo jogo, ao invés disso, revisa alguns
conceitos matemáticos simples que usaremos no resto dos jogos nesse livro.
% This chapter does not introduce a new game, but instead goes over some
% simple mathematical concepts that we will use in the rest of the games in
% this book.
Quando você olha jogos 2D (tais como Tetris ou jogos antigos de Super
Nintendo ou Sega Genesis) você pode ver que a maioria dos gráfcos na tela
pode se mover à esquerda ou direita (a primeira dimensão) e, para cima e para
baixo (a segunda dimensão, portando 2D). Para criarmos jogos que possuam
objetos se movendo nas duas dimensões (como a tela bi-dimencional do
computador), nós precisamos de um sistema que possa traduzir um lugar na
tela em números inteiros que nosso programa possa lidar.
% When you look at 2D games (such as Tetris or old Super Nintendo or Sega
% Genesis games) you can see that most of the graphics on the screen can
% move left or right (the first dimension) and up or down (the second
% dimension, hence 2D). In order for us to create games that have objects
% moving around two dimensions (such as the two dimensional computer screen),
% we need a system that can translate a place on the screen to integers that
% our program can deal with.
Aqui é onde o sistema de coordenadas Cartesianas entra. As coordenadas podem
apontar para um ponto muito específico na tela, para que nosso programa possa
manter controle das diferentes áreas dela.
% This is where Cartesian coordinate systems come in. The coordinates can
% point to a very specific point on the screen so that our program can keep
% track of different areas on the screen.
Números negativos também são frequentemente utilizados com o sistema de
coordenadas Cartesianas. A segunda metade desse capítulo irá explicar como
nós podemos fazer cálculos com números negativos.
% Negative numbers are often used with Cartesian coordinate systems as well.
% The second half of this chapter will explain how we can do math with
% negative numbers.
Você pode já conhecer o sistema de coordenadas Cartesianas e números
negativos das aulas de matemática. Nesse caso, você pode de qualquer forma
dar uma lida rápida nesse capítulo para relembrar esses assuntos.
% You may already know about Cartesian coordinate systems and negative
% numbers from math class. In that case, you can just give this chapter a
% quick read anyway to refresh yourself.
=Grades e Coordenadas Cartesianas=
% Grids and Cartesian Coordinates
[chapter12/12-1.png]
Figura 12-1: Um exemplo de um tabuleiro de xadrez com um cavaleiro preto em
a, 3 e um cavaleiro branco em e, 6.
% <img src='images/12-1.png' alt='' class='centeredImage' />
% Figure 12-1: A sample chessboard with a black knight at a, 4 and a white knight at e, 6.
Um problema em muitos jogos é de como falar sobre pontos exatos no tabuleiro.
Uma maneira comum de resolver isso é marcando cada linha e coluna em
particular com uma letra e um número. A Figura 12-1 é um tabuleiro de xadrez
que tem cada linha e coluna marcadas.
% A problem in many games is how to talk about exact points on the board.
% A common way of solving this is by marking each individual row and column
% on a board with a letter and a number. Figure 12-1 is a chess board that
% has each row and each column marked.
No xadrez, a peça do cavaleiro se parece com uma cabeça de cavalo. O
cavaleiro branco está localizado no ponto e, 6 e o cavaleiro preto está
localizado no ponto a, 4. Nós também podemos ver que todos os espaços na
linha 7 e na coluna c estão vazios.
% In chess, the knight piece looks like a horse head. The white knight is
% located at the point e, 6 and the black knight is located at point a, 4.
% We can also see that every space on row 7 and every space in column c is
% empty.
Uma grade com linhas e colunas identificadas por um rótulo como o tabuleiro
de xadrez é um sistema de coordenadas Cartesianas. Utilizando um rótulo
de linha e um de coluna nós podemos dar uma coordenada que é para um, e
somente um espaço no tabuleiro. Isto pode realmente nos ajudar a descrever
para um computador a localização exata que queremos. Se você já aprendeu
sobre sistemas de coordenadas Cartesianas nas aulas de matemática, você pode
saber que geralmente nós temos números para ambas, linhas e colunas. Isto é
útil, porque caso contrário, depois da 26ª coluna nós esgotaríamos a
quantidade de letras. Este tabuleiro se pareceria com a Figura 12.2.
% A grid with labeled rows and columns like the chess board is a Cartesian
% coordinate system. By using a row label and column label, we can give a
% coordinate that is for one and only one space on the board. This can really
% help us describe to a computer the exact location we want. If you have
% learned about Cartesian coordinate systems in math class, you may know that
% usually we have numbers for both the rows and columns. This is handy,
% because otherwise after the 26th column we would run out of letters.
% That board would look like Figure 12-2.
[chapter12/12-2.png]
Figura 12-2: O mesmo tabuleiro de xadrez porém com coordenadas numéricas
para ambas, linhas e colunas.
% <img src='images/12-2.png' alt='' class='centeredImage' />
% Figure 12-2: The same chessboard but with numeric coordinates for both rows and columns.
Os números indo da esquerda para a direita e descrevem as colunas são parte
do eixo-X. Os números indo de cima para baixo e que descrevem as linhas são
parte da coordenada-Y. Isto significa que o cavaleiro branco na figura
anterior está localizado na coordenada 5, 6 (e não 6, 5). O cavaleiro preto
está localizado na coordenada 1, 4 (e não 4, 1).
% The numbers going left and right that describe the columns are part of the
% <span class='term'>X-axis</span>. The numbers going up and down that
% describe the rows are part of the <span class='term'>Y-axis</span>. When we
% describe coordinates, we always say the X-coordinate first, followed by the
% Y-coordinate. That means the white knight in the above picture is located at
% the coordinate 5, 6 (and not 6, 5). The black knight is located at the
% coordinate 1, 4 (not to be confused with 4, 1).
Repare que, para que o cavaleiro preto se mova para a posição do cavaleiro
branco, o cavaleiro preto deve se mover dois espaços, e então quatro espaços
para a direita. (Ou se mover quatro espaços à direita e então mais dois
espaços). Mas nós não precisamos olhar para o tabuleiro para descobrir isso.
Se nós sabemos que o cavaleiro branco está localizado em 5, 6 e o cavaleiro
preto em 1, 4, então podemos somente usar a subtração para descobrir essa
informação.
% Notice that for the black knight to move to the white knight's position,
% the black knight must move up two spaces, and then to the right by four
% spaces. (Or move right four spaces and then move up two spaces.) But we
% don't need to look at the board to figure this out. If we know the white
% knight is located at 5, 6 and the black knight is located at 1, 4, then
% we can just use subtraction to figure out this information.
Subtraia as coordenadas-X do cavaleiro preto e do cavaleiro branco:
5 - 1 = 4. Isto significa que o cavaleiro preto tem que se mover ao longo
do eixo-X por quatro espaços.
% Subtract the black knight's X-coordinate and white knight's X-coordinate:
% 5 - 1 = 4. That means the black knight has to move along the X-axis by
% four spaces.
Subtraia as coordenadas-Y do cavaleiro preto e do cavaleiro branco:
6 - 4 = 2. Isto significa que o cavaleiro preto tem que se mover ao longo
do eixo-Y por dois espaços.
% Subtract the black knight's Y-coordinate and white knight's Y-coordinate:
% 6 - 4 = 2. That means the black knight has to move along the Y-axis by two
% spaces.
=Números Negativos=
% Negative Numbers
Outro conceito que coordenadas Cartesianas usam é o de números negativos.
Números negativos são números que são menores do que zero. Colocamos um sinal
de menos na frente de um número para mostrar que ele é negativo. O número -1
é menor do que zero. E -2 é menor que -1. E -3 é menor que -2. Se você pensar
em numéros regulares (chamados de números positivos) como iniciando em 1 e
aumentando, você pode pensar em números negativos como iniciando em -1 e
diminuindo. O número 0 em si não é positivo nem negativo. Nessa figura, você
pode ver os números positivos aumentando para a direita e os números negativos
diminuindo para a esquerda:
% Another concept that Cartesian coordinates use is negative numbers.
% <span class='term'>Negative numbers</span> are numbers that are smaller
% than zero. We put a minus sign in front of a number to show that it is a
% negative number. -1 is smaller than 0. And -2 is smaller than -1. And -3 is
% smaller than -2. If you think of regular numbers (called <span class='term'>
% positive numbers</span>) as starting from 1 and increasing, you can think
% of negative numbers as starting from -1 and decreasing. 0 itself is not
% positive or negative. In this picture, you can see the positive numbers
% increasing to the right and the negative numbers decreasing to the left:
[chapter12/12-3.png]
Figura 12-3: Uma reta numérica
% <img width='570' height='72' src='images/12-3.png' alt='' class='centeredImage' />
% Figure 12-3: A number line.</p>
% <img src='images/12-3.png' alt='' class='centeredImage' />
% Figure 12-3: A number line.</p>
A reta numérica é realmente útil para fazer substração e adição com números
negativos. A expressão 4 + 3 pode ser pensada como o cavaleiro branco
iniciando na posição 4 e se movendo 3 espaços para a direita (adicionar
significa aumentar, que é para o lado direito).
% The number line is really useful for doing subtraction and addition with
% negative numbers. The expression 4 + 3 can be thought of as the white
% knight starting at position 4 and moving 3 spaces over to the right
% (addition means increasing, which is in the right direction).
[chapter12/12-4.png]
Figura 12-4: Movendo o cavaleiro branco para a direita aumenta na coordenada.
% <img width='570' height='131' src='images/12-4.png' alt='' class='centeredImage' />
% Figure 12-4: Moving the white knight to the right adds to the coordinate.
% <img src='images/12-4.png' alt='' class='centeredImage' />
% Figure 12-4: Moving the white knight to the right adds to the coordinate.
Como você pode ver, o cavaleiro branco acaba na posição 7. Isso faz sentido,
porque 4 + 3 é 7.
% As you can see, the white knight ends up at position 7. This makes sense,
% because 4 + 3 is 7.
A subtração pode ser feita movendo o cavaleiro branco para a esquerda.
Subtrair significa diminuir, que é para o lado esquerdo. O cavaleiro branco
iniciando na posição 4 e se movendo 6 espaços para a esquerda resultaria na
expressão 4 - 6, como na Figura 12-5:
% Subtraction can be done by moving the white knight to the left. Subtraction
% means decreasing, which is in the left direction. 4 - 6 would be the white
% knight starting at position 4 and moving 6 spaces to the left, like in
% Figure 12-5:
[chapter12/12-5.png]
Figura 12-5: Movendo o cavaleiro branco para a esquerda diminui na coordenada.
% <img width='570' height='131' src='images/12-5.png' alt='' class='centeredImage' />
% Figure 12-5: Moving the white knight to the left subtracts from the coordinate.
% <img src='images/12-5.png' alt='' class='centeredImage' />
% Figure 12-5: Moving the white knight to the left subtracts from the coordinate.</p>
O cavaleiro branco acaba na posição -2. Isso significa que 4 - 6 é igual a -2.
% The white knight ends up at position -2. That means 4 - 6 equals -2.
Se adicionamos ou subtraimos um número negativo, o cavaleiro branco se moveria
para a direção oposta. Se você adiciona um número negativo, o cavaleiro se
move para a esquerda. Se você subtrai um número negativo, o cavaleiro se move
para a direita. A expressão -6 - -4 é igual a -2. O cavaleiro inicia em -6 e
se move para a direita por 4 espaços. Repare que -6 - -4 possui o mesmo
resultado que -6 + 4.
% If we add or subtract a negative number, the white knight would move in the
% <i>opposite</i> direction. If you add a negative number, the knight moves
% to the <i>left</i>. If you subtract a negative number, the knight moves to
% the <i>right</i>. The expression -6 - -4 would be equal to -2. The knight
% starts at -6 and moves to the <i>right</i> by 4 spaces. Notice that
% -6 - -4 has the same answer as -6 + 4.
[chapter12/12-6.png]
Figura 12-6: Mesmo se o cavaleiro branco inicia em uma coordenada negativa,
movendo-o para a direita ainda aumenta na coordenada.
% <img width='570' height='135' src='images/12-6.png' alt='' class='centeredImage' />
% Figure 12-6: Even if the white knight starts at a negative coordinate, moving right still adds to the coordinate.
% <img src='images/12-6.png' alt='' class='centeredImage' />
% Figure 12-6: Even if the white knight starts at a negative coordinate, moving right still adds to the coordinate.
[chapter12/12-7.png]
Figura 12-7: Colocando duas retas numéricas juntas cria um sistema de
coordenadas Cartesianas.
% <img src='images/12-7.png' alt='' class='centeredImage' />
% Figure 12-7: Putting two number lines together creates a Cartesian coordinate system.
A reta numérica é a mesma que o eixo-X. Se fizermos a reta numérica ir
de cima para baixo, ao invés da esquerda para a direita, ela iria modelar o
eixo-Y. Adicionando um número positivo (ou subtraindo de um número negativo)
moveria o cavaleiro para cima na reta numérica, e subtraindo de um número
positivo (ou adicionando um número negativo) moveria o cavaleiro para baixo
na reta. A coordenada 0, 0 tem um nome especial: origem.
% The number line is the same as the X-axis. If we made the number line go up
% and down instead of left and right, it would model the Y-axis. Adding a
% positive number (or subtracting a negative number) would move the knight up
% the number line, and subtracting a positive number (or adding a negative
% number) would move the knight down. When we put these two number lines
% together, we have a Cartesian coordinate system like in Figure 12-7.
% The 0, 0 coordinate has a special name: the <span class='term'>origin
% </span>.</p>
=Truques Matemáticos=
% Math Tricks
Subtraindo ou adicionando números negativos parece ser fácil quando você tem
uma reta numérica na sua frente, mas pode ser fácil também quando você tem
somente os números. Aqui estão três truques que você pode usar para tornar
mais fáceis as avaliações dessas expressões.
% Subtracting negative numbers or adding negative numbers seems easy when you
% have a number line in front of you, but it can be easy when you only have
% the numbers too. Here are three tricks you can do to make evaluating these
% expressions by yourself easier to do.
==Truque 1: "Um Menos Come o Sinal de Mais à sua Esquerda"==
% Trick 1: "A Minus Eats the Plus Sign on its Left"
O primeiro é se você está adicionando um número negativo, por exemplo; 4 + -2.
Quando você vê um sinal de menos com um sinal de mais à esquerda, você pode
substituí-lo por um sinal de menos. A resposta permanece a mesma, porque
adicionar um valor negativo é o mesmo que subtrair um valor positivo.
4 + -2 e 4 - 2 ambos resultam em 2.
% The first is if you are adding a negative number, for example; 4 + -2. The
% first trick is "a minus eats the plus sign on its left". When you see a
% minus sign with a plus sign on the left, you can replace the plus sign with
% a minus sign. The answer is still the same, because adding a negative value
% is the same as subtracting a positive value. 4 + -2 and 4 - 2 both evaluate
% to 2.
[chapter12/12-8.png]
Figura 12-8: Truque 1 - Adicionando um número positivo e um negativo.
% <img src='images/12-8.png' alt='' class='centeredImage' />
% Figure 12-8: Trick 1 - Adding a positive and negative number.
==Truque 2: "Dois Sinais de Menos Combinam em um Sinal de Mais"==
% Trick 2: "Two Minuses Combine Into a Plus"
O segundo truque é se você está subtraindo um número negativo, por exemplo,
4 - -2. Quando você vê dois sinais de menos um ao lado do outro sem um número
entre eles, eles podem combinar em um sinal de mais. O resultado permanece o
mesmo, porque subtrair um valor negativo é o mesmo que adicionar um valor
positivo.
% The second trick is if you are subtracting a negative number, for example,
% 4 - -2. The second trick is "two minuses combine into a plus". When you see
% the two minus signs next to each other without a number in between them,
% they can combine into a plus sign. The answer is still the same, because
% subtracting a negative value is the same as adding a positive value.
[chapter12/12-9.png]
Figura 12-9: Truque 2 - Subtraindo um número positivo e um negativo.
% <img src='images/12-9.png' alt='' class='centeredImage' />
% Figure 12-9: Trick 2 - Subtracting a positive and negative number.
==Truque 3: A Propriedade Comutativa da Adição==
% Trick 3: The Commutative Property of Addition
Um terceiro truque é para lembrar que quando você adiciona dois números como
6 e 4, não importa em qual ordem eles estão. (Isto é chamado de propriedade
comutativa da adição). Isso significa que 6 + 4 e 4 + 6 são ambos iguais ao
mesmo valor, 10. Se você contar as caixas na figura abaixo, poderá ver que
não importa qual ordem você tem os números para adicionar.
% A third trick is to remember that when you add two numbers like 6 and 4, it
% doesn't matter what order they are in. (This is called the
% <span class='term'>commutative property</span> of addition.) That means
% that 6 + 4 and 4 + 6 both equal the same value, 10. If you count the
% boxes in the figure below, you can see that it doesn't matter what order
% you have the numbers for addition.
[chapter12/12-10.png]
Figura 12-10: Truque 3 - A propriedade comutativa da adição.
% <img src='images/12-10.png' alt='' class='centeredImage' />
% Figure 12-10: Trick 3 - The commutative property of addition.
Digamos que você está adicionando um número negativo e um positivo, como
-6 + 8. Já que você está adicionando números, você pode mudar a ordem dos
números sem alterar o resultado. -6 + 8 é o mesmo que 8 + -6. Porém, quando
você vê 8 + -6, repara que o sinal de menos pode comer o sinal de mais à sua
esquerda, resultando na expressão 8 - 6 = 2. Mas isso significa que -6 + 8
também é 2! Nós reorganizamos a expressão para obtermos o mesmo resultado, mas
tornamos mais fácil para resolvê-la sem usar uma calculadora ou o computador.
% Say you are adding a negative number and a positive number, like -6 + 8.
% Because you are adding numbers, you can swap the order of the numbers
% without changing the answer. <span class='nw'>-6</span> + 8 is the same as
% 8 + -6. But when you look at 8 + -6, you see that the minus sign can eat the
% plus sign to its left, and the problem becomes 8 - 6 = 2. But this means
% that -6 + 8 is also 2! We've rearranged the problem to have the same
% answer, but made it easier for us to solve without using a calculator or
% the computer.
[chapter12/12-11.png]
Figura 12-11: Usando nossos truques matemáticos juntos.
% <img src='images/12-11.png' alt='' class='centeredImage' />
% Figure 12-11: Using our math tricks together.
É claro, você sempre pode usar o interpretador interativo como uma
calculadora para avaliar essas expressões. É ainda muito útil conhecer os
três truques acima quando adicionar ou subtrair números negativos, afinal,
você não estará todo o tempo em frente a um computador com Python instalado.
% Of course, you can always use the interactive shell as a calculator to
% evaluate these expressions. It is still very useful to know the above
% three tricks when adding or subtracting negative numbers. After all, you
% won't always be in front of a computer with Python all the time!
+ >>> 4 + -2
+ 2
+ >>> -4 + 2
+ -2
+ >>> -4 + -2
+ -6
+ >>> 4 - -2
+ 6
+ >>> -4 - 2
+ -6
+ >>> -4 - -2
+ -2
+ >>>
% Formatar textos com fonte monoespaçada dentro de títulos aparentemente não
% funciona.
=Valores Absolutos e a Função abs()=
% Absolute Values and the <span class='m'>abs()</span> Function
O valor absoluto de um número é o número sem o sinal de menos na frente dele.
Isto significa que números positivos não mudam, mas números negativos se
tornam positivos. Por exemplo, o valor absoluto de -4 é 4. O valor absoluto
de -7 é 7. O valor absoluto de 5 (que é positivo) é simplesmente 5.
% The <span class='term'>absolute value</span> of a number is the number
% without the negative sign in front of it. This means that positive numbers
% do not change, but negative numbers become positive. For example, the
% absolute value of -4 is 4. The absolute value of -7 is 7. The absolute
% value of 5 (which is positive) is just 5.
Podemos saber quão distantes das outras duas coisas estão em uma reta
numérica obtendo o valor absoluto das suas diferenças. Imagine que o
cavaleiro branco está na posição 4 e o cavaleiro preto na posição -2. Para
descobrir a distância entre eles, você poderia achar a diferença subtraindo
suas posições e obtendo o valor absoluto desse número.
% We can find how far away two things on a number line are from each other
% by taking the absolute value of their difference. Imagine that the white
% knight is at position 4 and the black knight is at position -2. To find out
% the distance between them, you would find the difference by subtracting
% their positions and taking the absolute value of that number.
Isso funciona não importando em que ordem os números estão. -2 - 4 (isso é,
2 negativo menos 4) é igual a -6, e o valor absoluto de -6 é 6. Contudo,
4 - -2 (ou seja, 4 menos 2 negativo) é 6, e seu valor absoluto é 6. Usar o
valor absoluto da diferença é uma boa maneira de achar a distância entre dois
pontos em uma reta numérica (ou eixo).
% It works no matter what the order of the numbers is. -2 - 4 (that is,
% negative two minus four) is -6, and the absolute value of -6 is 6. However,
% 4 - -2 (that is, four minus negative two) is 6, and the absolute value of 6
% is 6. Using the absolute value of the difference is a good way of finding
% the distance between two points on a number line (or axis).
A função ``abs()`` pode ser usada para retornar o valor absoluto de um
inteiro. Como ``abs()`` é uma função embutida, você não precisa importar
nenhum módulo para poder usá-la. Passe um valor inteiro ou //float// e ela
irá retornar seu valor absoluto:
% The <span class='m'>abs()</span> function can be used to return the absolute
% value of an integer. The <span class='m'>abs()</span> function is a built-in
% function, so you do not need to import any modules to use it. Pass it an
% integer or float value and it will return the absolute value:
+ >>> abs(-5)
+ 5
+ >>> abs(42)
+ 42
+ >>> abs(-10.5)
+ 10.5
=Sistema de Coordenadas de um Monitor de Computador=
% Coordinate System of a Computer Monitor
[chapter12/12-12.png]
Figure 12-12: O sistema de coordenadas Cartesianas de um monitor de computador.
% <img src='images/12-12.png' alt='' class='centeredImage' />
% Figure 12-12: The Cartesian coordinate system on a computer monitor.
É comum que monitores de computador usem um sistema de coordenadas que
têm origem (0, 0) no canto superior esquerdo da tela, e aumentam à medida
que vão para baixo e à direita. Não há coordenadas negativas. Isso é devido
a textos serem impressos iniciando no topo esquerdo, seguindo para a direita
e para baixo. A maioria dos gráficos de computadores usam esse sistema de
coordenadas, e vamos usá-lo nos nossos jogos. É também comum assumir que
monitores podem exibir textos com 80 caracteres por linha e 25 caracteres
por coluna (veja a Figura 12-12). Este costumava ser o tamanho máximo que
monitores podiam suportar. Apesar dos monitores de hoje normalmente poderem
exibir muito mais texto, nós não assumiremos que a tela do usuário é maior do
que 80 por 25.
% It is common that computer monitors use a coordinate system that has the
origin (0, 0) at the top left corner of the screen, which increases going down
and to the right. There are no negative coordinates. This is because text is
printed starting at the top left, and is printed going to the right and
downwards. Most computer graphics use this coordinate system, and we will use
it in our games. Also it is common to assume that monitors can display 80 text
characters per row and 25 text characters per column (look at Figure 12-12).
This used to be the maximum screen size that monitors could support. While
today's monitors can usually display much more text, we will not assume that
the user's screen is bigger than 80 by 25.
=Sumário: Usando essa Matemática em Jogos=
% Summary: Using this Math in Games
Isso não foi muita matemática para aprender para a programação. Na
verdade, na maioria das vezes programar não requer entender muito de
matemática. Até esse capítulo nós sobrevivemos somente com simples adições e
multiplicaçõs.
% This hasn't been too much math to learn for programming. In fact, most
% programming does not require understanding a lot of math. Up until this
% chapter, we have been getting by on simple addition and multiplication.
Sistemas de coordenadas Cartesianas são necessárias para descrever exatamente
onde em uma área bi-dimensional uma certa posição está. Coordenadas são
formadas por dois números: a coordenada-X e a coordenada-Y. O eixo-X vai da
esquerda para a direita, enquanto o eixo-Y de cima para baixo. Em uma tela
de computador (e na maioria da programação de computadores), o eixo-X se
inicia em 0 no lado esquerdo e aumenta para o lado direito. O eixo-Y se
inicia em 0 no topo da tela e aumenta para baixo.
% Cartesian coordinate systems are needed to describe exactly where in a two
% dimensional area a certain position is. Coordinates are made up of two
% numbers: the X-coordinate and the Y-coordinate. The X-axis runs left and
% right and the Y-axis runs up and down. On a computer screen (and in most
% computer programming), the X-axis starts at 0 at the left side and increases
% on the way to the right. The Y-axis starts at 0 on the top of the screen and
% increases on the way down.
Os três truques que aprendemos nesse capítulo torna muito fácil adicionar
números inteiros positivos e negativos. O primeiro truque é que o sinal de
menos vai comer o sinal de mais à sua esquerda. O segundo é que dois sinais
de menos juntos irão combinar em um sinal de mais. E o terceiro truque é que
você pode mudar a posição dos números que você está adicionando. Isto é
chamado de Propriedade Comutativa da Adição.
% The three tricks we learned in this chapter make it very easy to add
% positive and negative integers. The first trick is that a minus sign will
% eat the plus sign on its left. The second trick is that two minuses next to
% each other will combine into a plus sign. And the third trick is that you
%can swap the position of the numbers you are adding. This is called the
% commutative property of addition.
Para o resto do livro, nós iremos usar os conceitos aprendidos nesse capítulo
em nosso jogos porque eles possuem áreas bi-dimencionais neles. Todos os jogos
gráficos requerem o entendimento de como as coordenadas Cartesianas funcionam.
% For the rest of the book, we will use the concepts we learned in this
% chapter in our games because they have two dimensional areas in them. All
% graphical games require understanding how Cartesian coordinates work.