Ir ao conteúdo
  • Cadastre-se

Izacael.Silva

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Boa tarde a todos pessoal sou novo aqui no canal e queria pedir uma ajuda estou fazendo esse trabalho importante, porém não estou conseguindo colocar uma estrutura para evitar que a mesma palavra seja escolhida por outros jogadores nesse pequeno jogo e mostre em tela. por favor ajudem !!!! Program AV2; // Nome do programa. var //Declaração de variáveis. p,h:string; //Variável que armazena palavras. le,r:char; //Variável que representa caracteres. enc,fim:boolean; //Variável que verifica condição. ac,er,tl:integer; //Variável que armazena números inteiros. //Desenha da tela procedure menu; //Criação de um procedimento (menu). begin //Começo do procedimento (menu). clrscr; //Comando para limpar a tela. textcolor(white); //Cor do texto: Branca. textbackground(red); //Cor de fundo: Vermelho. gotoxy(15,10);write('==========================================='); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,11);write('| |'); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,12);write('| Digite a palavra:[ ] |'); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,13);write('| |'); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,14);write('| Advertência [ ] |'); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,15);write('| |'); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,16);write('| Historico [ ] |'); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,17);write('| |'); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,18);write('| Palavra: |'); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,19);write('| |'); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,20);write('| Digite a letra: [ ] |'); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,21);write('| |'); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,22);write('| Acertos: |'); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,23);write('| Erros: |'); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,24);write('| |'); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). gotoxy(15,25);write('==========================================='); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada)|Write(Comando que mostra os dados na tela). end; //Fim do procedimento //Substitui a letra por asterisco e apresenta o total de letras da palavra. procedure asterisco; //Criação do procedimento (asterísco). begin //Começo do procedimento (asterísco). fim:=false; //Variável começa como falsa. menu; //Chamar o procedimento (menu). gotoxy(38,12); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). while fim=false do //Enquanto fim for igual a falso, faça:. begin //Começo do bloco do procedimento. le:=readkey; //Esperar o usuário digitar a palavra. if le<>#13 then //Se o número de letras for diferente de 13, então. begin //Começo de um bloco. write('*'); //Substituir a palavra por asteríscos. p:=p+le; //Atribuição de valores para a variável. end //Final de uma condição. else //Início de outra condição (se não). fim:=true; //Variável termina como verdadeira. end; //Fim do bloco do procedimento. tl:=length(p); //Atribuição de valor a variável. ac:=0; //Dizer que a variável começa com zero. er:=0; //Dizer que a variável começa com zero. h:=''; //Dizer que a variável não tem informações. gotoxy(28,22);write(ac); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). gotoxy(26,23);write(er); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). end; //Fim do procedimento (asterísco). //Coloca os traços da palavra procedure tracejar(p:string); //Criação do procedimento (tracejar). var //Declaração de variáveis. y:integer; //Variável que armazena números inteiros. begin //Começo do procedimento (tracejar). gotoxy(27,18); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). for y:=1 to length(p) do //Contagem da quantidade de letras. write (' _'); //Escrever os traços. end; //Fim do procedimento (tracejar). //Verifica se a letra consta no histórico function consultarhistorico(h:string;le:char):boolean; //Criação de uma função. var //Declaração de variáveis x:integer; //Variável que armazena números inteiros. enc:boolean; //Variável que verifica condição. begin //Começo da função. enc:=false; //Variável começa como falsa. for x:=1 to length(h) do //Executar até o x ter o valor da variável h. if upcase(h[x])=upcase(le) then //Se h for igual a le, então... begin //Criação de um bloco na função. enc:=true; //Variável terminando verdadeira. h:=h+upcase(le); //Transformar todas as letras minúsculas em maiúsculas. end; //Fim do bloco na função. consultarhistorico:=enc; //Atribuição de valor a função. end; //Fim da função. //Adiciona acertos, erros e histórico procedure verificar(pa:string;le:char); //Criação de um procedimento. var //Declaração de variáveis. p,x:integer; //Variável que armazena números inteiros. enc:boolean; //Variável que verifica condição. begin //Começo do procedimento. enc:=false; //Variável começando falsa. for x:=1 to length(pa) do //Executar até o x ter o valor da variável pa. if upcase(pa[x])=upcase(le) then //Se pa[x] for igual a le, então... begin //Criação de um bloco no procedimento. inc(ac); //iniciar contagem da variável. enc:=true; //Variável terminando verdadeira. p:=x*2; //Atribuição de valor a variável p (x multiplicado por 2). gotoxy(26+p,18); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). write(upcase(le)); //Escrever a palava com letras maiúsculas. gotoxy(33,14); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). write('Você acertou'); //Write(Comando que mostra os dados na tela). end; //Fim de um bloco no procedimento. h:=h+upcase(le); //Atribuição de valor para a variável h. if enc=false then //Se enc for falso, então... begin //Começo de um bloco. gotoxy(33,14); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). write('Você errou '); //Write(Comando que mostra os dados na tela). inc(er); //iniciar contagem da variável. end; //Fim de um bloco. gotoxy(28,22);write(ac); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). gotoxy(26,23);write(er); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). gotoxy(31,16);write(h); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). if ac=tl then //Se ac=tl então... begin //Criação de um bloco no procedimento. gotoxy(32,24); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). write('Jogar novamente S/N [ ]'); //Write(Comando que mostra os dados na tela). gotoxy(54,24); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). r:=readkey; //Esperar o usuário digitar uma tecla. end; //Fim do bloco no procedimento. end; //Fim do procemento. //Repetir o jogo. procedure iniciar;//Criação do procedimento (iniciar). begin //começo do procedimento (iniciar). p:=''; //Dizer que a variável não tem informações. menu; //Chamar o procedimento (menu). gotoxy(38,12); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). asterisco; //Chamar o procedimento (asterico). tracejar(p); //Chamar o procedimento (tracejar). end; //Fim do procedimento (iniciar). Begin //Começo. r:='S'; //Atribuição de valor para a variável r. iniciar; //Chamar o procedimento iniciar. repeat //Repetir if (ac=tl)and(upcase®='S')then iniciar; //Se ac=tc e r=s repetir o procedimento iniciar. gotoxy(37,20); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). le:=readkey; //Esperar o usuário apertar uma tecla para atribuir a variável. if consultarhistorico(h,le)=true then //Se a função for verdadeira faça... begin //Criação de um bloco. gotoxy(31,16); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). write(h); //Write(Comando que mostra os dados na tela). end //Fim de um bloco. else //Senão (começo de outra condição). verificar(p,le); //Chamar o procedimento (verificar). until (ac=tl)and(upcase®='N'); //Repetir até ac=tl e r=N. clrscr; //Comando para limpar a tela. gotoxy(15,18); //Gotoxy(Comando que indica o local onde os dados deve ser mostrada). write('Game Over'); //Write(Comando que mostra os dados na tela). readkey; //Esperar o usuário apertar uma tecla. End. //Fim do algorítmo.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...