⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 game.java

📁 Wicket一个开发Java Web应用程序框架。它使得开发web应用程序变得容易而轻松。 Wicket利用一个POJO data beans组件使得它可以与任何持久层技术相结合。
💻 JAVA
字号:
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.  See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License.  You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.wicket.examples.hangman;import java.util.ArrayList;import java.util.List;import org.apache.wicket.IClusterable;/** * Implementation of the actual hangman game model. The model holds the word generator, the current * word, retries remaining and the correctLetters that have been guessed. It also answers questions * such as whether all retries have been used. *  * @author Chris Turner * @author Jonathan Locke */public class Game implements IClusterable{	/** Number of guesses allowed */	private int guessesAllowed;	/** Number of guesses remaining */	private int guessesRemaining;	/** The letters */	private final List letters = new ArrayList();	/** The word being guessed by the user */	private Word word;	/** Word generator */	private WordGenerator wordGenerator;	/**	 * Return the number of guesses remaining.	 * 	 * @return The number of guesses	 */	public int getGuessesRemaining()	{		return guessesRemaining;	}	/**	 * @return The letters in the game	 */	public List getLetters()	{		return letters;	}	/**	 * Get the current word that is being guessed or has been guessed.	 * 	 * @return The current word	 */	public Word getWord()	{		return word;	}	/**	 * Guess the given letter for the current word. If the letter matches then the word is updated	 * otherwise the guesses remaining counter is reduced. The letter guessed is also recorded.	 * 	 * @param letter	 *            The letter being guessed	 * @return True if guess was correct	 */	public boolean guess(final Letter letter)	{		if (!letter.isGuessed())		{			final boolean correct = word.guess(letter);			if (!correct)			{				guessesRemaining--;			}			return correct;		}		return false;	}	/**	 * Check whether the user has used up all of their guesses.	 * 	 * @return Whether all of the user's guesses have been used	 */	public boolean isLost()	{		return guessesRemaining == 0;	}	/**	 * Check whether the user has successfully guessed all of the correctLetters in the word.	 * 	 * @return Whether all of the correctLetters have been guessed or not	 */	public boolean isWon()	{		return word.isGuessed();	}	/**	 * Play another game with same settings	 */	public void newGame()	{		newGame(guessesAllowed, wordGenerator);	}	/**	 * Initialise the hangman read for a new game.	 * 	 * @param guessesAllowed	 *            Number of guesses allowed	 * @param wordGenerator	 *            The word generator	 */	public void newGame(final int guessesAllowed, final WordGenerator wordGenerator)	{		this.guessesAllowed = guessesAllowed;		this.guessesRemaining = guessesAllowed;		this.word = wordGenerator.next();		this.wordGenerator = wordGenerator;		// Add letters		letters.clear();		for (char c = 'a'; c <= 'z'; c++)		{			letters.add(new Letter(c));		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -