473,321 Members | 1,877 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,321 software developers and data experts.

Help with hangman program

Hi! I was wondering if someone could please help me with a hangman program that I have to do. I have some ideas, but really don't know what to do or where to start. My program needs to be: interactive with the user, menu based(like Menu: 1. Play hangman 2. Exit program), have a dictionaryand use a random method(create arrays of Strings or ListArray of Strings. e.g. : String [] dictionary =
“apple”, “ball”, “cat”, “dog”, …..} minimum words requirement is 200.), more than one method, and one method has to return a value. The final status of the game-8 failed attempts is a loss, each wrong answer should print this:(00)-<=< (hangman), notify the user of the loss and print the correct word, if the user guesses correctly the message should be “ You guessed it right,” and display the Menu again.

Here are my thoughts-
I think I should do a do/while loop like this:

int n;
boolean done = false;
do
{
Scanner scan = new Scanner(System.in);
System.out.print("Enter your selection:\n 1. Play Hangman \n 2.Exit
program");
n = scan.nextInt();

if(n == 1)
{
//hangman program goes here and dictionary (dictionary[rand()%200])
}

if( n==2)
{
done = true;
}

}
while(! done);

System.out.print("GAME OVER");

Here are the 200 words I want to use:
"boy", "girl", "mother", "father", "sister", "love", "sky", "wind", "water", "study", "ball",
"cat", "dog", "puppy", "kitten", "apple", "pear", "lemon", "mango", "peach", "apricot", "chips", "steak", "fries", "cheese",
"patatoe", "wedge", "heel", "hand", "foot", "arm", "leg", "nose", "face", "mouth", "tongue", "fingers", "toes", "line", "space",
"phone", "cord", "core", "grass", "trees", "birds", "animals", "lazy", "funny", "king", "queen", "heart", "heat", "cold", "sun",
"moon", "movie", "theater", "hairy", "big", "small", "large", "huge", "pig", "donkey", "cow", "chicken", "pizza", "bread", "stones",
"sticks", "leaves", "letters", "alphabet", "soup", "hungry", "tired", "sleepy", "noisy", "caring", "friends", "month", "day", "light",
"toothbrush", "savings", "bank", "account", "teller", "paper", "pencil", "tea", "coffee", "spirit", "ghost", "can", "melon", "necklace",
"screen", "baloon", "string", "calendar", "work", "toys", "kids", "school", "class", "campus", "freedom", "liberty", "happiness",
"university", "message", "marker", "crayon", "eraser", "music", "lyrics", "songs", "ballads", "shapes", "triangle", "circle", "rectangle",
"square", "oval", "show", "video", "player", "team", "sport", "basketball", "football", "soccer", "softball", "baseball", "tennis",
"hockey", "lacrosse", "volleyball", "circut", "blade", "scratch", "hit", "home", "house", "safe", "safety", "number", "count", "bear",
"goose", "llama", "panda", "lion", "tiger", "cheetah", "computer", "crackers", "rice", "fan", "shoes", "book", "story", "princess",
"prince", "jester", "court", "jury", "judge", "bench", "scandal", "name", "newspaper", "press", "shove", "tear", "cry", "magic", "tricks",
"cereal", "breakfast", "lunch", "dinner", "main", "course", "fork", "spoon", "knife", "lamp", "desk", "bottle", "highlighter", "cap",
"medicine", "six", "seven", "flower", "rose", "petal"

I know my hangman program should start something like this, but I don't know where to go from here:
public Hangman()
{
misses = 0;
wordIndex = 0;
lettersUsed = new boolean[Character.MAX_VALUE];
}

private void clear()
{
int k;
for(k=0; k < Character.MAX_VALUE; k++) {
lettersUsed[k] = false;
}

Can someone please help me?

Thanks!
Jul 20 '07 #1
4 2581
JosAH
11,448 Expert 8TB
There's another user who hangs around here: Nomad; this user is also interested
in implementing this Hangman game; send him a private message (PM, see
the top right part of your browser window) and see if he's still interested.

If both of you get stuck, feel free to come back here and ask away. First hint:
have a look at the Pattern and Matcher classes.

kind regards,

Jos

ps. and welcome to TSDN.
Jul 20 '07 #2
r035198x
13,262 8TB
And if you really want to make this one good (different categories e.t.c) , you might want to consider storing the words in a text file. Then the curent tip of the week might become relevant in some areas on this one as well.
Jul 21 '07 #3
Ok, so this is what I have so far and I want to use the private boolean contain method to:
1. letters guessed(like add a brand new letter thats wrong or right)
2. the guessed letter (the wrong letter)
3. if they guessed the letter before a statement that says "you guessed this already, please try again"
4. if they enter an invaild answer(like a number)

can someone please help me to do this?
(first file)

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;


public class HangManGame7
{

static String [] dictionary = new String[200];



static String word = "";
static ArrayList guesses = new ArrayList();
static ArrayList wrongLetters = new ArrayList();
static int numberOfTrys = 0;
static String[] deadMan = {"(","0","0",")","-","<","=","<"};

public HangManGame7(){
try {
BufferedReader in = new BufferedReader(new FileReader("dictionary.txt"));
int i = 0;
while (i < 200) {
dictionary[i++] = in.readLine();
}
in.close();
} catch (IOException e) {
System.err.println("Error: File failed to close");
}
}

public void play() {
System.out.print("Let's play HANGMAN!\n");
System.out.println("Instructions: Enter a letter when asked. " +
"Try to guess the word in less than 8 tries to stop from being hanged! Good luck!\n\n");
word = dictionary[(int) (Math.random()%200)] ;
buildWord();
System.out.println("Word "+guesses);
System.out.println("Wrong letters "+wrongLetters);
System.out.println("Status ");
for (int i = 0; i < numberOfTrys; i++){
System.out.println(deadMan[i]);
}

}

private static void buildWord(){
for (int i = 0 ; i < word.length(); i++){
guesses.add("_ ");
}
}

private static void printArray(ArrayList array){
for (int i = 0; i < array.size(); i++){
System.out.println (array.get(i));
}
}


}




(second file )
import java.io.FileNotFoundException;
import java.util.Scanner;


public class Main2
{
public static void main(String[] args) throws FileNotFoundException
{
int choice;
boolean done = false;
do
{
Scanner scan = new Scanner(System.in);
System.out.print("Enter your selection:\n 1. Play Hangman \n 2. Exit program\n\n");
choice = scan.nextInt();

if(choice == 1)
{
HangManGame7 hmg = new HangManGame7();
hmg.play();

}
else if(choice == 2)
{
done = true;
}

}
while(!done);
System.out.print("GAME OVER");
}
}


and the dictionary.txt file i have
boy
girl
mother
father
sister
love
sky
wind
water
study
ball
cat
dog
puppy
kitten
apple
pear
lemon
mango
peach
apricot
chips
steak
fries
cheese
potatoes
wedge
heel
hand
foot
arm
leg
nose
face
mouth
tongue
fingers
toes
line
space
phone
cord
core
grass
trees
birds
animals
lazy
funny
king
queen
heart
heat
cold
sun
moon
movie
theater
hairy
big
small
large
huge
pig
donkey
cow
chicken
pizza
bread
stones
sticks
leaves
letters
alphabet
soup
hungry
tired
sleepy
noisy
caring
friends
month
day
light
toothbrush
savings
bank
account
teller
paper
pencil
tea
coffee
spirit
ghost
can
melon
necklace
screen
balloon
string
calendar
work
toys
kids
school
class
campus
freedom
liberty
happiness
university
message
marker
crayon
eraser
music
lyrics
songs
ballads
shapes
triangle
circle
rectangle
square
oval
show
video
player
team
sport
basketball
football
soccer
softball
baseball
tennis
hockey
lacrosse
volleyball
circuit
blade
scratch
hit
home
house
safe
safety
number
count
bear
goose
llama
panda
lion
tiger
cheetah
computer
crackers
rice
fan
shoes
book
story
princess
prince
jester
court
jury
judge
bench
scandal
name
newspaper
press
shove
tear
cry
magic
tricks
cereal
breakfast
lunch
dinner
main
course
fork
spoon
knife
lamp
desk
bottle
highlighter
cap
medicine
six
seven
flower
rose
petal
Jul 22 '07 #4
r035198x
13,262 8TB
1.) Please don't post all your code and text all the time.
2.) When you have to post code, let it be small snippets of the parts that you need help with.
3.) Have you written down your specs, and design first?

P.S Did you manage to talk to nomad?
Jul 23 '07 #5

Sign in to post your reply or Sign up for a free account.

Similar topics

5
by: tigrfire | last post by:
So I'm trying to write a hangman game and the output is coming out a little strange. Here's my code thus far: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> ...
2
nomad
by: nomad | last post by:
Hello everyone. I'm trying to write a ramdom word program using a arraylist. here is the code so far. class WordClass1 {// there is another PersonClass1 project. private String wd_id; ...
47
by: araujo2nd | last post by:
Originally Posted by araujo2nd my name is andre, im from south africa, i was wondering if any1 could help me with a hangman application, im now in grade 11 and have a huge portfolio piece to do by...
3
by: kaka_hunter | last post by:
#include <iostream> #include <fstream> using namespace std; const int max_tries=7; int earnings=0; int wordnum; void getword () { ifstream fin;
5
by: av3rage | last post by:
I have never done any programming in my life but I have decided to go into engineering and in doing so we have to take this intro to programming course and I am pretty clueless. I am starting to get...
8
by: tidiz | last post by:
Hi, I'm trying to make a hangman game that should look like this: Welcome to Hangman ______ Your guess: c Success! __cc__ Your guess: b
25
by: yottabyte | last post by:
Hey, I just started programming this September and I have an assignment in which I am supposed to create a hangman game. This is my first post on this forum so forgive me for any "noob" mistakes Now...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.