trabalho de portugues
A partir do momento em que se decide o conceito do jogo, também é decidido a linguagem de programação que será usada. A escolha depende de vários fatores como a familiaridade dos programadores com a linguagem, a portabilidade, etc.
Atualmente a linguagem de programação mais usada para desenvolvimento de jogos é C++, mas em geral são muito usados qualquer tipo de linguagem orientada a objetos. Alguns jogos podem também usar linguagem Assembly para priorizar principalmente a performance e uma comunicação mais direta com o hardware.
Linguagens de script também são usadas, principalmente quando se trabalha com engines, é comum criar algumas versões reduzidas da linguagem C, ou linguagens já existentes como Lua e Python.
Algoritmo de um jogo (xadrez)
Algoritmo Minimax
• GERMOV (posição, jogador) - gera todas as jogadas válidas a partir da situação do jogo definida por posição e considerando que a jogada atual é de jogador.
• ESTÁTICA (posição, jogador) - retorna um valor que quantifica o estado atual das peças do jogo.
– A função de avaliação é em relação ao jogador que faria a jogada
– Quanto maior o valor melhor a situação
• PROFUNDO_SUFICIENTE (posição, profundidade) - pode considerar vários fatores:
– número de níveis na árvore
– um jogador ganhou
– quão promissor é o caminho
– quanto tempo ainda há disponível para a jogada
MINIMAX (posição, profundidade, jogador)
1- se profundo_suficiente (posição, profundidade) então retorna estrutura: valor ← estática (posição, jogador) caminho ← nil senão SUCESSORES ← GERMOV (posição, jogador)
2- se SUCESSORES = ∅ então retorna estrutura: VALOR ← ESTÁTICA (posição, jogador)
CAMINHO ← nil senão MELHOR_CONTAGEM ← valor mínimo de ESTÁTICA (x,y) para cada elemento SUC de SUCESSORES faça:
RESULTADO_SUC←MINIMAX(SUC,profundidade+1,OPOSTO(jogador))
NOVO_VALOR ← - VALOR.RESULTADO_SUC
se