>> Tecnologia Eletrônica >  >> Casa Inteligente >> Vida Inteligente

Jogos Fáceis de Fazer em QBasic

BASIC, que significa Beginner's All-Purpose Symbolic Instruction Code, ainda é a linguagem de programação mais conhecida para iniciantes absolutos, e QBasic é um interpretador simples para ela através do qual você pode escrever e rodar programas. Ainda existe uma comunidade considerável de entusiastas de QBasic, e aprender a fazer jogos em QBasic ensina fundamentos de programação e é muito divertido.

Começando com QBasic

Se você não tem QBasic no seu sistema, pode baixar a versão original no Pete's QB Site (veja Recursos), ou uma versão mais recente chamada QB64 projetada para ser compatível com a original. Ao abri-lo, você será apresentado com uma tela azul. Digite o seguinte:

CLS
PRINT "Hello, world!"
INPUT "What's your name?"; name$
PRINT "Hello, "; name$; "!"
END

Depois pressione Shift + F5 para rodar o programa. Aqui está o que acontece:

"CLS" significa "clear screen" (limpar tela) e garante que seu programa comece com uma tela em branco; caso contrário, você verá restos do programa anterior.

"PRINT" simplesmente imprime uma string de texto na tela. Se estiver apenas imprimindo um número, não precisa das aspas.

"INPUT" é uma forma de pedir entrada do usuário. O final da linha, "name$", é uma variável: é onde a resposta do usuário será armazenada. Você pode chamá-la como quiser; variáveis que contêm texto devem terminar com "$", e variáveis que contêm apenas números devem terminar com "%".

A segunda linha "PRINT" imprime texto junto com o que o usuário digitou.

"END", previsivelmente, encerra o programa.

Jogos de Adivinhação em QBasic

Digite o seguinte código no QBasic:

CLS
chances% = 1
RANDOMIZE TIMER
number% = INT(RND * 10) + 1
PRINT "I'm thinking of a number from 1 to 10. You have three chances to get it right."

DO WHILE chances% < 4
PRINT
PRINT "You're on chance #"; chances%; "."
PRINT
INPUT "Guess the number"; guess%
IF guess% = number% THEN GOTO youwin
ELSEIF guess% < number% THEN PRINT "Too low."
ELSEIF guess% > number% THEN PRINT "Too high."
ELSE PRINT "There's been an error. Try again."
END IF
chances% = chances% + 1
LOOP

PRINT
PRINT "You ran out of chances! Sorry!"
END

youwin:
PRINT
PRINT "You guessed the number! The number was"; number%; "!"
END

Neste jogo, o programa cria um número aleatório de 1 a 10 e oferece três chances de acertar, dando dicas após as duas primeiras tentativas. Inclui muitos conceitos de programação.

Após limpar a tela, "chances% = 1" cria uma variável numérica e a define como 1. Isso rastreará todas as chances que o jogador tem de adivinhar o número.

As próximas duas linhas criam o número aleatório. "RANDOMIZE TIMER" é simplesmente o método que o QBasic usa para aleatorizar seus números. A próxima linha, "number% = INT(RND * 10) + 1", cria um número aleatório de 1 a 10 e o armazena na variável number%. Parece complicado, mas basicamente está dizendo "Faça um dos primeiros dez inteiros positivos". O "+ 1" no final garante que o número será de 1 a 10 e não de 0 a 9.

A linha "DO WHILE..." cria um loop. Sempre que vir uma linha começando com "DO", role um pouco até encontrar uma linha que diz "LOOP". Tudo entre essas linhas continuará loopando repetidamente até que uma certa condição seja atendida — neste caso, até chances% não ser mais menor que quatro (ou "< 4" em linguagem de programação).

O programa então pede um palpite com o comando INPUT, armazena em guess%, e processa com o método "IF...THEN...ELSE". Como você pode ver, funciona logicamente: "SE uma afirmação é verdadeira, ENTÃO faça isso; SENÃO SE outra afirmação é verdadeira, faça isso; SENÃO qualquer outra coisa é verdadeira, faça isso".

O único aspecto extra é o comando GOTO. Neste caso, se o número estiver correto, o programa vai para a seção do documento rotulada "youwin".

Logo antes do final do loop, há a linha "chances% = chances% + 1". Isso garante que o loop só rode três vezes.

Se o loop rodar três vezes e o jogador nunca foi enviado para a seção "youwin", o jogador perde, então logo após o loop há uma linha informando a perda. Abaixo está a seção "youwin", declarada apenas escrevendo o nome da seção com dois pontos.

Mais Ideias de Jogos

Com PRINT, INPUT, IF...THEN...ELSE e GOTO, você tem tudo que precisa para criar uma aventura de texto fácil. Aqui está um código de exemplo:

house:
INPUT "You're standing in a house. What would you like to do"; choice$
IF choice$ = "go upstairs" THEN GOTO upstairs
ELSE GOTO house

Tente torná-lo o mais complexo possível com base no que você sabe. E para mais inspiração, a web oferece muitos downloads gratuitos de jogos QBasic. Jogue-os e examine o código por trás deles para aprender novas técnicas e obter ideias.