Criando um jogo de palavras cruzadas usando MMB Script


Inaugurando a seção de tutoriais para Multimedia Builder e desenvolvimento de jogos, hoje nós iremos aprender a construir um pequeno jogo de palavras cruzadas usando MMB Script. Caso ainda não tenha o MMB instalado, você pode baixá-lo no site oficial: http://mmb.mediachance.com/index.html

O processo de criação do nosso jogo é simples, baseado principalmente em estruturas condicionais (IF) para a verificação dos campos digitados e com a execução de um determinado comando após todos os campos estarem corretos.

Primeiro devemos esquematizar o nosso jogo no papel. Quais palavras serão usadas? Qual a quantidade de campos que será usado? Como serão mostrados ao jogador? O que irá aparecer quando os campos estiverem completos e corretos? E se estiverem errados?

Baseado nisso, fiz o seguinte esquema:

Diagrama do jogo de palavras cruzadas para Multimedia Builder

Existem muitas outras formas de fazer isso, creio que até mais eficientes, mas para o nosso joguinho isso já serve.

O próximo passo será traduzir todo o esquema para o MMB. Para criar os quadrados e dar um efeito visual legal para eles, selecione a ferramenta rectangle, clique e arraste-o formando um pequeno quadrado. Em seguida dê dois cliques nele, e no campo Fill escolha uma cor cinza, e no campo Border, escolha Windows. Clique em ok.

fill

A primeira fileira que estamos a criar será a da palavra bola.  Precisaremos de quatro campos, sendo o último um campo intermediário, pois ele estará servindo tanto para a palavra bola, quanto para a palavra roda (perceba que a ultima letra das duas palavras é a letra A). Agora que já criou um quadrado usando a ferramenta rectangle, copie-o e cole quatro vezes, e organize-os em uma fileira na vertical ficando da seguinte forma:

fileira_1

Feito isso, faça mais três quadrados, mas dessa vez na horizontal e de modo que termine no último quadrado da fileira que já fizemos. O resultado será esse:

fileira_2

Agora iremos criar as caixas de input text (EditBox) Input_text_button para o jogador poder digitar uma letra em cada quadrado, para isso iremos precisar de sete Input texts, sendo o ultimo da primeira e segunda fileira – como já comentamos – um campo intermediário. Não crie todos de uma vez, faça um e posicione no primeiro quadrado da fileira da vertical. Em seguida, dê um duplo clique para podermos configurá-lo adequadamente. Agora o deixe da mesma forma que a imagem a baixo. O campo label é para identificarmos o nosso objeto na página, o campo Fixed Width selecionado nos permite esticar o objeto depois e que mantenha as coordenadas que demos, assim poderemos deixá-lo por todo o quadrado, e dentro do campo Output, em Type e String, definimos o nome da variável em string que o nosso campo de texto terá e poderá ser identificada na hora de programarmos. Perceba também que no campo Optional Action, logo ao lado ( à direita) está escrito Script, pois é o nome padrão que um objeto de Script carrega ao ser criado, e em breve criaremos o nosso, onde o mesmo fará todo o processo para que o jogo funcione.

Text EditBox

Feito isso, clique em ok. Agora crie mais dois Input texts, onde nas propriedades de cada um, você só irá precisar alterar a Label e o nome da String no campo Output. Nomeias de bola_campo2 e bola_campo3, e nas strings de bola_campo2$ e bola_campo3$, lembre-se de que o Script em Optional Action deve permanecer em todas elas!

Agora chegamos ao nosso campo intermediário, crie mais uma Input text, posicione-a corretamente no respectivo quadrado e entre em suas propriedades com um duplo clique. Agora renome-i o Label para bola_roda_int, e a string para bola_roda_int$, configure o restante dos campos como mencionados anteriormente e clique em ok.

A nossa primeira fileira já está pronta. Agora crie um texto com o objeto text text_button e entre em suas propriedades. Renome-i a Label para bola_true, escreva na grande área branca a letra V em maiúscula e no campo Color Interaction, escolha a cor verde. Veja como fica e em seguida clique em Ok.

text

Posicione o texto que acabou de criar logo a baixo do último quadrado (intermediário) da primeira fileira.

v_nafileira

Clique com o botão direito do mouse em cima do texto e selecione ” Hide / Show “, para que o texto fique invisível, pois ele só irá aparecer quando todas as letras da respectiva fileira estiverem corretas.

Falta agora repetirmos o processo das Input texts para a palavra roda, mas perceba que o campo intermediário (letra A) já está feito, então só precisaremos criar três inputs. Faça-os da mesma maneira que os outros, lembrando que iremos começar da esquerda e que cada campo deverá conter o seu próprio label, string e manter o script na Optional Actions, pois sempre que o texto for digitado em cada uma das inputs, o script será chamado. O nome das inputs e strings que você irá criar, são: roda_campo1 (label) e roda_campo1$ (string), roda_campo2 (label) e roda_campo2$ (string), roda_campo3 (label) e roda_campo3$ (string).

Após terminar de criar as três input texts e configurá-las adequadamente, crie mais um text e o configure da mesma forma que o anterior. Letra V maiúscula, cor verde, mas com o Label escrito roda_true, clique em ok e o posicione ao lado direito do quadrado intermediário. Ficando dessa forma:

v_nafileira2

Não se esqueça de escondê-lo, clicando com o botão direito do mouse e selecionando ” Hide / Show “, ou apenas pressionando a barra de espaço no seu teclado. Prontinho, estamos a um passo de fazer o nosso jogo funcionar!

Vá até a barra de ferramentas e selecione o objeto Script botao_script, em seguida clique em qualquer local da página e o script será inserido. Dê dois cliques sobre ele e clique no botão “Edit in a big window” botao_editar para escrevermos o nosso código de maneira mais confortável.

Escreva o seguinte código:

code1

Acima, declaramos as strings  das nossas input texts da palavra bola e o campo intermediário no código. Em seguida usamos a função LOW(nome da string) para tornar todos os caracteres armazenados nela em letras minúsculas.

Porque fazer isso? Simples, e se o jogador estiver com o Caps Lock do teclado ativado e conseqüentemente escrever em letras maiúsculas? Teríamos que escrever um código maior e desnecessário para que o script reconhecesse o caractere como certo, pois caracteres maiúsculos e minúsculos são tidos como diferentes, mas com a função LOW os nossos problemas são resolvidos.🙂

Agora faremos o mesmo, mas com as strings da palavra roda, veja a imagem a baixo:

code2

Pronto, já não teremos os problemas mencionados com os caracteres digitados.

Continuando o nosso código:

code3

Aqui temos duas estruturas condicionais com If. A primeira verifica se os campos da fileira da  bola estão correspondentes as letras que cada campo deve ter, caso estejam, a função Show se encarrega de mostrar o texto verde em V que tínhamos escondido, lembra? O segundo If faz a mesma coisa, mas com a fileira da palavra roda.

Agora vamos a parte do código que é um pouco mais volumoso. Nele, testamos todos os valores das duas fileiras em um único If, e caso estejam todos corretos, uma mensagem é exibida com a função Message e o jogador é levado até a próxima página – que criaremos daqui a pouco – pela função NextPage.

Como o código é um pouco volumoso, ficaria ruim de mostrar em uma imagem – já que o MMB não aceita quebra de linhas nos códigos -, então irei por em texto mesmo.

If (bola_campo1$=’b’ & bola_campo2$=’o’ & bola_campo3$=’l’ & bola_roda_int$=’a’ & roda_campo1$=’r’ & roda_campo2$=’o’ & roda_campo3$=’d’) Then
Message(“Você passou para a fase 2″,””)
NextPage()
End

Feito isso, clique em Ok, e depois em Ok novamente. Agora vá ao menu Page e clique em Add Page. Note que uma página no canto inferior da tela foi criada (Page 2). Não precisa colocar nada nela agora, futuramente você poderá fazê-la – já que aprendeu a como fazer um jogo de palavras cruzadas.

Sorria, se fez tudo corretamente o seu jogo está pronto para rodar. Agora é só ir testá-lo.😉

Caso alguma coisa tenha ficado mal explicada, peço desculpas, qualquer dúvida, sugestões para melhorias, críticas e congêneres, serão todas muito bem vindas.

Abraços e até a próxima!

7 comentários sobre “Criando um jogo de palavras cruzadas usando MMB Script

  1. Dalton, boa noite.
    Gostaria de saber que curso eu posso fazer para desenvolver palavras cruzadas, criptogramas (do estilo números iguais, letras iguais), decifrando enigmas.
    Sou professora e gostaria de criar algumas atividades utilizando o conteúdo da minha disciplina para favorecer o processo de ensino-aprendizagem, tentando interagir com o aluno e facilitando a sua compreensão de forma lúdica, se assim posso me expressar.
    Agradeço pela atenção e fico aguardando em breve o retorno de V.Sª. fone para contato (11) 8211-7424.
    Marisa

    Curtir

    1. Boa noite, Marisa.
      É um prazer, receber o seu comentário.

      Para ingressar na programação de jogos para computador, sugiro que de antemão, faça um curso de lógica da programação. Caso prefira estudar por conta própria, existe um site chamado apostilando (http://www.apostilando.com) portador de um grande acervo de apostilas do gênero.

      Você pode usar muitas linguagens de programação para executar essa tarefa, mas sugiro que aprenda o Multimedia Builder, pois a sua linguagem de script é muito fácil de entender. Esse tutorial que fiz é em MMB Script (Multimedia Builder Script) e pode te dar essa luz. Caso prefira realmente fazer um curso, não encontrará nenhum na linguagem supracitada. Sugiro então, Visual Basic ou Delphi.

      Qual a desvantagem de programar usando MMB Script? Para a sua finalidade, o único porém, é que, a maioria dos tutoriais estão em inglês. Caso não veja isso como um problema, siga em frente. Qualquer dúvida, estarei aqui para te ajudar na medida do possível.

      Beijos, boa sorte.

      Curtir

  2. Olá.
    Necessito de programador free lancer para produzir códigos de jogos em mmb. Tenho os roteiros prontos. Provavelmente um ou outro necessitará de chamadas de rotinas em C ou outras linguagens.
    Você faz esse tipo de trabalho ou tem alguém para me indicar?
    Grato pela atenção.
    Renato

    Curtir

  3. Não consegui fiz tudo ok acho que nao ficou mais claro onde coloco o restante dos codigo abaixo

    If (bola_campo1$=’b’ & bola_campo2$=’o’ & bola_campo3$=’l’ & bola_roda_int$=’a’ & roda_campo1$=’r’ & roda_campo2$=’o’ & roda_campo3$=’d’) Then
    Message(“Você passou para a fase 2″,””)
    NextPage()
    End

    Curtir

    1. Jedson, você colocará esse código ainda no objeto script. É apenas uma continuação do código que expliquei antes desse que você ficou confuso.

      Abraços, se não conseguir me avisa que a gente tenta descobrir aonde está o erro.

      Curtir

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s