Hei!
Jeg har holdt på med Java i ca. 20 måneder, men sitter litt fast på det siste prosjektet mitt.
Skulle prøve å lage et veldig basic hang-man spill. Alt ser ut til å fungerer greit, utenom at jeg ikke klarer å fylle opp en array som skal bestå av chars. Jeg skal fylle den opp med '_'. som skal representere de tomme plassene i ordet man gjetter på.
Her er koden:
Jeg har holdt på med Java i ca. 20 måneder, men sitter litt fast på det siste prosjektet mitt.
Skulle prøve å lage et veldig basic hang-man spill. Alt ser ut til å fungerer greit, utenom at jeg ikke klarer å fylle opp en array som skal bestå av chars. Jeg skal fylle den opp med '_'. som skal representere de tomme plassene i ordet man gjetter på.
Her er koden:
SPOILER ALERT! Vis spoiler
Kode
/** * HANG-MAN V0.1 * * AUTHOR: VAB * **/ import java.util.Scanner; public class hangMan { public static void main(String args[]) { Scanner keyboard = new Scanner(System.in); // scanner to get input from user int minusPoints = 0, start; char guessChar, temp = '.'; String sWord = ""; // the word that we are supposed to guess (secretWord) System.out.println("WELCOME TO HANGMAN V1.0"); System.out.println("_________________________"); System.out.println(""); toHost(sWord); // Where you place the correctly guessed chars (guessWord) char [] gWord = new char[sWord.length()]; System.out.println("Type 1 to start"); System.out.println(""); start = keyboard.nextInt(); if (start == 1) displayDesc(args); else System.exit(0); fillArray(gWord, sWord); do { displayArray(gWord); System.out.println(""); System.out.println("Minuspoints: " + minusPoints); System.out.println("Guess a character: "); guessChar = keyboard.next().charAt(0); checkGuess (guessChar, gWord, temp, sWord, minusPoints); } while (minusPoints < 7); System.out.println(""); System.out.println("You loose!"); } // game-rules public static void displayDesc(String args[]) { System.out.println("Description: "); System.out.println("You are supposed to guess a secret word."); System.out.println("Every time you guess wrong, you get 1 point."); System.out.println("Once you reach 7 points, you loose."); System.out.println("You win when you are sucessfully guessed the word"); System.out.println(""); } // information to game-host public static void toHost(String word) { Scanner keyboard = new Scanner(System.in); // scanner to get input from user System.out.println("Type in the word to guess: "); word = keyboard.nextLine(); // get input from the user System.out.println("Remember to 'right-click > clear'"); System.out.println("before showing to user"); System.out.println(""); } public static void fillArray(char [] array, String word) { for (int i = 0; i < word.length(); i++ ) array[i] = '_'; } // display the array // DOES NOT WORK public static void displayArray(char [] array) { System.out.print("Word: " ); for (int i = 0; i < array.length; i++) { System.out.println(array[i]); } } public static void checkGuess(char guess, char [] array, char temp, String sWord, int minusPoints) { // search the array and check if the char matches for (int i = 0; i > array.length; i++) { // if the char matches, place it in the array if (guess == sWord.charAt(i)) { temp = sWord.charAt(i); array[i] = temp; } else { minusPoints++; } } } }