2015-02-02 2 views
0

Итак, в основном, я делаю текстовую игру в java (это игра в азартные игры, например cookie clicker), и у меня возникла проблема. Вы видите, каждый раз, когда вы вводите команду, вы ничего не получаете.Выполнение простоя в java

вот код:

импорт java.util.Scanner;

Apples общественного класса {

public static int upQuarks = 0; 
public static int downQuarks = 0; 
public static int electrons = 0; 

public static int protons = 0; 
public static int neutrons = 0; 

public static int HAtoms = 0; 

public static int upQuarkCreation = 1; 
public static int downQuarkCreation = 1; 
public static int electronCreation = 1; 

public static int protonCreation = 1; 
public static int neutronCreation = 1; 

public static int atomCreation = 1; 

public static String question = "0"; 


public static void main(String[] args) { 
    Scanner dad = new Scanner(System.in); 

    while(true) { 

    switch(question) { 

     case "0": 
      System.out.println("Welcome to this untitled text adventure game, created by Adam and Benjamin Roache."); 
      System.out.println("Please enter your name."); 
      question = "1"; 
      break; 

     case "01": 
      dad.next(); 
      question = "1A"; 
      break; 

     case "1A": 
      System.out.println("\n\nAre you sure this is your name?\n[1]Yes\n[2]No"); 
      switch(dad.next()) { 
       case "1": 
        System.out.println("Type help to get help."); 
        question = "2"; 
        break; 

       case "2": 
        System.out.println("\n\n"); 
        question = "0"; 
        break; 


      } 

     case "2": 
      switch(dad.next()) { 
       case "help": 
        if (electrons >=1 && protons >= 1) { 
         System.out.println("\n\nTo go to the Atom Creator, type atom."); 

        } 
        if (upQuarks >= 2 && downQuarks >= 2) { 
        } else { 
         System.out.println("\n\nTo create a Proton, type pro.\nTo create a Neutron, type neu."); 
         break; 
        } 
        System.out.println("\nTo create an Up Quark, type upq.\nTo create a Down Quark, type dwnq.\nTo create a electron, type el.\nTo go to your inventory, type in."); 
        break; 

       case "upq": 
        upQuarks += upQuarkCreation; 
        System.out.println("\n\nYou have 1 new Up Quark."); 
        break; 

       case "dwnq": 
        downQuarks += downQuarkCreation; 
        System.out.println("\n\nYou have 1 new Down Quark."); 
        break; 

       case "el": 
        electrons += electronCreation; 
        System.out.println("\n\nYou have 1 new Electron."); 
        break; 

       case "pro": 
        if (upQuarks >= 2 && downQuarks >= 1) { 
         protons += protonCreation; 
         upQuarks -= 2; 
         downQuarks -= 1; 
         System.out.println("\n\nYou have 1 new proton."); 
         break; 
        }else{ 
         System.out.println("\n\nYou don't have those materials yet."); 
         break; 
        } 

       case "neu": 
        if (downQuarks >= 2 && upQuarks >=1) { 
         neutrons += neutronCreation; 
         upQuarks -= 1; 
         downQuarks -= 2; 
         System.out.println("\n\nYou have 1 new neutron."); 
         break; 
        }else{ 
         System.out.println("\n\nYou don't have those materials yet."); 
         break; 
        } 

       case "atom": 
        if(protons >= 1 && electrons >=1){ 
         System.out.println("\n\nWelcome to the Atom Creator!"); 
         question = "3"; 
         break; 
        }else{ 
         System.out.println("\n\nYou can't acsess this yet."); 
         break; 
        } 


       case "in": 
        if (protons >= 1 || neutrons >=1) { 
         System.out.println("\n\n" + protons + " protons, \n" + neutrons + " neutrons."); 
         break; 
        } 
        System.out.println("\n\n" + upQuarks + " up quarks, \n" + downQuarks + " down Quarks, \nand " + electrons + " electrons."); 
        break; 

      } 
     break; 
     case "3": 
      switch(dad.next()){ 

       case "help": 
        System.out.println("\n\nTo create an atom, type in its atomic symbol."); 
        break; 

       case "H": 
        if(protons >= 1 && electrons >= 1) { 
         HAtoms += atomCreation; 
         protons -= 1; 
         electrons -= 1; 
         System.out.println("\n\nYou have created 1 new hydrogen atom."); 
         break; 
        }else{ 
         System.out.println("You don't have the right materials."); 
        } 
        break; 
      } 
     break; 
     } 
    } 
} 

}

код создает эти входные команды:

  1. "upq" = создает новый кварк
  2. "dwnq" = создает новый Down Quark
  3. "el" = создает новый электронный

  4. "про" = создает новый Proton (если, конечно, у вас есть право mateirials.)

  5. "Neu" = создает новый нейтронный

  6. "атом" = входит в Atom Creator

  7. "Н" = создает атом водорода

  8. "помощь" = идет в раздел справки.

  9. "в" = enteres инвентаре

    И это все команды.

    И это выход:

    Добро пожаловать на эти безымянные игры текст приключений, созданный Адамом и Бенджамин Роуч. Пожалуйста, введите ваше имя. Adam

Вы уверены, это на Ваше имя? 1 Да [2] № Введите help, чтобы получить справку. upq

У вас есть 1 новый Up Quark. upq dwnq

У вас есть 1 новый Down Quark. в в

1 до кварков, 1 вниз Quarks, и 0 электронов. upq dwnq

У вас есть 1 новый Down Quark. neu neu

У вас есть 1 новый нейтрон. , ,

0 протоны, 1 нейтроны.

0 up quarks, 0 down quarks, 0 электроны.

+0

Вы не вызываете 'break;' в конце 'case '1A" ',' case "2" и 'case 3". И кроме того, в настоящее время неясно, о чем вы спрашиваете. Укажите пример ввода, фактический результат и ожидаемый результат. – Tom

+0

Я попробовал добавить 'break;', а затем было ** ** ** выход вообще! – addemup

ответ

0

Используйте следующую строку() или то, что она называется. Подумайте, что может быть проблемой

+1

Что называется? – addemup

Смежные вопросы