Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package mypackage;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Scanner;
- /**
- *
- * @author Guilherme
- */
- public class WordsGame {
- public static void main(String args[]){
- //array de palavras
- String palavrasVector[] = new String[] {"abstract",
- "continue",
- "for",
- "new",
- "switch",
- "assert",
- "default",
- "goto",
- "package",
- "synchronized",
- "boolean",
- "do",
- "if",
- "private",
- "this",
- "break",
- "double",
- "implements",
- "protected",
- "throw",
- "byte",
- "else",
- "import",
- "public",
- "throws",
- "case",
- "enum",
- "instanceof",
- "return",
- "transient",
- "catch",
- "extends",
- "int",
- "short",
- "try",
- "char",
- "final",
- "interface",
- "static",
- "void",
- "class",
- "finally",
- "long",
- "strictfp",
- "volatile",
- "const",
- "float",
- "native",
- "super",
- "while"};
- ArrayList<String> lista = new ArrayList();
- lista.addAll(Arrays.asList(palavrasVector));
- //instancia a variável que lê os dados digitados
- Scanner sc;
- sc = new Scanner(System.in);
- //variáveis que armazenarão os acertos e erros
- int acertos = 0, erros = 0;
- //flag para verificação de desistência
- boolean desisto = false;
- //solicita o nome do jogador
- System.out.println("Digite seu nome:\n\n");
- //armazena o nome do jogador
- String nome = sc.next();
- //Variável que representa a palavra digitada para verificação
- String palavra;
- System.out.println("Você deve acertar as 50 palavras em 1 minuto e meio! para começar digite 1\n Durante o jogo você pode sair digitando fim.");
- //recebe o valor digitado para verificar o inicio do jogo
- String iniciar = sc.next();
- //verifica o valor digitado
- if(iniciar.equals("1")){
- //armazena a hora de início
- long inicio = System.currentTimeMillis();
- System.out.println(System.currentTimeMillis());
- //enquanto a diferença entre o tempo atual e o tempo em que iniciou seja menor que 300.000ms ou 5 minutos
- //e a quantidade de acertos for menor 50
- //e o jogador não desistir (flag desisto)
- while(((System.currentTimeMillis() - inicio) < 300000) && acertos < 50 && !desisto ){
- //solicita ao jogador que digite uma palavra
- System.out.println("Digite uma palavra:\n");
- //captura a palavra digitada
- palavra = sc.next();
- //caso o jogador tenha desistido
- if(palavra.equals("fim")){
- desisto = true;
- }
- //caso o jogador não tenha desistido
- else{
- //iteração do busca
- int i = 0;
- //variável flag para verificação do caso de encontrar a palavra na lista
- boolean achou = false;
- //percorre o array de palavras para verificar se a palavra digitada esta na lista de palavras reservadas
- //caso esteja interrompe a varredura e remove da lista para que o usuário não digite 50x o mesmo acerto
- while(i < lista.size() && !achou) {
- //caso a palavra esteja na lista
- if(palavra.equals(lista.get(i))){
- //incrementa a quantidade de acertos
- acertos++;
- //remove o item da lista para evitar que o usuário digite varias vezes o mesmo acerto
- lista.remove(i);
- //atualiza a flag de verificação
- achou = true;
- }
- i++;
- }
- //caso tenha encontrado a palavra digitada na lista
- if(achou){
- System.out.println("Palavra certa!!, você já acertou " + acertos + " vezes!\n");
- }
- //senão
- else{
- //incrementa os erros
- erros++;
- System.out.println("Palavra errada!!, você já errou " + erros + " vezes! \n");
- }
- }
- }
- //verifica se o objetivo foi cumprido
- if(acertos == 50){
- System.out.println("Parabéns, você conseguiu encontrar todas as palavras antes do tempo esgotar");
- }
- else{
- System.out.println("Que pena, você não conseguiu encontrar todas as palavras a tempo!\n");
- System.out.println("Você teve "+ acertos +" acertos e " + erros + " erros!\n tente novamente!");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement