GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Alguém aí quer um tutorial?
por Raffxz Ontem à(s) 17:48

» [TUTORIAL][2D] Como Criar Exports Para o Tiled Map Editor
por TRFN Ontem à(s) 09:54

» [Vídeo] Tutorial jogo de plataforma completo com o GameMaker
por TRFN Ontem à(s) 09:52

» EvoluShip (DevLog)
por JOZ. Sex 05 Ago 2022, 21:57

» Aulas particulares. Alguém?
por Pit Bull Seg 01 Ago 2022, 15:41

» Ajuda menu interativo
por Y0hh Ter 26 Jul 2022, 15:43

» Dúvida de programação
por Y0hh Ter 26 Jul 2022, 15:39

» como fazer parguntas e aceitar respostas escritas pelo player
por Y0hh Ter 26 Jul 2022, 15:36

» Block Room
por Joton Dom 24 Jul 2022, 20:29

» Beyond the Storm - Um remake não-oficial de Tyrian! (Devlog)
por leo150250 Qui 21 Jul 2022, 13:35

» [Mini Evento] Mini Jam Musical #2
por Diemorth Ter 21 Jun 2022, 15:29

» Moth-Kubit Grimes RPG 2D
por theguitarmester Ter 21 Jun 2022, 11:11

» Kingdom And Slaves
por theguitarmester Seg 20 Jun 2022, 11:40

» Como fazer o texto no draw_gui seguir o player pela room?
por Willy Ter 07 Jun 2022, 14:09

» Achar o valor da variável de uma instância
por Asutsuo Qui 26 Maio 2022, 16:17

» Prof Hero - Animação 2D
por efraim leonardo Qua 25 Maio 2022, 19:45

» grappling hook
por gabrielsantos Seg 23 Maio 2022, 22:37

» Endless Fire
por Wallace_ank Qui 12 Maio 2022, 14:08

» alguém entende movimento de nave ?
por chinogamo Sex 06 Maio 2022, 23:59

» [Tutorial] Básico ao avançado - Movimentação avançada 2D
por chinogamo Qua 04 Maio 2022, 18:44

» Criação de Game MMORPG
por GabrielXavier Qua 04 Maio 2022, 16:51

» tenho uma duvida
por chinogamo Dom 01 Maio 2022, 10:32

» [Mini Evento] Mini Jam de Arte #3
por Diemorth Dom 24 Abr 2022, 22:44

