Aprenda o básico codificando um jogo
Este tutorial permite explorar o Básico escrevendo uma versão do jogo "adivinhe o número".
Escrever o mesmo aplicativo em vários idiomas é uma ótima maneira de aprender novas formas de programar. A maioria das linguagens de programação tem certas coisas em comum, como:
- Variáveis
- Expressões
- Declarações
Esses conceitos são a base da maioria das linguagens de programação. Depois de entendê-los, você pode começar a descobrir o resto.
As linguagens de programação geralmente compartilham algumas semelhanças. Depois de conhecer uma linguagem de programação, você poderá aprender o básico de outra, reconhecendo suas diferenças.
Praticar com um programa padrão é uma boa maneira de aprender um novo idioma. Ele permite que você se concentre na linguagem, não na lógica do programa. Estou fazendo isso nesta série de artigos usando um programa de “adivinhe o número”, no qual o computador escolhe um número entre um e 100 e pede que você o adivinhe. O programa faz um loop até você adivinhar o número corretamente.
Este programa exercita vários conceitos em linguagens de programação:
- Variáveis
- Entrada
- Saída
- Avaliação condicional
- rotações
É um ótimo experimento prático aprender uma nova linguagem de programação. Este artigo se concentra no Básico.
Adivinhe o número em (Bywater) Básico
Não existe um padrão real para a linguagem de programação Basic. A Wikipedia diz: "BASIC (Código de instrução simbólica para todos os fins para iniciantes) é uma família de linguagens de programação de alto nível e uso geral projetadas para facilidade de uso." A implementação BWBasic está disponível sob a GPL.
Você pode explorar o Básico escrevendo uma versão do jogo "adivinhe o número".
Instale o Básico no Linux
No Debian ou Ubuntu, você pode instalar o Basic com o seguinte:
$ apt install -y bwbasic
Baixe o tarball de versão mais recente para Fedora, CentOS, Mageia e qualquer outra distribuição Linux. Extraia-o, torne-o executável e execute-o em um terminal:
$ tar --extract --file bwbasic*z
$ chmod +x bywater
$ ./bywater
No Windows, baixe a versão .exe.
Código básico
Aqui está minha implementação:
10 value$ = cint(rnd * 100) + 1
20 input "enter guess"; guess$
30 guess$ = val(guess$)
40 if guess$ < value$ then print "Too low"
50 if guess$ > value$ then print "Too high"
60 if guess$ = value$ then 80
70 goto 20
80 print "That's right"
Os programas básicos podem ser numerados ou não. Normalmente, é melhor escrever programas sem numeração, mas escrevê-los com linhas numeradas facilita a referência a linhas individuais.
Por convenção, os codificadores escrevem linhas como múltiplos de 10. Esta abordagem permite interpolar novas linhas entre as existentes para depuração. Aqui está uma explicação do meu método acima:
- Linha 10: Calcula um valor aleatório entre 1 e 100 usando a função integrada rnd, que gera um número entre 0 e 1, não incluindo 1.
- Linha 20: Pede um palpite e coloca o valor na variável palpite$escalar. A linha 30 converte o valor em numérico.
- Linhas 40 e 50: Dê feedback ao adivinhador, dependendo da comparação.
- Linha 70: Vai para o início do loop.
- Linha 60: Quebrao loop transferindo o controle para a linha 80. A linha 80 é a última linha, então o programa sai depois disso.
Exemplo de saída
A seguir está um exemplo do programa depois de colocá-lo em program.bas
:
$ bwbasic program.bas
Bywater BASIC Interpreter/Shell, version 2.20 patch level 2
Copyright (c) 1993, Ted A. Campbell
Copyright (c) 1995-1997, Jon B. Volkoff
enter guess? 50
Too low
enter guess? 75
Too low
enter guess? 88
Too high
enter guess? 80
Too low
enter guess? 84
Too low
enter guess? 86
Too high
enter guess? 85
That's right
iniciar
Este jogo de “adivinhe o número” é um ótimo programa introdutório para aprender uma nova linguagem de programação porque exercita vários conceitos comuns de programação de uma forma bastante direta. Ao implementar este jogo simples em diferentes linguagens de programação, você pode demonstrar alguns conceitos básicos das linguagens e comparar seus detalhes.
Você tem uma linguagem de programação favorita? Como você escreveria o jogo "adivinhe o número" nele? Siga esta série de artigos para ver exemplos de outras linguagens de programação que podem lhe interessar!