Na de handige tips die ik gekregen heb :
Code: Selecteer alles
import java.util.*;
import java.io.*;
public class Hp
{
public static void main (String[] args)
{
int totalHP = 1000;
int hitDamage;
int currentHP = totalHP;
Input keyboard = new Input();
System.out.println("Typ a or z to attack and e to use a lifepot!");
// Een lijn ingeven!!
// String c = keyboard.readLine();
// System.out.println(c);
while (currentHP > 0)
{
char attackKeyPlayer = keyboard.readChar();
keyboard.readLine();
switch(attackKeyPlayer)
{
case 'a': hitDamage = (int) (75*Math.random()+75);currentHP = currentHP
- hitDamage; System.out.println("The hp of the monster is: "
+currentHP+" / "+ totalHP); System.out.println(" "); break;
// 'a' for small attack
case 'z': hitDamage = (int) (75*Math.random()+150);currentHP = currentHP
- hitDamage; System.out.println("The hp of the monster is: "
+currentHP+" / "+ totalHP); System.out.println(" "); break;
// 'z' for furious attack
case 'e': currentHP = totalHP; System.out.println("The monster used lifepot! "
+ currentHP + " / " + totalHP); break;
// 'e' for full life pot
default: System.out.println("Typ a or z to attack and e to use a lifepot!");
}
}
System.out.println("Het monster is verslagen!" );
System.out.println(" ");
}
}
Behalve de methode systeem. Het is wel zeer handig zoals je zegt, maar zover zitten we nog niet.
Nu heb ik wel een klein probleem.
Code: Selecteer alles
char attackKeyPlayer = keyboard.readChar();
keyboard.readLine();
Je kan een hele lijn ingeven en voor de switch kijkt ie naar de eerste letter/cijfer/.. die ingegeven is.
Als je bv. asdfsdf.. intikt, keurt ie het goed. Niet echt mijn bedoeling. Als er enkel en alleen 'a' ingetikt is, wil ik dat ie het goedkeurt.
Ik dacht meteen aan 'het omzetten naar unicode' en als die gelijk is aan het waarde van 'a' dus 97 dat ie dan het goedkeurt.
Code: Selecteer alles
int uniCode = (int) attackKeyPlayer;
switch(attackKeyPlayer)
{
case 'a': if ( uniCode==97)
{
hitDamage = (int) (75*Math.random()+75);currentHP = currentHP
- hitDamage; System.out.println("The hp of the monster is: "
+currentHP+" / "+ totalHP); System.out.println(" ");
} else
{
System.out.println("Typ a or z to attack and e to use a lifepot!");
} break;
...
Ik krijg geen fouten van de compiler maar het werkt niet.
Suggesties?
floRobi
[Edit: Ik zie nu dat het geen nut heeft om die if binnen de switch functie te zetten aangezien dat ie toch alleen maar naar de eerste letter kijkt.
]