» Flupye Ranch (#LD50)
por JOZ. Sex 22 Abr 2022, 12:59

» [Mini Evento] Mini Jam de Roteiros #2
por Diemorth Seg 18 Abr 2022, 15:33


como fazer parguntas e aceitar respostas escritas pelo player

2 participantes

Ir para baixo

como fazer parguntas e aceitar respostas escritas pelo player Empty como fazer parguntas e aceitar respostas escritas pelo player

Mensagem por Drax_G Qua 20 Jul 2022, 18:33

Olá, quero fazer um jogo onde o player tem o simples objetivo responder perguntas.
Ja vi algumas referencias porem geralmente cabe ao player escolher uma das opçoes ja dadas pelo jogo para passar a pergunta (como 2 botoes de sim ou não). Procuro saber se tem como fazer algo onde o player digite a resposta que ele quer, e o jogo detecte se esta certo ou errado.

vou citar um exemplo caso não deu pra entender:
o player tem que responder a pergunta "Cite um personagem de Star Wars" por exemplo, então o player digita um nome, e apenas se esse nome estiver no banco de palavras ele passa de fase.

Deu para compreender? Se alguem me puder ajudar falando uma ideia de comando que posso procurar mais a respeito de cada etapa, que saiba de um video que explique agradeço.
Drax_G
Drax_G

Games Ranking : Sem avaliações

Data de inscrição : 20/07/2022
Reputação : 0
Número de Mensagens : 1
Prêmios : como fazer parguntas e aceitar respostas escritas pelo player Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Y0hh gosta desta mensagem

Ir para o topo Ir para baixo

como fazer parguntas e aceitar respostas escritas pelo player Empty Re: como fazer parguntas e aceitar respostas escritas pelo player

Mensagem por Y0hh Ter 26 Jul 2022, 15:36

Olá Drax_G, é uma pena que você teve que esperar alguns dias, mas de qualquer forma, consegui fazer funcionar aqui, fiquei 2 dias e vou explicar como e como fazer.

Primeiro Passo:
- Primeiro você começa a criar um Sprite, esse Sprite você vai desenvolver ou pegar na internet, mas precisa ser um TextBox, de preferência se você não precisar fazer isso, e coloque qualquer nome, mas eu vou colocar aqui como S_T, depois disso você cria outro sprite, que é o sprite do Botão de Enviar, você vai ver daqui alguns textos a frente pra que ele serve, e vou colocar como S_O.

Segundo Passo:
- Crie uma fonte, você pode colocar qualquer nome, no meu caso eu coloco F_1, não esqueça de adicionar como características, qualquer dúvida sobre isso eu respondo.

Terceiro Passo:
- Você cria uma TextBox, na pasta "Objects", e coloca o seu Sprite, depois crie outro objecto chamado Enter, o que seria esse objeto? Pra quando você for digitar o Nome do Personagem do Star Wars, você clicar nesse botão para que é possível ver se ele é um Personagem de Star Wars ou não.
- Depois, você cria um objeto, chamado "Resposta", ele vai ser o Objeto que vai dá a resposta de se ele é um Personagem de Star Wars ou não.

Quarto Passo(Programação):
- O Objeto TextBox, você vai criar um Create, e vai colocar esse código:
Código:
// Variáveis
// Feito por Yori e Seb.
delete_timer = 2; // Fazer com que o texto seja apagável.
text = ""; // A variável para armazenar o texto para que seja possível digitar.
global.verification = "not"; // A variável que verifica se o nome do Personagem é de Star Wars.
// Termino.

- Como você pode ver, vai está explicando o que cada Variável faz e sua função.
- Depois você cria o Step e coloca esse código:
Código:
// Primeiro Passo
if(keyboard_check(vk_anykey) and string_length(text) < 20) { // Verificar se alguma tecla foi pressionadoe também o limite do texto.
    text = text+string(keyboard_string) // Texto.
    keyboard_string = "";
}
// Line 7 and 11 faz com o que verifique se a tecla de apagar foi apertada, se a tecla for apertada, apagar mensagem.
if(keyboard_check_pressed(vk_backspace)) {
    text = string_delete(text, string_length(text), 1);
    keyboard_string = "";
    delete_timer = -4;
}
// Lidar com a atualização do temporizador:
if(delete_timer != 2) {
    delete_timer ++;
}

// Banco De Dados de Nomes
// Explicação: Esse é o banco de dados, aonde armazena os nomes dos personagem de Star Wars
// Se você quiser, por opção, pode adicionar mais personagens.
if text = "Luke Skywalker" and global.verification = "not" {
    global.verification = "yes";
}
if text = "luke skywalker" and global.verification = "not" {
    global.verification = "yes";
}
if text = "Luke SkyWalker" and global.verification = "not" {
    global.verification = "yes";
}
if text = "Princesa Leia" and global.verification = "not" {
    global.verification = "yes";
}
if text = "princesa leia" and global.verification = "not" {
    global.verification = "yes";
}
if text = "Darth Vader" and global.verification = "not" {
    global.verification = "yes";
}
if text = "darth vader" and global.verification = "not" {
    global.verification = "yes";
}
if text = "R2-D2" and global.verification = "not" {
    global.verification = "yes";
}
if text = "r2-d2" and global.verification = "not" {
    global.verification = "yes";
}
// Termino.
- Depois, você cria o Draw e coloca esse código:
Código:
// Desenho.
draw_self(); // Desenhar a Caixa de Texto.
draw_set_color(c_white) // A cor do texto.
draw_set_halign(fa_center);
draw_set_valign(fa_middle);
// Line 4 and 5: O texto ficar no centro da tela.
draw_set_font(O_TB); // Fonte.
draw_text(x, y, text); // Desenhar o Texto.
draw_text(x, y-30, "Cite um personagem de Star Wars:"); // Desenhar o Texto Pergunta.
// Termino.

Quinto Passo(Programação):
- Agora iremos para o objeto Enter, que como eu expliquei alguns textos atrás, irá servir com que quando o personagem manda mensagem, a mensagem é enviada e o banco de dados verifica se ele é um personagem de star wars ou não é. Agora chega de atrasos explicando e vou mostrar o Script.
Código:
// Mouse Clicar no Botão
global.answer = O_TB.text; // Verificar a resposta.
room_goto_next(); // Ir para a cena da Resposta.
// Termino.

- Agora iremos desenhar essa função na tela, usando esse seguinte Script:
Código:
// Desenho.
draw_self(); // Desenhar o Botão.
draw_set_color(c_white) // A cor do texto.
draw_set_halign(fa_center);
draw_set_valign(fa_middle);
// Line 4 and 5: O texto ficar no centro da tela.
draw_set_font(O_TB); // Fonte.
draw_text(x, y, "Enviar"); // Desenhar o Texto.
// Termino.

Sexto Passo(Explicação + Programação):
- Agora iremos para a função o objeto Resposta, ele é bem simples, só vai desenhar na tela a resposta que ele adquiriu nos Scripts passado, começe criando um objeto "Draw":
Código:
// Desenho.
draw_set_color(c_white) // A cor do texto.
draw_set_halign(fa_center);
draw_set_valign(fa_middle);
// Line 4 and 5: O texto ficar no centro da tela.
draw_set_font(O_TB); // Fonte.
if global.verification = "yes" { // Esse Script irá dá a Resposta, se ele é um dos Personagem de Star Wars.
    draw_text(x, y, "O(a) Grande e Velho(a), " + global.answer); // Desenhar o Texto e a resposta.
}
if global.verification = "not" { // Esse Script irá dá a resposta, que ele não é um personagem de Star Wars.
    draw_text(x, y, "Você se confundiu, esse personagem não é de Star Wars"); // Desenhar o Texto e a resposta.
}
// Termino.

Último Passo(Explicação + Colocar no Jogo):
- Pronto, terminamos todos os Scripts, agora você vai criar duas salas(tela), uma vai ser o player preenchendo as informações, nessa primeira sala você vai colocar os objetos O_TB e o O_O, não esqueça de organizar Smile

- Na outra sala(tela), você só vai colocar o objeto O_A(que é o objeto de resposta), e pronto, quando terminar tudo, é só ser feliz e ver o Script funcionando, ele é código aberto, você pode alterar o jeito que quiser e como você quer, não necessariamente você precisa usar para isso, pode ser pra outras coisas, como criar uma I.A e etc. Espero que eu tenha ajudado.

Arquivo:
https://www.mediafire.com/file/8jukpt80bc2bsvi/T33762.gmz/file
- Estou disponibilizando esse arquivo pra caso dê algum erro, você use o arquivo como exemplo pra entender melhor.
Y0hh
Y0hh

Data de inscrição : 25/07/2022
Reputação : 8
Número de Mensagens : 3
Prêmios : como fazer parguntas e aceitar respostas escritas pelo player Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker Studio 1.4
  • Unity
  • Javascript
  • Outros


Super Games, theguitarmester, Drax_G e Y0hh gostam desta mensagem

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos