尝试在Android平台上使用与此类似的程序。麻烦的是我不确定使用xml来显示文本/读取用户输入。我对移动软件开发还比较陌生,但是从下面的代码中,我只是试图显示打印语句,显然也得到用户输入。
import java.util.Scanner;
import java.util.Random;
public class assignmentMSD
{
public static void main(String[] args)
{
//objects(system)
Scanner in = new Scanner(System.in);
Random rand = new Random();
//Variables used
String[] enemies = {"Zombie", "Necromorph", "Soldier", "MadMax"};
int maxEnemyHealth = 75;
int enemyAttackDamage = 25;
//Player Variables
int health = 100;
int attackDamage = 50;
int numHealthElixers = 3;
int healthPotionHeal = 30;
int healthPotionDropChance = 50;
boolean running = true;
System.out.println("Welcome to the Thunderdome");
GAME:
while(running)
{
System.out.println("--------------------------------------------------");
int enemyHealth = rand.nextInt(maxEnemyHealth);
String enemy = enemies[rand.nextInt(enemies.length)];
System.out.println(" \t####" + enemy + " has appeared#### \n");
while(enemyHealth > 0)
{
System.out.println("\t Your Health:" + health);
System.out.println("\t" + enemy + "'s Health:" + enemyHealth);
System.out.println("\n \t What would you like to do?");
System.out.println("\t 1. Attack");
System.out.println("\t 2. Drink Health Potion");
System.out.println("\t 3. Run");
String input = in.nextLine();
if(input.equals("1"))
{
int damageGiven = rand.nextInt(attackDamage);
int damageTaken = rand.nextInt(enemyAttackDamage);
enemyHealth -= damageGiven;
health -= damageTaken;
System.out.println("\t You strike the " + enemy + " for " + damageGiven + " damage.");
System.out.println("\t You take " + damageTaken + " in combat:");
if(health < 1)
{
System.out.println("\t You have taken too much damage and therefore are too weak to fight!");
break;
}
}
else if(input.equals("2"))
{
if(numHealthElixers > 0)
{
health += healthPotionHeal;
numHealthElixers--;
System.out.println("You drink a heakth potion for " + healthPotionHeal + "."
+ "\n\t You now have" + health + " HP."
+"\n\t You have " + numHealthElixers + " Health Elixers left. \n");
}
else
{
System.out.println("\t You have no health Elixer left!, You must defeat enemies for a chance to get more \n");
}
}
else if(input.equals("3"))
{
System.out.println("\t You run away from the " + enemy + "!" );
continue GAME;
}
else
{
System.out.println("\t\n Invalid Command");
}
}
if(health < 1)
{
System.out.println("You Flee from the Thunderdome, weak from battle");
break;
}
System.out.println("-------------------------------");
System.out.println(" # " + enemy + "was defeated! # ");
System.out.println(" # You have" + health + " HP left. #");
if(rand.nextInt(100) < healthPotionDropChance)
{
numHealthElixers++;
System.out.println(" # The " + enemy + " dropped a health potion #");
System.out.println(" # You now have " + numHealthElixers + " Health Elixer(s). #");
}
System.out.println("-------------------------------");
System.out.println("What would you like to do now?");
System.out.println("1. Continue Fighting");
System.out.println("2. Exit Dungeon");
String input = in.nextLine();
while(!input.equals("1") && !input.equals("2"))
{
System.out.println("invalid command");
input = in.nextLine();
}
if(input.equals("1"))
{
System.out.println("You continue through the thunderdome");
}
else if(input.equals("2"))
{
System.out.println("You exit the thunderdome a wiser man, sucessful on your quest");
break;
}
}
System.out.println(" -------------------------- ");
System.out.println(" ----Thanks for playing----");
System.out.println(" -------------------------- ");
}
}
答案 0 :(得分:2)
是的,您通常使用TextView显示文本,并编辑文本文本供用户输入。
这是一个很好的链接:http://developer.android.com/training/basics/firstapp/building-ui.html
developer.android培训文章非常好,即使对于初学者也是如此。 使用res / layout文件夹中的xml文件作为UI内容。如果您单击底部的“设计”选项卡,Android Studio甚至可以让您了解UI的外观。
旁注:你会发现它比System.out.println()
更有趣答案 1 :(得分:1)
首先。使用:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/some_label_text"/>
<EditText
android:id="@+id/example_input"
android:hint="@string/some_hint_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
注意:如果文本是预定义的,则标签可以在定义中包含文本。
第二次通过ID这样将您的对象引用到您的Java应用中。
EditText exampleInput = (EditText )dialogCarro.findViewById(R.id.example_input);
第三次,您需要将Listeners
添加到Button
或EditText
s。