Seid gegrüßt!
Ich fange gerade erst an mit der Programmierung und versuche mir anhand eines Text Adventure meine Fähigkeiten zu erweitern. Ich lese die Theorie und versuche meine Idee dann praktisch umzusetzen. Bis jetzt läuft es ganz gut, nur bin ich auf ein Problem gestoßen. Ich habe ein Array für verschiedene Gegenstände(siehe Zeile 18) angelegt und möchte nun einen zufälligen Gegenstand ausgeben. Ich habe schon mehrere Sachen probiert doch entweder gibt er mir das gesamte Array aus oder es kommt nur die Zahl 0, obwohl das Array ein String ist.
Falls ihr mir weiterhelfen könntet, mit einer Erklärung warum genau das so abläuft wie ihr es schreibt, wäre wirklich hilfreich zum verstehen
Wenn euch sonst noch etwas auffällt, was ich falsch gemacht habe, schreibt auch das gerne. Nur durch Kritik und Belehrung lernt der menschliche Verstand ^^
Ich danke auf jeden Fall für jede Hilfe!
Dies wäre mein Code bis jetzt:
[CODE lang="java" title="Textadventure" highlight="56"]import java.util.Random;
import java.util.Scanner;
public class Game {
public static void main(String[] args) {
// System Objects
Scanner in = new Scanner(System.in);
Scanner auswahl = new Scanner(System.in);
Scanner wahl2 = new Scanner(System.in);
Random rand = new Random();
// Player Variables
int playerHealth = 10;
int playerBasicDamage = 1;
int maxPotionAmount = 3;
String[] lowTierItems = {"Dolch, Kurzschwert, Speer, Claymore,"};
// Enemy Variables
// Regular Vampyres
int maxVampHealth = 20;
int maxVampHit = 3;
// Vampyre Lord
int maxHealthVampLord = 50;
int maxHitVampLord = 20;
boolean running = true;
while (running) {
System.out.println("Du wirst wach und fühlst du angeschlagen...");
in.nextLine();
System.out.println("Als du dich umschaust bemerkst du, du bist in einer Gruft!");
in.nextLine();
System.out.println("Dir ist nicht bewusst wie du hier hineingeraten bist... was wirst du tun?");
in.nextLine();
System.out.println("1. Du schaust dich in der Gruft um.");
System.out.println("2. du verlässt die Gruft.\n");
int wahl = auswahl.nextInt();
switch (wahl)
{
case 1:
System.out.println("Du schaust dich um... die Gruft ist moosig, nass und sehr kalt."
+ "Du hörst wie Fackeln an den Wänden knistern und knacken.");
System.out.println("In der Ecke der Gruft, wo die Lichtstraheln der Fackeln gerade noch so scheinen findest du eine Waffen!"
+ "möchtest du die Waffe nehmen?\n");
System.out.println("1. Ja, unbedingt!");
System.out.println("1. Nein, lieber nicht.");
wahl2.nextInt();
if(wahl == 1)
{
int waffe = (int) (Math.random() * lowTierItems.length);
System.out.println("Du hast folgende Waffe gefunden: " + (lowTierItems[waffe]) + "!");
}
else
{
//Hier kommt noch etwas nach der Lösung mit dem Array!
}
break;
case 2:
System.out.println("Rechts von dir siehst du Lichtstrahlen, auch wenn nur wenig. Du bewegst dich drauf zu"
+ "und findest den erhofften Ausgang aus der Gruft.");
break;
}
}
}
}
[/CODE]
Ich fange gerade erst an mit der Programmierung und versuche mir anhand eines Text Adventure meine Fähigkeiten zu erweitern. Ich lese die Theorie und versuche meine Idee dann praktisch umzusetzen. Bis jetzt läuft es ganz gut, nur bin ich auf ein Problem gestoßen. Ich habe ein Array für verschiedene Gegenstände(siehe Zeile 18) angelegt und möchte nun einen zufälligen Gegenstand ausgeben. Ich habe schon mehrere Sachen probiert doch entweder gibt er mir das gesamte Array aus oder es kommt nur die Zahl 0, obwohl das Array ein String ist.
Falls ihr mir weiterhelfen könntet, mit einer Erklärung warum genau das so abläuft wie ihr es schreibt, wäre wirklich hilfreich zum verstehen
Wenn euch sonst noch etwas auffällt, was ich falsch gemacht habe, schreibt auch das gerne. Nur durch Kritik und Belehrung lernt der menschliche Verstand ^^
Ich danke auf jeden Fall für jede Hilfe!
Dies wäre mein Code bis jetzt:
[CODE lang="java" title="Textadventure" highlight="56"]import java.util.Random;
import java.util.Scanner;
public class Game {
public static void main(String[] args) {
// System Objects
Scanner in = new Scanner(System.in);
Scanner auswahl = new Scanner(System.in);
Scanner wahl2 = new Scanner(System.in);
Random rand = new Random();
// Player Variables
int playerHealth = 10;
int playerBasicDamage = 1;
int maxPotionAmount = 3;
String[] lowTierItems = {"Dolch, Kurzschwert, Speer, Claymore,"};
// Enemy Variables
// Regular Vampyres
int maxVampHealth = 20;
int maxVampHit = 3;
// Vampyre Lord
int maxHealthVampLord = 50;
int maxHitVampLord = 20;
boolean running = true;
while (running) {
System.out.println("Du wirst wach und fühlst du angeschlagen...");
in.nextLine();
System.out.println("Als du dich umschaust bemerkst du, du bist in einer Gruft!");
in.nextLine();
System.out.println("Dir ist nicht bewusst wie du hier hineingeraten bist... was wirst du tun?");
in.nextLine();
System.out.println("1. Du schaust dich in der Gruft um.");
System.out.println("2. du verlässt die Gruft.\n");
int wahl = auswahl.nextInt();
switch (wahl)
{
case 1:
System.out.println("Du schaust dich um... die Gruft ist moosig, nass und sehr kalt."
+ "Du hörst wie Fackeln an den Wänden knistern und knacken.");
System.out.println("In der Ecke der Gruft, wo die Lichtstraheln der Fackeln gerade noch so scheinen findest du eine Waffen!"
+ "möchtest du die Waffe nehmen?\n");
System.out.println("1. Ja, unbedingt!");
System.out.println("1. Nein, lieber nicht.");
wahl2.nextInt();
if(wahl == 1)
{
int waffe = (int) (Math.random() * lowTierItems.length);
System.out.println("Du hast folgende Waffe gefunden: " + (lowTierItems[waffe]) + "!");
}
else
{
//Hier kommt noch etwas nach der Lösung mit dem Array!
}
break;
case 2:
System.out.println("Rechts von dir siehst du Lichtstrahlen, auch wenn nur wenig. Du bewegst dich drauf zu"
+ "und findest den erhofften Ausgang aus der Gruft.");
break;
}
}
}
}
[/CODE]