Entrar
Últimos assuntos
Enquete
01 - Aulas do Tiago - Criando um jogo de adivinhar um numero aleatório
2 participantes
Página 1 de 1
01 - Aulas do Tiago - Criando um jogo de adivinhar um numero aleatório
Aprenda como criar um jogo super simples de adivinhação de numeros
Ferramente: Free Basic
Nível: Iniciante
Uploaded with ImageShack.us
Bem, eu sou super iniciante nessa linguagem, mas estou achando interessante, e estive trabalhando nesse jogo de adivinhação que é o que eu sempre crio primeiro quando estou aprendendo uma linguagem (já o fiz em: gml, Blitz3d, C, C++ e Java).
Ele é super simples, e no console do windows mesmo; gera um numero aleatório de 1 a 10 e pedi para você digitar qual é, enquanto você não assertar ele não para (depois se vocês quiserem criar um sistema de chances sintam-se avontade)
Vamos entende-lo agora:
Essa parte é o cabeçalho do jogo:
Essa parte gera uma variavel de escopo global (o parametro Shared que é quem altera o escopo para global) (escopo global = variavel ecessivel dentro das funções):
Essa parte gera uma variavel de escopo local, não funciona dentro das funções:
A função Ramdomize diz qual é o numero que o algoritimo da função Rnd deve usar como base;
Timer é o tempo que o pc tá ligado;
ou seja, o valor de base da função Rnd vai ser o tempo que o pc tá ligado, por que?
se eu colacar 3, por exemplo, então os numeros gerados pela função Rnd será a mesma sequencia sempre, quer ver? Tire o Timer e bote um numero. E por que a variavel Timer? Porque ela nunca vai ter o mesmo valor, ao não ser que o computador pare no tempo .
Rnd Gera um numero maior ou igual a zero ou menor que 1 ( 0<= Rnd <1), ai eu multiplico por dez e somo mais um (então fica um numero entre um e dez):
Função de interação com o jogador:
Loop do Jogo:
Se sair do Loop, que da no mesmo que acertar o numero sortiado:
espera uma tecla ser precionada para poder fechar o console:
Ferramente: Free Basic
Nível: Iniciante
Uploaded with ImageShack.us
Bem, eu sou super iniciante nessa linguagem, mas estou achando interessante, e estive trabalhando nesse jogo de adivinhação que é o que eu sempre crio primeiro quando estou aprendendo uma linguagem (já o fiz em: gml, Blitz3d, C, C++ e Java).
Ele é super simples, e no console do windows mesmo; gera um numero aleatório de 1 a 10 e pedi para você digitar qual é, enquanto você não assertar ele não para (depois se vocês quiserem criar um sistema de chances sintam-se avontade)
- Código:
Print "----- Adivinhe se puder ------"
Print""
Print "O computador vai gerar um numero de um a dez"
Print "Voce e capaz de descobri-lo?"
Print ""
Dim Shared As Byte numero ''cria variaveis globais e externas as funções
Dim As Byte vale = 0
Randomize Timer ''coloca pra o numero de baze da função Rnd ser o tempo que o pc tá ligado
numero = ((Rnd * 10) + 1) ''gera numero aleatório
Function jogo() As Byte ''cria a função jogador()
Dim As Byte entrada ''cria a variavel entrada
Input "Digite um numero ", entrada ''pede um numero e armazena em entrada
If entrada = numero Then ''checa se oque a pessoa digitou é igual ao numero que o pc sortiou
Return 1
Else
Return 0
EndIf
End Function
While vale = 0 ''inicia loop do jogo
vale = jogo()
If vale = 0 Then
Print "voce errou"
EndIf
Wend ''termina jogo
Print "Parabens"
Sleep
Vamos entende-lo agora:
Essa parte é o cabeçalho do jogo:
- Código:
Print "------------------------- Adivinhe se puder -------------------------------"
Print""
Print "O computador vai gerar um numero de um a dez"
Print "Voce e capaz de descobri-lo?";
Print ""
Essa parte gera uma variavel de escopo global (o parametro Shared que é quem altera o escopo para global) (escopo global = variavel ecessivel dentro das funções):
- Código:
Dim Shared As Byte numero ''cria variaveis
Essa parte gera uma variavel de escopo local, não funciona dentro das funções:
- Código:
Dim As Byte vale = 0
A função Ramdomize diz qual é o numero que o algoritimo da função Rnd deve usar como base;
Timer é o tempo que o pc tá ligado;
ou seja, o valor de base da função Rnd vai ser o tempo que o pc tá ligado, por que?
se eu colacar 3, por exemplo, então os numeros gerados pela função Rnd será a mesma sequencia sempre, quer ver? Tire o Timer e bote um numero. E por que a variavel Timer? Porque ela nunca vai ter o mesmo valor, ao não ser que o computador pare no tempo .
- Código:
Randomize Timer
Rnd Gera um numero maior ou igual a zero ou menor que 1 ( 0<= Rnd <1), ai eu multiplico por dez e somo mais um (então fica um numero entre um e dez):
- Código:
numero = ((Rnd * 10) + 1)
Função de interação com o jogador:
- Código:
Function jogo() As Byte ''cria a função jogador()
Dim As Byte entrada ''cria a variavel entrada
Input "Digite um numero ", entrada ''pede um numero e armazena em entrada
If entrada = numero Then [size=8]''checa se oque a pessoa digitou é igual ao numero que o pc sortiou[/size]
Return 1
Else
Return 0
EndIf
End Function
Loop do Jogo:
- Código:
While vale = 0 ''inicia loop do jogo
vale = jogo()
If vale = 0 Then ''se a pessoa errou o numero
Print "voce errou" ''imprime isso na tela
EndIf
Wend
Se sair do Loop, que da no mesmo que acertar o numero sortiado:
- Código:
Print "Parabens"
espera uma tecla ser precionada para poder fechar o console:
- Código:
Sleep
Última edição por tblima123 em Ter 05 Out 2010, 14:57, editado 4 vez(es)
tblima123- Ocasional
- Mensagens : 54
Data de inscrição : 06/11/2009
Re: 01 - Aulas do Tiago - Criando um jogo de adivinhar um numero aleatório
Rapaz, tu ta ficando fera no Free Basic heim?? Gostei do tutorial! É muito interessante essa idéia de aprender e ensinar ao mesmo tempo. Nossa idéia é colocar os melhores tutoriais no site, com a permissão do criador é claro. Minha idéia é ter os melhores colaborades para criarmos um site que realmente ensine algo.
Só uma observação, você não precisa usar common para criar variáveis globais. O common é utilizado para variáveis que terão seus dados compartilhados em outros módulos de um projeto de vários módulos. Nesse caso, use simplesmente Dim Shared.
flws!
Só uma observação, você não precisa usar common para criar variáveis globais. O common é utilizado para variáveis que terão seus dados compartilhados em outros módulos de um projeto de vários módulos. Nesse caso, use simplesmente Dim Shared.
flws!
Re: 01 - Aulas do Tiago - Criando um jogo de adivinhar um numero aleatório
Valeu vinians, isso que tu falou do Shared faz sentido, então eu editei o código, Ok?
Ei pessoal o que eu mudei no código foi o seguinte, não tem essa parte do código Dim Shared As Byte numero? Tava assim:
Common Shared As Byte numero
Ei pessoal o que eu mudei no código foi o seguinte, não tem essa parte do código Dim Shared As Byte numero? Tava assim:
Common Shared As Byte numero
tblima123- Ocasional
- Mensagens : 54
Data de inscrição : 06/11/2009
Re: 01 - Aulas do Tiago - Criando um jogo de adivinhar um numero aleatório
Pois é, geralmente só usamos Common em grandes projetos com vários códigos fonte e queremos compartilhar uma variável pública com todos eles. Quando só tem um arquivo não há necessidade.
flws!
flws!
Tópicos semelhantes
» 02 - Aulas do Tiago - Fazendo uma Bolinha se Mover
» 03 - Aulas do Tiago - Trabalhando com arquivos de texto
» 03 - Aulas do Tiago - Trabalhando com arquivos de texto
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|
Qua 16 Mar 2011, 08:49 por vinians
» C++? ajuda
Qui 17 Fev 2011, 16:42 por Henrique_GJ
» dúvida em centralizar arma e player
Dom 30 Jan 2011, 17:08 por AndersonXD
» GO linguagem de programação da Google !!
Qui 27 Jan 2011, 21:04 por vinians
» [Duvida]esqueci o código pra mudar o tamanho da room
Qui 13 Jan 2011, 15:12 por mystery_boy_maker
» show_message_ext duvida
Qua 22 Dez 2010, 21:36 por mystery_boy_maker
» Testes com C & Allegro
Seg 13 Dez 2010, 14:31 por vinians
» FreeBasic - Código completo Snake
Seg 13 Dez 2010, 11:13 por tblima123
» Me apresentando...
Sáb 11 Dez 2010, 22:26 por vinians
» URL Reverse
Sáb 11 Dez 2010, 22:23 por vinians