Conectar-se

Esqueci minha senha

Últimos assuntos
» Novo endereço da XCreator
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...
Sab 11 Dez 2010, 22:26 por vinians

» URL Reverse
Sab 11 Dez 2010, 22:23 por vinians

Parceiros
Seja nosso parceiro, adicione nosso button em seu portal!


• • •

• • •

• • •
[parceiro 3]

01 - Aulas do Tiago - Criando um jogo de adivinhar um numero aleatório

Ir em baixo

01 - Aulas do Tiago - Criando um jogo de adivinhar um numero aleatório

Mensagem por tblima123 em Ter 21 Set 2010, 21:50

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)

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 Very Happy .
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

Very Happy Smile Shocked Laughing bounce


Última edição por tblima123 em Ter 05 Out 2010, 14:57, editado 4 vez(es)
avatar
tblima123
Ocasional

Mensagens : 54
Data de inscrição : 06/11/2009

Voltar ao Topo Ir em baixo

Re: 01 - Aulas do Tiago - Criando um jogo de adivinhar um numero aleatório

Mensagem por vinians em Ter 21 Set 2010, 22:43

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!

_________________
we love to make games!
avatar
vinians
Editor

Masculino
Mensagens : 85
Data de inscrição : 24/08/2009
Localização : Rio de Janeiro

http://www.xcreator.com.br

Voltar ao Topo Ir em baixo

Re: 01 - Aulas do Tiago - Criando um jogo de adivinhar um numero aleatório

Mensagem por tblima123 em Qua 22 Set 2010, 13:42

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

Laughing Shocked
avatar
tblima123
Ocasional

Mensagens : 54
Data de inscrição : 06/11/2009

Voltar ao Topo Ir em baixo

Re: 01 - Aulas do Tiago - Criando um jogo de adivinhar um numero aleatório

Mensagem por vinians em Sex 24 Set 2010, 15:55

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!

_________________
we love to make games!
avatar
vinians
Editor

Masculino
Mensagens : 85
Data de inscrição : 24/08/2009
Localização : Rio de Janeiro

http://www.xcreator.com.br

Voltar ao Topo Ir em baixo

Re: 01 - Aulas do Tiago - Criando um jogo de adivinhar um numero aleatório

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum