A Matemática está presente em qualquer game dos mais simples aos mais complexos e nas partes mais óbvias às menos prováveis. Como exemplo temos um jogo muito conhecido e também não muito complexo: Tetris.
Nas seguintes linhas de código, podemos notar a matemática sendo utilizada no controle do volume do jogo.
void SetVolume (void)
{
int ch;
int position = 1;
DrawVolume (1);
do {
if (keypressed ()) {
ch = readkey ();
clear_keybuf ();
if ((ch >> 8) == KEY_DOWN) {
position++;
if (position == 7)
position = 1;
}
Nas seguintes linhas vemos a matemática na criação de um “High Score”
for (int i = 0; i < 20; i++) {
HiScores[i].score = (20 - i) * 1000;
HiScores[i].level = 0;
strcpy (HiScores[i].name, "..................................");
}
Aqui a matemática é usada na determinação do tamanho (altura e largura) dos famosos blocos do Tetris.
if ((kind == 7) || (kind == 27)) {
x_size = 4;
y_size = 1;
}
else if ((kind == 17) || (kind == 37)) {
x_size = 1;
y_size = 4;
}
else if (kind % 10 == 3) {
x_size = 2;
y_size = 2;
}
else if ((kind / 10 == 0) || (kind / 10 == 2)) {
x_size = 3;
y_size = 2;
}
else if ((kind / 10 == 1) || (kind / 10 == 3)) {
x_size = 2;
y_size = 3;
}
current_block = kind;
Nas seguintes linhas podemos notar um caso pouco provável de uso da matemática, que seria seu uso pra determina a posição na tela em que aparecerá a temível frase de “Game Over”.
if (!CanPut ()) {
text_mode (-1);
dtextout_centre (screen, font, "G A M E", 200, 150, 0, 136);
dtextout_centre (screen, font, "O V E R", 200, 200, 0, 136);
Ou então a matemática aplicada no controle das opções do Menu
do {
if (keypressed ()) {
ch = readkey ();
if ((ch >> 8) == KEY_UP) {
pos--;
if (pos == 0)
pos = 5;
}
else if ((ch >> 8) == KEY_DOWN) {
pos++;
if (pos == 6)
pos = 1;
}
else if ((ch >> 8) == KEY_ENTER) {
if (pos == 1) {
PlayGame ();
}
else if (pos == 2)
SetVolume ();
else if (pos == 4)
Help();
else if (pos == 5)
break;
else if (pos == 3)
ViewHighScores ();
}
else if ((ch >> 8) == KEY_ESC)
break;
DrawMenu (pos);
} // end if keypressed
} while (1 == 1);
Estes, é claro, são só alguns dentre os vários exemplos que poderiam ser dados, afinal a quantidade de matemática aplicada aos movimentos dentro do jogo é muito grande e há muitos outros tipos de uso, afinal a matemática é a alma da programação, seja qual for o game.
Nas seguintes linhas de código, podemos notar a matemática sendo utilizada no controle do volume do jogo.
void SetVolume (void)
{
int ch;
int position = 1;
DrawVolume (1);
do {
if (keypressed ()) {
ch = readkey ();
clear_keybuf ();
if ((ch >> 8) == KEY_DOWN) {
position++;
if (position == 7)
position = 1;
}
Nas seguintes linhas vemos a matemática na criação de um “High Score”
for (int i = 0; i < 20; i++) {
HiScores[i].score = (20 - i) * 1000;
HiScores[i].level = 0;
strcpy (HiScores[i].name, "..................................");
}
Aqui a matemática é usada na determinação do tamanho (altura e largura) dos famosos blocos do Tetris.
if ((kind == 7) || (kind == 27)) {
x_size = 4;
y_size = 1;
}
else if ((kind == 17) || (kind == 37)) {
x_size = 1;
y_size = 4;
}
else if (kind % 10 == 3) {
x_size = 2;
y_size = 2;
}
else if ((kind / 10 == 0) || (kind / 10 == 2)) {
x_size = 3;
y_size = 2;
}
else if ((kind / 10 == 1) || (kind / 10 == 3)) {
x_size = 2;
y_size = 3;
}
current_block = kind;
Nas seguintes linhas podemos notar um caso pouco provável de uso da matemática, que seria seu uso pra determina a posição na tela em que aparecerá a temível frase de “Game Over”.
if (!CanPut ()) {
text_mode (-1);
dtextout_centre (screen, font, "G A M E", 200, 150, 0, 136);
dtextout_centre (screen, font, "O V E R", 200, 200, 0, 136);
Ou então a matemática aplicada no controle das opções do Menu
do {
if (keypressed ()) {
ch = readkey ();
if ((ch >> 8) == KEY_UP) {
pos--;
if (pos == 0)
pos = 5;
}
else if ((ch >> 8) == KEY_DOWN) {
pos++;
if (pos == 6)
pos = 1;
}
else if ((ch >> 8) == KEY_ENTER) {
if (pos == 1) {
PlayGame ();
}
else if (pos == 2)
SetVolume ();
else if (pos == 4)
Help();
else if (pos == 5)
break;
else if (pos == 3)
ViewHighScores ();
}
else if ((ch >> 8) == KEY_ESC)
break;
DrawMenu (pos);
} // end if keypressed
} while (1 == 1);
Estes, é claro, são só alguns dentre os vários exemplos que poderiam ser dados, afinal a quantidade de matemática aplicada aos movimentos dentro do jogo é muito grande e há muitos outros tipos de uso, afinal a matemática é a alma da programação, seja qual for o game.
Nenhum comentário:
Postar um comentário