• Nenhum resultado encontrado

Como Criar Um Simples Jogo de Computador Usando Scripts Em Batch

N/A
N/A
Protected

Academic year: 2021

Share "Como Criar Um Simples Jogo de Computador Usando Scripts Em Batch"

Copied!
9
0
0

Texto

(1)

Como Criar um Simples Jogo de

Como Criar um Simples Jogo de

Computador Usando Scripts em Batch

Computador Usando Scripts em Batch

Batch Script é uma linguagem básica de scripts que roda

Batch Script é uma linguagem básica de scripts que roda

em qualquer 

em qualquer 

sistema operacional Windows ou MS-DOS. Suas

sistema operacional Windows ou MS-DOS. Suas

funções são baseadas nos

funções são baseadas nos

comandos para as linhas de

comandos para as linhas de

comando destes sistemas operacionais. Além

comando destes sistemas operacionais. Além

disso, é algo muito legal. Criar um jogo com este script não é algo tão difícil,

disso, é algo muito legal. Criar um jogo com este script não é algo tão difícil,

tudo o que é preciso é

tudo o que é preciso é

um pouco de tempo e criatividade.

um pouco de tempo e criatividade.

 Atenção: para que e

 Atenção: para que e

ste projeto funcione corre

ste projeto funcione corre

tamente, você precisa

tamente, você precisa

rá do

rá do

Windows 2000 ou alguma versão posterior, visto que ele não funcionará em

Windows 2000 ou alguma versão posterior, visto que ele não funcionará em

versões mais antigas do Windows ou MS-DOS. Versões mais antigas não são

versões mais antigas do Windows ou MS-DOS. Versões mais antigas não são

compatíveis com os scripts em

compatíveis com os scripts em

batch modernos.

batch modernos.

1

1

2

2

3

3

Decida qual jogo deseja desenvolver.

Decida qual jogo deseja desenvolver. Antes de optar por criar um jogo de tiros e Antes de optar por criar um jogo de tiros e ação ou um jogo no qual você utiliza o mouse para

ação ou um jogo no qual você utiliza o mouse para apntar e clicar em algo, saibaapntar e clicar em algo, saiba

que mesmo na versão 8 do MS-DOS, o

que mesmo na versão 8 do MS-DOS, o batch script possui sérias limitações quanto àsbatch script possui sérias limitações quanto às

suas capacidades. Você não se

suas capacidades. Você não será capaz de criar mais do que rá capaz de criar mais do que um jogo baseado emum jogo baseado em

texto. Pode ser um quiz (jogo d

texto. Pode ser um quiz (jogo de perguntas e respostas) ou um jogo de e perguntas e respostas) ou um jogo de cenário, mascenário, mas

você apenas terá textos. Quanto a possuir ou não gráficos em ASCII, dependerá

você apenas terá textos. Quanto a possuir ou não gráficos em ASCII, dependerá

apenas de você, mas o jogo continuará sendo inteiramente baseado em entrada de

apenas de você, mas o jogo continuará sendo inteiramente baseado em entrada de

texto.

texto.  Anúncio

 Anúncio

Aprenda sobre o script.

Aprenda sobre o script. Aprender sobre o script em si não  Aprender sobre o script em si não é tão difícil - vocêé tão difícil - você pode inclusive aprender simplesmente observando outro programa. Para aprender 

pode inclusive aprender simplesmente observando outro programa. Para aprender 

qualquer linguagem de script, é

qualquer linguagem de script, é necessário conhecer alguns comandos básicos da linhanecessário conhecer alguns comandos básicos da linha

de comandos de seu

de comandos de seu computador. Os comandos dos quais você precisará são:computador. Os comandos dos quais você precisará são:

echo echo color color title title goto goto if if set set

labeling (não é um comando, mas a forma de definir labels ou

labeling (não é um comando, mas a forma de definir labels ou

rótulos)

rótulos)

Aprenda como utilizar os comandos acima.

Aprenda como utilizar os comandos acima. O

Oechoecho (ecoar) é um  (ecoar) é um comando utilizado para imprimir algum texto no console.comando utilizado para imprimir algum texto no console.  Abaixo, o comand

 Abaixo, o comando echo imprime o texo echo imprime o texto "Olá, Mundo!".to "Olá, Mundo!".

echo

echo Olá, Mundo Olá, Mundo!! O comando

O comandocolor color  (cor) é utilizado para mudar a  (cor) é utilizado para mudar a cor do texto na linha decor do texto na linha de comando. Isto não é muito útil e provavelmente não deveria merecer sua

comando. Isto não é muito útil e provavelmente não deveria merecer sua

atenção até que você tivesse concluído o seu jogo em si, mas os resultados

atenção até que você tivesse concluído o seu jogo em si, mas os resultados

Passos

(2)

das mudanças de cor podem ser bem atraentes. As cores na linha de comandos do DOS são numeradas. Existe uma tabela com as cores e seus números 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 comandotitle (título) simplesmente modifica o nome da janela que aparece em sua barra de títulos, bem como na barra de tarefas, não sendo muito útil; porém, pode fazer com que o seu programa tenha um aspecto mais

profissional. Utilizando-o da seguinte forma, você poderá alterar o título da  janela para "Programa Divertido".

title Programa Divertido

O comandogoto (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 comandoif  (se) é utilizado para determinar o que irá acontecer caso um

determinado evento ocorra. Após a instrução if (if [algo]), um comando será executado a seguir. No caso da instrução if, se um determinado evento for  verdadeiro, o comando em seguida será executado. Você estará utilizando esta instrução condicional para determinar qual comando goto deverá ser utilizado. Esta condição if será verdadeira se a entrada for igual a 12:

if %input%==12 (comando)

O comandoset  é 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 não seja um comando. Para rotular ou utilizar  um label em uma seção "main" (principal), digite o seguinte:

:MAIN

Seções rotuladas (utilizando-se labels) incluem o label em si e todo o código que a segue até que um outro label seja apresentado ou o arquivo chegue ao fim. Certifique-se de posicionar seu labelantes da

seção a ser rotulada ou nomeada e outro label em seguida, de forma que o computador entenda qual seção 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

(3)

4

5

6

echo TESTE

 A primeira linha do programa acima pode ser confusa para você. Esta linha desabilita o display de códigos dentro do arquivo, de forma que não pareça 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 informação. 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 condição da instrução if não 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 diretório 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

diferença?

Uma vez que você tenha um entendimento geral sobre como os comandos acima podem ser utilizados, você pode avançar para o próximo 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. Também é sugerido para um iniciante que inicie com um jogo básico 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 através 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 comandoREM significa uma linha de comentário no código, ou seja, uma linha apenas para explicar o que está sendo feito para o programador, sem executar  nenhuma operação):

@echo off :MAIN echo.

REM (Isto apenas cria uma linha vazia.)

echo.

echo.

echo Bem vindo ao meu jogo básico de perguntas.

echo.

echo Para iniciar o jogo, digite A e pressione ENTER.

echo Para ver as instruções 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 página de instruções. Neste ponto, você deve salvar o seu arquivo

(salve-o como algumacoisa.bat); em seguida, ponha-o em um diretório que você tenha criado para o jogo. Após salvá-lo, execute-o e certifique-se de que esteja funcionando.

A partir deste momento, você passará a ter múltiplos arquivos por jogo (especialmente se quiser ter gráficos ASCII). Você pode pegar o batch script para imprimir o conteúdo de qualquer arquivo na tela com o comando type. O comando a seguir irá imprimir na tela o conteúdo do arquivo TESTE.txt:

(4)

7

type teste.txt

É importante lembrar-se de incluir a extensão do arquivo, ou o comando poderá não funcionar apropriadamente. Crie uma página de instruções no bloco de notas. Nela deverá constar algo como:

Este é um jogo básico de perguntas. Quando lhe for feita uma pergunta, lhe serão apresentadas algumas respostas das quais você deverá escolher uma de acordo com suas letras A, B, C ou D. Faça sua escolha e pressione ENTER. Certifique-se de digitar a letra da resposta em LETRA MAIÚSCULA !

Salve este arquivo como INST.txt no diretório onde se encontra o arquivo batch criado anteriormente; em seguida, faça com que o seu jogo imprima o texto no console através da página de instruções.

@echo off :MAIN echo.

echo.

echo.

echo Bem vindo ao meu jogo básico de perguntas.

echo.

echo Para iniciar o jogo, digite A e pressione ENTER.

echo Para ver as instruções 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 conteúdo do jogo em si. É aqui que a maior parte de sua

criatividade/pesquisa, trabalho e tempo serão 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 código abaixo possui 3 perguntas básicas sobre o exterior de um carro. Você poderá substituí-las pelo que desejar. (Obs: o comandoREM significa uma linha de comentário no código, ou seja, uma linha apenas para explicar o que está sendo feito para o programador, sem executar nenhuma operação.) @echo off :MAIN echo. echo. echo.

echo Bem vindo ao meu jogo básico de perguntas.

echo.

echo Para iniciar o jogo, digite A e pressione ENTER.

echo Para ver as instruções do jogo, digite B e pressione ENTER.

echo Para sair, digite C e pressione ENTER.

(5)

8

9

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

pause

REM (isto irá pausar o programa até que alguma tecla seja digitada)

goto MAIN :2

echo As luzes traseiras estão localizadas na extremidade XXXXXXXX do c

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 pára-brisa?

echo A. Servem de lastro em carros submersíveis

echo B. Retiram o pó do carro usando pequenos ventiladores

echo C. Limpam o pára-brisa da água ou sujeira

echo D. Serve como decoração

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 vitória. Criar uma tela de vitória é tão simples quanto a tela de instruções. Crie um documento de texto com uma frase para quem vencer e salve-o csalve-omsalve-o VITORIA.txt nsalve-o diretórisalve-o salve-onde se encsalve-ontra salve-o arquivsalve-o batch. Adicisalve-one as

seguintes linhas ao final de seu jogo para inserir a tela de vitória:

: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 código a seguir:

@echo off :MAIN echo.

(6)

10

echo.

echo Bem vindo ao meu jogo básico de perguntas.

echo.

