March 17
giochi di dadi semplici possono essere facilmente creati in Java con la creazione di un wrapper per la classe Random chiamato dadi. Questo involucro includerà un semplice gioco di dadi e può essere utilizzato come un'astrazione dadi all'interno di un programma più ampio, senza doversi preoccupare di semi di numeri casuali e altri dettagli tecnici. Poiché è destinata ad essere estensibile, questa classe comprende opzioni per impostare il numero di lati di un dado e il numero di rotoli simultanei da eseguire.
1 Creare una interfaccia \ "Arrotolabile \". Questo può essere fatto creando un nuovo file di classe e scrivere il seguente interno:
/ **
Questa interfaccia definisce gli oggetti che sono in grado di essere arrotolato nel modo di dadi.
@author Ambra Rollins
* /
interfaccia pubblica Arrotolabile {
/ **
Tira un singolo oggetto e restituisce il risultato del tiro. @ Restituisce il risultato del tiro
* /
int rotolo ()
ANDARE
/ **
Tirano un numero di oggetti e restituire il totale arrotolato. Numero @ param il numero di oggetti da lanciare @ restituire la somma totale di tutti i tiri
* /
int rotolo (numero int)
ANDARE
}
2 Creare una classe \ "Dice \" che implementa l'interfaccia avvolgibile. L'interfaccia definisce la funzionalità minima che verrà richiesto per una classe di dadi, ma che l'interfaccia deve ancora essere attuato.
public class Dice {
// Compilare il resto con i passaggi 3-5.
}
3 Scrivere due costruttori, uno che non prende argomenti che assume viene creato un dado a sei lati, e un'altra che prende il numero di lati del dado come argomento.
/ **
* A die is created with 6 sides.
*/
public Dice() {
random = new Random()
ANDARE
sides = 6
ANDARE
}
/ **
* Un dado viene creato con un determinato numero di lati.
* @param lati il numero di lati allo stampo
* /
Dice pubblico (int i lati) {
Questo()
ANDARE
this.sides = sides
ANDARE
}
4 Scrivi le due funzioni rotolo per soddisfare i requisiti di interfaccia dichiarati nel avvolgibile. Una funzione sarà utilizzato per eseguire un singolo rotolo, e il secondo sarà utilizzato per estendere quello di eseguire una serie di rulli in una sola volta e restituendo il risultato.
public int roll() {
// Add 1 because the possible results run from 0 through sides-1 (see references 1), and this is not how ordinary dice behave.
return random.nextInt(sides)+1
ANDARE
}
public int rotolo (numero int) {
INT = totale 0
ANDARE
for (int x = 0; x < number; x++) {
total += roll()
ANDARE
}
return total
ANDARE
}
5 Scrivere una funzione principale che giocherà un semplice gioco di dadi alta rotolo. Questo gioco permetterà a due giocatori di raggiungere tira un singolo die, e il rullo più alto vincerà.
public static void main(String[] args) {
try {
Dice d = new Die()
ANDARE
System.out.println(\"Player one...press any key to roll.\")
ANDARE
System.in.read()
ANDARE
int oneRolls = d.roll()
ANDARE
System.out.println(\"Player one rolls a \" + oneRolls)
ANDARE
System.out.println(\"Player two...press any key to roll.\")
ANDARE
System.in.read()
ANDARE
int twoRolls = d.roll()
ANDARE
System.out.println(\"Player two rolls a \" + twoRolls)
ANDARE
if (oneRolls > twoRolls) {
System.out.println(\"Player one wins.\")
ANDARE
} else {
System.out.println(\"Player two wins.\")
ANDARE
}
} Catch (IOException e) {
e.printStackTrace ()
ANDARE
System.exit(-1)
ANDARE
}
}