3tilføjet af

Java programmerings problem..

Hej. (altid en god måde at starte tingene på 🙂)
Jeg er begyndt at programmere i sproget Java (efter at have prøvet VB og C#) i NetBeans IDE og jeg har et lille problem.
Det er fordi at jeg vil lave et spil hvor man skal logge ind med en kode (man har 3 forsøg til det) og så efter det kan man skrive nogen "fil" navne (ikke rigtige filer 🙂) og så kommer der en tekst.
Mit problem eller.. ProblemER 😕 er
1. Jeg kan ikke lave en int med tekst som f.eks. kan jeg godt lave "int kode = 123" men jeg kan ikke lave "int kode = abc" (hvis nu koden er abc)
2. Jeg har lavet en "do" event som slutter hvis man skriver den rigtige kode (med en "while" event) men jeg skal også have en "while" eller måske noget inde i min "do" event til hvis man skriver forkert 3 gange for så skal spillet jo slutte..
Jeg håber at der er nogen som ved hvad der kan gøres 🙂


!SOURCE CODE!
package filechecker;
import java.util.Scanner;
/*
* Lavet af: Martin
*
* -Beskrivelse-
* File Checker er et meget simpelt spil hvor man skal svare på nogen ting og så kan man skrive et fil navn ind (a.k.a. bare noget som jeg har fundet på)
* Og så kan man få en masse mærkeligt tekst og sådan
*
* Man har 3 forsøg til at skrive en rigtig kode. Hvis man vil gette koden kan man hacke og måske få en kode eller også kan det gå galt og spillet slutter.
*/
public class Main {

public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int tast;
int kode = 123;
int forsøg = 3;
System.out.println("Velkommen til File Checker.");
System.out.println("Skriv venligst en kode.");
do {
tast = keyboard.nextInt();
if (tast == kode) System.out.println("Koden blev godkendt og du har nu fuld adgang til alle filer");
forsøg--;
if (forsøg == 0) System.out.println("Koden blev ikke godkendt. Du har brugt alle dine forsøg.");
else if (tast != kode) System.out.println("Koden blev ikke godkendt. Du har "+ forsøg +" forsøg tilbage");
}
while (tast != kode);
}
}
tilføjet af

Jeg glemte (måske ikke nødvendigt meeeen..)

Jeg glemte at sige at man også kan skrive nogen andre former for koder som gør at man "hacker" til at få flere forsøg eller komme ind eller at man er uheldig og spillet slutter 🙂
tilføjet af

Start med at se på hvad Int er

Int er til tal (og bemærk at du bruger danske tegn i variabelnavne - det skal nok give problemer)... Hvis jeg var dig ville jeg putte kodeordet i en string og sammenligne den.
Hvad ang. dine loops, så kan du lave det på flere måder... Du har ganske rigtigt en tæller (som du kalder forsøg), som du tæller ned til 0, men du breaker ikke ud af din løkke...

if (forsøg == 0) {
System.out.println("Koden blev ikke godkendt. Du har brugt alle dine forsøg.");
break;
} else ....

Men derudover ville jeg nok have en variable (fx en boolean) der sættes afh. af om koden er gættet eller ikke, så du kan checke senere i programmet, men mindre du vil have al koden derinde..

Uden at lave for meget om, og uden at have prøvet det af - noget al la:
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int tast;
int kode = 123; // denne bør laves om til fx en string
int forsoeg = 3;
boolean gaettet = false;
System.out.println("Velkommen til File Checker.");
System.out.println("Skriv venligst en kode.");
do {
tast = keyboard.nextInt(); // Dette bør laves om, og til en string, og med noget
// inputcontrol
if (tast == kode){
gaettet = true;
System.out.println("Koden blev godkendt og du har nu fuld adgang til alle filer");
break;
}
forsoeg--;
if (forsoeg == 0) {
gaettet = false; // Ikke nødvendigt da de allerede sættes false under definitionen
System.out.println("Koden blev ikke godkendt. Du har brugt alle dine forsøg.");
break;
} else
if (tast != kode) System.out.println("Koden blev ikke godkendt. Du har "+ forsoeg +" forsøg tilbage");
}
while (tast != kode);
if (gaettet == true) {
// Kode der skal udføres hvis kodeordet er gættet
} else {
// Kode er skal udføres hvis kodeordet IKKE er gættet
}

Men oversættelse til strings fremfor integers vil være en god øvelse for dig..
God fornøjelse med studiet af datatyper. :-)
tilføjet af

Mange 1.000 tak men..

1.000 tak for det 🙂
Jeg har lige lært noget som jeg ikke havde tænkt på 🙂
Jeg havde slet ikke regnet med at nogen ville svare så jeg er meget glad nu 😃
Men.. Jeg vidste faktisk godt at en int var tal (uden , 🙂) men er der da ikke en måde at få bogstaver ind i det?

Ellers 1.000 tak 🙂
SuperDebat.dk er det tidligere debatforum på SOL.dk, som nu er skilt ud separat.