echo Para iniciar o jogo, digite A e pressione ENTER.

echo Para ver as instruções 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

pause

REM (isto irá pausar o programa até que alguma tecla seja digitada)

goto MAIN :2

echo As luzes traseiras estão localizadas na extremidade XXXXXXXX do c

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 pára-brisa?

echo A. Servem de lastro em carros submersíveis

echo B. Retiram o pó do carro usando pequenos ventiladores

echo C. Limpam o pára-brisa da água ou sujeira

echo D. Serve como decoração

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.

Faça os ajustes em seu arquivo. Comece indo em cada label e colocando o

comando cls após os mesmos. Isto limpará a tela a cada label de forma que você não acabe com uma tela cheia de informações desnecessárias.

:MAIN

(7)

11

12

13

Faça correções gramaticais onde for necessário. Se quiser, faça com que todas as respostas na lista sejam frases completas.Evite abreviações nos comandos echo do batch script! Você também deve evitar o uso de barras e o uso de

sinais de maior/menor que, asteriscos, símbolos de porcentagem e qualquer outro símbolo estranho. Estes símbolos irão criar um erro de sintaxe que fará com que o programa pare, fique lento ou feche inesperadamente.

Crie gráficos para o jogo caso deseje. Gere arte em ASCII em um arquivo de texto separado e utilize o comando type para apresentar o seu conteúdo no programa:

:3

cls

type LIMPADORASCII.txt

echo O que fazem os limpadores de pára-brisa?

echo A. Servem de lastro em carros submersíveis

echo B. Retiram o pó do carro usando pequenos ventiladores

echo C. Limpam o pára-brisa da água ou sujeira

echo D. Serve como decoração

set/p input=RESPOSTA?

if %input%==C goto VITORIA

goto ERRADO

Faça a correção de quaisquer erros de digitação que você encontre.

Pense em suas próprias coisas a serem corrigidas. Em seguida, adicione cores com o comando color. Recomenda-se que você o posicione no início do código, de forma que o programa inteiro tenha esta cor. Aqui vai a explicação de como utilizá-las diretamente da linha de comandos:

Define as cores de frente e de fundo padrões do console. COLOR [attr]

attr Especifica o atributo da cor de saída do console

Atributos de cor são especialmente compostos de DOIS dígitos

hexadecimais -- o primeiro corresponde à cor de fundo; o segundo à cor de frente (caracteres). Cada dígito 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 Padrão).

Em outras palavras, se você deseja utilizar um fundo de branco brilhante e um texto preto: @echo off color f0 :MAIN cls echo.

(8)

14

Parabéns, você acaba de criar um jogo simples de computador com batch script!

 Anúncio

Salve frequentemente seu arquivo. Você poderá arrepender-se se não

o fizer.

Tente criar tantas versões do jogo quanto possível, de forma que você

possa compará-las e ver se existe algum erro. Nâo se preocupe sobre

quanto espaço isso irá consumir, pois arquivos batch são muito

pequenos.

Você pode definir variáveis utilizando "set nomedavariavel=valor" ou

solicitar que o usuário insira um valor e armazene-o como uma

variável, onde ao invés de "set /p input=blahblahblah" você utilizaria

"set /p nomedavariavel=blahblahblah".

Batch é divertido, mas não foi feito para jogos. Se você deseja avançar 

para algo um pouco mais complexo, porém muito mais poderoso,

experimente a linguagem de programação Python.

 Anúncio

NUNCA insira nenhum comando de MS-DOS no comando echo, visto

que eles serão 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 serão apresentados no console do programa. Arquivos de texto

resolvem alguns problemas, tais como as barras e asteriscos, mas

comandos neles continuarão 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 não são chamados de vírus,

mas continuam sendo prejudiciais e você pode ter sérios problemas

por conta deles.

Criar a Chuva de Códigos de Matrix com o Prompt de Comando

Escrever um Arquivo em Lote

Avisos

WikiHows Relacionados Dicas

(9)

Esta página foi acessada 17 760 vezes.

Artigo em Destaque Categorias: Artigos em Destaque | Programação | Desenvolvimento de Jogos

Últimas edições feitas por: Gustavo Henrique dos Santos, Sabrina L. Furtado, Rafael Bemerguy

Noutras línguas:

English: How to Build a Simple Computer Game Using Batch Script

 Anúncio

Referências

Documentos relacionados

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

Com intuito, de oferecer os gestores informações precisas atualizadas e pré-formatas sobre os custos que auxiliem nas tomadas de decisões corretas, nos diversos

 Rendimentos de trabalho por conta própria, os quais são os auferidos no exercício, de forma independente, de profissão em que predomine o carácter

ensino superior como um todo e para o curso específico; desenho do projeto: a identidade da educação a distância; equipe profissional multidisciplinar;comunicação/interatividade

Apresenta-se neste trabalho uma sinopse das espécies de Bromeliaceae da região do curso médio do rio Toropi (Rio Grande do Sul, Brasil), sendo também fornecida uma chave

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

A partir das análises realizadas no que tange às articulações entre processo formativo que enfatizou a ressignificação e aplicação, inferimos que a aplicação da SEA replanejada no