2015-06-19 56 views
0

我试图做一个非常简单的游戏(即使没有界面)。你应该输入你想要做什么动作(攻击或阻止),但是我没有最好的时间试着去理解如何去做。我希望它是这样的:如果用户类型攻击的行为是一个行为,它是否比另一个阻止,是否我想让它回到问什么要做。如何根据用户输入实现不同的动作

import java.util.Scanner; 
public class Game { 
    public static void main(String[] args){ 
     int hp = 10; //Not used yet 
     int enemy_hp = 10; 
     String attack; 
     String block; 
    int enemy_action = (int) (Math.random() * 1); //Not used yet 
    int your_block_chance1 = (int) (Math.random() * 1);//Not used yet 
    Scanner userInput = new Scanner (System.in); 
    System.out.println("It is your turn, attack or try to block"); 
    String action = userInput.next(); 
    System.out.println(action); 
    if (action.equals(attack)){ 
     System.out.print("You attacked your enemy and "); 
     int enemy_block_chance1 = (int) (Math.random() * 3); 
     if (enemy_block_chance1 == 1) { 
      System.out.print("he blocked it"); 
     } 
     else if (enemy_block_chance1 != 1){ 
      enemy_hp = enemy_hp - 2; 
      System.out.print("managed to hit, now his hp is " +enemy_hp); 
     } 
    } 
    else if (action.equals(block)){ 

    } 
    } 
} 

回答

0

变化:

if (action.equals(attack)) 

到:

if (action.equals("attack")) 

(并为阻止操作检查相同)

目前,您的字符串攻击尚未确定等于“攻击”,因为它没有被初始化,所以它只是一个空字符串。

注意:您还应该使用try/catch块来包围代码以实现异常处理(例如,当用户输入整数时,程序不会崩溃)。

相关问题