Permalänk

Java - HiLo Spel

Tjena Tjena, det är så här att jag har i uppgift att skapa ett HiLo spel som består av tre metoder. Själva skapandet av spelet har inte varit något särskilt problem. Problemet har istället varit att jag måste ha med antal gissningar som ska plockas upp i andra metoden ''playGame'' och skrivas ut ifrån den första ''main'' metoden. De enda sättet jag har fått det att fungera där den faktist räknar gissningarna är att ha med de i sista (tredje: giveResponse) metoden men det är alltså fel enligt beskrivningen till uppgiften. Om någon här hade kunnat ta en titt på koden och försöka hjälpa mig tack!

------------------------------------------------------------------------------------------------------------------------------

import java.util.Scanner;

public class Main {
public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("Välkommen till HiLo");
System.out.println("Välj svårighetsgrad");
System.out.println("1. Lätt (1-10)");
System.out.println("2. Mellan (1-100)");
System.out.println("3. Svår (1-1000)");

int choice = scanner.nextInt();

if (choice == 1) {
System.out.println("Gissa på ett tal mellan 1 och 10");
playGame(10);
}else if (choice == 2) {
System.out.println("Gissa på ett tal mellan 1 och 100");
playGame(100);
}else if (choice == 3) {
System.out.println("Gissa på ett tal mellan 1 och 1000");
playGame(1000);
}
}

public static int playGame (int maxNumber){

Scanner scanner = new Scanner(System.in);
int number = (int) (Math.random() * maxNumber) + 1;

int guess = 0;
int attempts = +1;

while (guess != number) {
guess = scanner.nextInt();
giveResponse(guess, number, attempts++);
}
return guess;
}

public static void giveResponse (int guess, int answer, int attempts){

if (guess < answer) {
System.out.println("Gissningen var för låg!");
}else if (guess > answer) {
System.out.println("Gissningen var för hög!");
}else if (guess == answer) {
System.out.println("Rätt gissning!");
System.out.println("Du lyckades på " + attempts + " försök");
}
}
}

Permalänk
Medlem

Om jag tolkar din formulering rätt så får du fundera på var attempts faktiskt används, och när detta behöver göras. Hint: giveResponse anropas flera gånger.

Visa signatur

Redbox: Asrock B650 Lightning ATX, 7800x3D -20CCO, XFX 6950XT, 2x32GB Corsair Vengence 6400 CL32, WD SN770 2TB, Corsair RMe 1000, Lian Li Lancool 216, Peerless Assassin 120 SE
Purpbox: Z87-Pro, I5 4670K@4.2, Sapphire 290 TRI-X, 2x8GB Crucial Tactical@stock, Deep Silence 1
Samsung Evo 250+500GB + QVO 1TB, 2x1TB 7200RPM backup/lagring
Det var bättre förr: E5300 2600MHz -> 3640MHz, Celeron 300A -> 450MHz