Sei sulla pagina 1di 9

Como Criar um Simples Jogo de

Computador Usando Scripts em Batch


Batch Script uma linguagem bsica de scripts que roda em qualquer
sistema operacional Windows ou MS-DOS. Suas funes so baseadas nos
comandos para as linhas de comando destes sistemas operacionais. Alm
disso, algo muito legal. Criar um jogo com este script no algo to difcil,
tudo o que preciso um pouco de tempo e criatividade.
Ateno: para que este projeto funcione corretamente, voc precisar do
Windows 2000 ou alguma verso posterior, visto que ele no funcionar em
verses mais antigas do Windows ou MS-DOS. Verses mais antigas no so
compatveis com os scripts em batch modernos.

Passos

Decida qual jogo deseja desenvolver. Antes de optar por criar um jogo de tiros e
ao ou um jogo no qual voc utiliza o mouse para apntar e clicar em algo, saiba

que mesmo na verso 8 do MS-DOS, o batch script possui srias limitaes quanto s
suas capacidades. Voc no ser capaz de criar mais do que um jogo baseado em
texto. Pode ser um quiz (jogo de perguntas e respostas) ou um jogo de cenrio, mas
voc apenas ter textos. Quanto a possuir ou no grficos em ASCII, depender
apenas de voc, mas o jogo continuar sendo inteiramente baseado em entrada de
texto.
Anncio

Aprenda sobre o script. Aprender sobre o script em si no to difcil - voc


pode inclusive aprender simplesmente observando outro programa. Para aprender

qualquer linguagem de script, necessrio conhecer alguns comandos bsicos da linha


de comandos de seu computador. Os comandos dos quais voc precisar so:
echo
color
title
goto
if
set
labeling (no um comando, mas a forma de definir labels ou
rtulos)

Aprenda como utilizar os comandos acima.


O echo (ecoar) um comando utilizado para imprimir algum texto no console.
Abaixo, o comando echo imprime o texto "Ol, Mundo!".

echo Ol, Mundo!


O comando color (cor) utilizado para mudar a cor do texto na linha de
comando. Isto no muito til e provavelmente no deveria merecer sua
ateno at que voc tivesse concludo o seu jogo em si, mas os resultados

das mudanas de cor podem ser bem atraentes. As cores na linha de


comandos do DOS so numeradas. Existe uma tabela com as cores e seus
nmeros no final deste artigo. O seguinte comando ir modificar a cor do texto
para um plano de fundo preto e letras verdes.

color 02
O comando title (ttulo) simplesmente modifica o nome da janela que aparece
em sua barra de ttulos, bem como na barra de tarefas, no sendo muito til;
porm, pode fazer com que o seu programa tenha um aspecto mais
profissional. Utilizando-o da seguinte forma, voc poder alterar o ttulo da
janela para "Programa Divertido".

title Programa Divertido


O comando goto (v para) utilizado para ir para uma determinada parte do
programa. Voc utilizar este comando para determinar o que acontecer
quando determinadas respostas forem escolhidas para as perguntas. Para
utilizar o comando goto para ir ao label "ERRADO":

goto ERRADO
O comando if (se) utilizado para determinar o que ir acontecer caso um
determinado evento ocorra. Aps a instruo if (if [algo]), um comando ser
executado a seguir. No caso da instruo if, se um determinado evento for
verdadeiro, o comando em seguida ser executado. Voc estar utilizando esta
instruo condicional para determinar qual comando goto dever ser utilizado.
Esta condio if ser verdadeira se a entrada for igual a 12:

if %input%==12 (comando)
O comando set bem complicado, visto que pode ser utilizado de diversas
formas. Por hora, tudo o que voc precisa saber sobre este comando que
poder utiliz-lo para fazer com que o computador receba dados de entrada.
Para fazer isso:

set /p input=(Pergunta)
Finalmente, labeling (rotulagem). O labeling pode ser utilizado para rotular ou
nomear certas partes do programa de forma que voc possa utilizar o comando
goto. Voc pode nomear certas partes do programa da forma como desejar,
contanto que o nome utilizado no seja um comando. Para rotular ou utilizar
um label em uma seo "main" (principal), digite o seguinte:

:MAIN
Sees rotuladas (utilizando-se labels) incluem o label em si e todo o
cdigo que a segue at que um outro label seja apresentado ou o
arquivo chegue ao fim. Certifique-se de posicionar seu label antes da
seo a ser rotulada ou nomeada e outro label em seguida, de forma
que o computador entenda qual seo est sendo rotulada com um
label. Confira o exemplo a seguir:

@echo off
:LABEL1
echo ESTE UM TESTE DE TEXTO
set/p input=ESTA UM TESTE DE ENTRADA_
if %input%==1 goto LABEL1
goto LABEL2
:LABEL2

echo TESTE
A primeira linha do programa acima pode ser confusa para voc. Esta
linha desabilita o display de cdigos dentro do arquivo, de forma que
no parea que tudo foi digitado em um console. A partir de agora
temos o que realmente importa, onde determinaremos o que o
programa de fato far (ignore a primeira linha). O programa
apresentar o texto "ESTE UM TESTE DE TEXTO" e depois lhe
pedir que entre com alguma informao. Se a entrada for "1"
(significando que voc digitou 1), o programa ir lhe retornar para o
LABEL1 e executar os comandos abaixo deste label novamente. Se a
condio da instruo if no for atendida, ir imprimir o texto "TESTE"
no console. Copie o programa acima em duas janelas distintas do
bloco de notas. Em uma delas, salve o arquivo com o nome de
TESTE1 em qualquer diretrio e execute-o. Perceba como o texto
apresentado. Na segunda janela do bloco de notas, apague a primeira
linha, salve o arquivo como TESTE2 e execute-o. Percebe a
diferena?
Uma vez que voc tenha um entendimento geral sobre como os comandos
acima podem ser utilizados, voc pode avanar para o prximo passo.

Comece a criar o script de seu jogo. Para iniciantes, sugere-se que utilizem o
bloco de notas, mas se voc quiser utilizar o MS DOS EDIT, sinta-se livre para tal.

Tambm sugerido para um iniciante que inicie com um jogo bsico de quiz (perguntas
e respostas), e isso que este artigo lhe ensinar a fazer. Lembre-se de iniciar
desabilitando o echo. Em seguida, apresente o seu jogo com algum texto atravs do
comando echo; depois, utilize o comando set para permitir alguma entrada que ser
utilizada com o comando goto. Isso pode parecer confuso, portanto observe abaixo
(obs: o comando REM significa uma linha de comentrio no cdigo, ou seja, uma linha
apenas para explicar o que est sendo feito para o programador, sem executar
nenhuma operao):

@echo off
:MAIN
echo.
REM (Isto apenas cria uma linha vazia.)
echo.
echo.
echo Bem vindo ao meu jogo bsico de perguntas.
echo.
echo Para iniciar o jogo, digite A e pressione ENTER.
echo Para ver as instrues do jogo, digite B e pressione ENTER.
echo Para sair, digite C e pressione ENTER.
set /p input=COMANDO?
if %input%==A goto JOGO
if %input%==B goto INST
if %input%==C exit

Trabalhe na pgina de instrues. Neste ponto, voc deve salvar o seu arquivo
(salve-o como algumacoisa.bat); em seguida, ponha-o em um diretrio que voc

tenha criado para o jogo. Aps salv-lo, execute-o e certifique-se de que esteja
funcionando.

A partir deste momento, voc passar a ter mltiplos arquivos por jogo
(especialmente se quiser ter grficos ASCII). Voc pode pegar o batch script

para imprimir o contedo de qualquer arquivo na tela com o comando type. O comando
a seguir ir imprimir na tela o contedo do arquivo TESTE.txt:

type teste.txt
importante lembrar-se de incluir a extenso do arquivo, ou o comando poder
no funcionar apropriadamente. Crie uma pgina de instrues no bloco de
notas. Nela dever constar algo como:

Este um jogo bsico de perguntas. Quando lhe for feita


uma pergunta, lhe sero apresentadas algumas respostas das
quais voc dever escolher uma de acordo com suas letras A,
B, C ou D. Faa sua escolha e pressione ENTER. Certifique-se
de digitar a letra da resposta em LETRA MAISCULA!
Salve este arquivo como INST.txt no diretrio onde se encontra o arquivo batch
criado anteriormente; em seguida, faa com que o seu jogo imprima o texto no
console atravs da pgina de instrues.

@echo off
:MAIN
echo.
echo.
echo.
echo Bem vindo ao meu jogo bsico de perguntas.
echo.
echo Para iniciar o jogo, digite A e pressione ENTER.
echo Para ver as instrues do jogo, digite B e pressione ENTER.
echo Para sair, digite C e pressione ENTER.
set /p input=COMANDO?
if %input%==A goto JOGO
if %input%==B goto INST
if %input%==C exit
:INST
type INST.txt
echo.
echo.
echo Para iniciar o jogo, digite A e pressione ENTER.
echo Para voltar tela principal, digite B e pressione ENTER.
echo Para sair, digite C e pressione ENTER.
set /p input=COMANDO?
if %input%==A goto JOGO
if %input%==B goto MAIN
if %input%==C exit
Execute o programa e certifique-se de que esteja funcionando.

Trabalhe no contedo do jogo em si. aqui que a maior parte de sua


criatividade/pesquisa, trabalho e tempo sero gastos enquanto estiver trabalhando

neste jogo, bem como onde a maior parte do script do jogo deveria estar. Dever haver
um local para onde ir quando voc receber uma resposta errada e um local para onde ir
quando receber uma resposta correta. O cdigo abaixo possui 3 perguntas bsicas
sobre o exterior de um carro. Voc poder substitu-las pelo que desejar. (Obs: o
comando REM significa uma linha de comentrio no cdigo, ou seja, uma linha apenas
para explicar o que est sendo feito para o programador, sem executar nenhuma
operao.)

@echo off
:MAIN
echo.
echo.
echo.
echo Bem vindo ao meu jogo bsico de
echo.
echo Para iniciar o jogo, digite A e
echo Para ver as instrues do jogo,
echo Para sair, digite C e pressione
set /p input=COMANDO?

perguntas.
pressione ENTER.
digite B e pressione ENTER.
ENTER.

if %input%==A goto JOGO


if %input%==B goto INST
if %input%==C exit
:INST
type INST.txt
echo.
echo.
echo Para iniciar o jogo, digite A e pressione ENTER.
echo Para voltar tela principal, digite B e pressione ENTER.
echo Para sair, digite C e pressione ENTER.
set /p input=COMANDO?
if %input%==A goto JOGO
if %input%==B goto MAIN
if %input%==C exit
:JOGO
echo Na maioria dos carros, o motor est localizado sob o...
echo A. Porta-malas
echo B. Cap
echo C. Teto
echo D. Roda
set /p input=RESPOSTA?
if %input%==B goto 2
goto ERRADO
:ERRADO
echo Sinto muito, est incorreto. Pressione qualquer tecla para voltar tela principal.
pause
REM (isto ir pausar o programa at que alguma tecla seja digitada)
goto MAIN
:2
echo As luzes traseiras esto localizadas na extremidade XXXXXXXX do carro.
echo A. Traseira
echo B. Dianteira
echo C. Esquerda
echo D. Direita
set /p input=RESPOSTA?
if %input%==A goto 3
goto ERRADO
:3
echo O que fazem os limpadores de pra-brisa?
echo A. Servem de lastro em carros submersveis
echo B. Retiram o p do carro usando pequenos ventiladores
echo C. Limpam o pra-brisa da gua ou sujeira
echo D. Serve como decorao
set/p input=RESPOSTA?
if %input%==C goto WIN
goto ERRADO

Execute o programa e certifique-se de que esteja funcionando.

Crie uma tela de vitria. Criar uma tela de vitria to simples quanto a tela de
instrues. Crie um documento de texto com uma frase para quem vencer e salve-

o como VITORIA.txt no diretrio onde se encontra o arquivo batch. Adicione as


seguintes linhas ao final de seu jogo para inserir a tela de vitria:

:VITORIA
type VITORIA.txt
echo.
echo.
set/p input=RETORNAR TELA INICIAL?(S/N)?
if %input%==S goto MAIN
if %input%==N exit

O seu jogo dever agora parecer com o cdigo a seguir:

@echo off
:MAIN
echo.
echo.

echo.
echo Bem vindo ao meu jogo bsico de perguntas.
echo.
echo Para iniciar o jogo, digite A e pressione ENTER.
echo Para ver as instrues do jogo, digite B e pressione ENTER.
echo Para sair, digite C e pressione ENTER.
set /p input=COMANDO?
if %input%==A goto JOGO
if %input%==B goto INST
if %input%==C exit
:INST
type INST.txt
echo.
echo.
echo Para iniciar o jogo, digite A e pressione ENTER.
echo Para voltar tela principal, digite B e pressione ENTER.
echo Para sair, digite C e pressione ENTER.
set /p input=COMANDO?
if %input%==A goto JOGO
if %input%==B goto MAIN
if %input%==C exit
:JOGO
echo Na maioria dos carros, o motor est localizado sob o...
echo A. Porta-malas
echo B. Cap
echo C. Teto
echo D. Roda
set /p input=RESPOSTA?
if %input%==B goto 2
goto ERRADO
:ERRADO
echo Sinto muito, est incorreto. Pressione qualquer tecla para voltar tela principal.
pause
REM (isto ir pausar o programa at que alguma tecla seja digitada)
goto MAIN
:2
echo As luzes traseiras esto localizadas na extremidade XXXXXXXX do carro.
echo A. Traseira
echo B. Dianteira
echo C. Esquerda
echo D. Direita
set /p input=RESPOSTA?
if %input%==A goto 3
goto ERRADO
:3
echo O que fazem os limpadores de pra-brisa?
echo A. Servem de lastro em carros submersveis
echo B. Retiram o p do carro usando pequenos ventiladores
echo C. Limpam o pra-brisa da gua ou sujeira
echo D. Serve como decorao
set/p input=RESPOSTA?
if %input%==C goto WIN
goto ERRADO
:VITORIA
type VITORIA.txt
echo.
echo.
set/p input=RETORNAR TELA INICIAL?(S/N)??
if %input%==S goto MAIN
if %input%==N exit

Execute o programa e certifique-se de que esteja funcionando.

10

Faa os ajustes em seu arquivo. Comece indo em cada label e colocando o


comando cls aps os mesmos. Isto limpar a tela a cada label de forma que

voc no acabe com uma tela cheia de informaes desnecessrias.

:MAIN
cls

11

Faa correes gramaticais onde for necessrio. Se quiser, faa com que
todas as respostas na lista sejam frases completas. Evite abreviaes nos

comandos echo do batch script! Voc tambm deve evitar o uso de barras e o uso de
sinais de maior/menor que, asteriscos, smbolos de porcentagem e qualquer outro
smbolo estranho. Estes smbolos iro criar um erro de sintaxe que far com que o
programa pare, fique lento ou feche inesperadamente.

12

Crie grficos para o jogo caso deseje. Gere arte em ASCII em um arquivo
de texto separado e utilize o comando type para apresentar o seu contedo no

programa:

:3
cls
type LIMPADORASCII.txt
echo O que fazem os limpadores de pra-brisa?
echo A. Servem de lastro em carros submersveis
echo B. Retiram o p do carro usando pequenos ventiladores
echo C. Limpam o pra-brisa da gua ou sujeira
echo D. Serve como decorao
set/p input=RESPOSTA?
if %input%==C goto VITORIA
goto ERRADO

13

Faa a correo de quaisquer erros de digitao que voc encontre.


Pense em suas prprias coisas a serem corrigidas. Em seguida, adicione cores

com o comando color. Recomenda-se que voc o posicione no incio do cdigo, de


forma que o programa inteiro tenha esta cor. Aqui vai a explicao de como utiliz-las
diretamente da linha de comandos:
Define as cores de frente e de fundo padres do console.
COLOR [attr]
attr Especifica o atributo da cor de sada do console
Atributos de cor so especialmente compostos de DOIS dgitos
hexadecimais -- o primeiro corresponde cor de fundo; o segundo cor
de frente (caracteres). Cada dgito pode receber qualquer um dos
seguintes valores:
0 = Preto 8 = Cinza 1 = Azul 9 = Azul Claro 2 = Verde A = Verde Claro 3
= Azul gua B = Azul gua Claro 4 = Vermelho C = Vermelho Claro 5 =
Roxo D = Roxo Claro 6 = Amarelo E = Amarelo Claro 7 = Branco F = Branco
Brilhante
Se nenhum argumento for passado, este comando passar a utilizar as
cores de quando o CMD.EXE foi inciado. Este valor pode vir tanto da
janela de console atual, quanto do switch /T da linha de comandos ou
mesmo do valor do registro DefaultColor (Cor Padro).
Em outras palavras, se voc deseja utilizar um fundo de branco brilhante e um
texto preto:

@echo off
color f0
:MAIN
cls
echo.

14

Parabns, voc acaba de criar um jogo simples de computador com


batch script!

Anncio

Dicas
Salve frequentemente seu arquivo. Voc poder arrepender-se se no
o fizer.
Tente criar tantas verses do jogo quanto possvel, de forma que voc
possa compar-las e ver se existe algum erro. No se preocupe sobre
quanto espao isso ir consumir, pois arquivos batch so muito
pequenos.
Voc pode definir variveis utilizando "set nomedavariavel=valor" ou
solicitar que o usurio insira um valor e armazene-o como uma
varivel, onde ao invs de "set /p input=blahblahblah" voc utilizaria
"set /p nomedavariavel=blahblahblah".
Batch divertido, mas no foi feito para jogos. Se voc deseja avanar
para algo um pouco mais complexo, porm muito mais poderoso,
experimente a linguagem de programao Python.
Anncio

Avisos
NUNCA insira nenhum comando de MS-DOS no comando echo, visto
que eles sero executados. Lembre-se de que tudo o que for
apresentado pela linha de comando um echo!
NUNCA insira qualquer comando de MS-DOS nos arquivos de texto
que sero apresentados no console do programa. Arquivos de texto
resolvem alguns problemas, tais como as barras e asteriscos, mas
comandos neles continuaro sendo interpretados pelo sistema.
Muitas vezes foi dito que ilegal enviar arquivos batch pela internet.
De maneira alguma isto verdade, mas esteja ciente do fato de que
voc pode ter problemas ao tentar enviar arquivos maliciosos pela
internet (ex: arquivos batch que danifiquem computadores, deletem
arquivos vitais de sistemas, etc.). Eles no so chamados de vrus,
mas continuam sendo prejudiciais e voc pode ter srios problemas
por conta deles.

WikiHows Relacionados
Criar a Chuva de Cdigos de Matrix com o Prompt de Comando
Escrever um Arquivo em Lote

Sobre o Artigo
Categorias: Artigos em Destaque | Programao | Desenvolvimento de Jogos
ltimas edies feitas por: Gustavo Henrique dos Santos, Sabrina L. Furtado,
Rafael Bemerguy
Noutras lnguas:
English: How to Build a Simple Computer Game Using Batch Script
Anncio

Esta pgina foi acessada 17 760 vezes.

Artigo
em
Destaque

Potrebbero piacerti anche