zeezy Skrevet 16. september 2010 Del Skrevet 16. september 2010 Har jobbet på ett tekst basert Java spill i noen dager nå, og har allerede fått et problem som jeg ikke forstår bæret av! Så det er slik: spilleren får ett valg helt på begynnelsen av spillet, hvor han blant annet kan få litt info om stats og slikt. Problemet mitt er at når jeg nå kjører spillet, og velger kommando valget, så skriver jeg inn info, og den bare gir meg to eller tre linjer å trykke enter på, det fungerer ikke Lenke til kommentar
South_Bridge Skrevet 16. september 2010 Del Skrevet 16. september 2010 Kan ikke du paste litt kode på hva du tror problemet er. Lenke til kommentar
zeezy Skrevet 16. september 2010 Forfatter Del Skrevet 16. september 2010 (endret) Her er Command funksjonen: public void Command(){ boolean cmdFound = false; while(!cmdFound){ System.out.print("Please enter the command, or type help for a list of commands:"); String cmd = bucky.nextLine(); if(cmd=="help"||cmd=="Help"){ baseFunction.CMDHelp(); cmdFound = true; } else if(cmd=="Info" || cmd=="info"){ cmdFound = true; System.out.print("Your character's name is "); System.out.println(this.Name); System.out.print("You are level "); System.out.println(this.Level); System.out.print("You have "); System.out.print(this.XP); System.out.println(" XP."); } else { System.out.println("Error: command not found"); }} } Som blir kalt av GetAction(): public int GetAction(String Option1, String Option2, String Option3){ int Answer; System.out.println("What do you want to do?"); System.out.print("1)"); System.out.println(Option1); System.out.print("2)"); System.out.println(Option2); System.out.print("3)"); System.out.println(Option3); System.out.println("4)Different command"); Answer = bucky.nextInt(); return Answer; } Som i sin tur blir kalt av en switch i Main(String args[]) Endret 16. september 2010 av zeezy Lenke til kommentar
nirolo Skrevet 16. september 2010 Del Skrevet 16. september 2010 En feil du har er at du sammenligner stringer med ==. Bruk i stedet minString.equals("Noe annet"); evt minString.equalsIgnoreCase("Noe annet"); Når du bruker == på objekter så må de være det samme objektet for at sammenligningen skal fungere. At to stringer er like betyr ikke at de er det samme objektet. Hvorvidt det er problemet du har nå vet jeg ikke, da det var litt vanskelig å forstå hva som skjedde/ikke skjedde. Lenke til kommentar
zeezy Skrevet 16. september 2010 Forfatter Del Skrevet 16. september 2010 Det fungerte delvis, men nå har jeg et problemer: Programmet tror at jeg trykker på Enter før jeg gjør noe som helst, og sier "Error: command not found" (som er det jeg har sagt at den skal si dersom den ikke finner kommandoen) Lenke til kommentar
nirolo Skrevet 17. september 2010 Del Skrevet 17. september 2010 Tipper at det har noe med String cmd = bucky.nextLine(); Hva er bucky? Sjekk hva nextLine(); gjør på denne siden så ser du kanskje problemet. Uten å vite hvilken type bucky er, er det vanskelig å gi deg noen bedre tips. Jeg ville forøvrig brukt en BufferedReader og metoden readLine() (se dokumentasjon samme sted for detaljer om dette). Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå