Cómo hacer su propio juego de dados por ordenador

by admin

juegos de dados simples pueden ser fácilmente creados en Java mediante la creación de una envoltura alrededor de la clase Random llamada dados. Este envoltorio incluirá un simple juego de dados y se puede utilizar como una abstracción de los dados dentro de un programa más amplio sin tener que preocuparse acerca de las semillas de números aleatorios y otros detalles técnicos. Debido a que está destinado a ser extensible, esta clase incluye opciones para configurar el número de lados de un dado y el número de rollos simultáneas a realizar.

Instrucciones

1 Crear una interfaz de \ "enrollable \". Esto se puede hacer mediante la creación de un nuevo archivo de clase y escribir lo siguiente en su interior:

/ **

Esta interfaz define los objetos que son capaces de ser enrollado en la forma de dados.

@author ámbar Rollins
* /
interfaz pública enrollable {
/ **

Se enrolla un solo objeto y devuelve el resultado de la tirada. @ Devuelve el resultado de la tirada
* /
rollo int ()
IR

/ **

Rodar una serie de objetos y devolver el total de laminados. @ Param número el número de objetos para rodar @ devolver la suma total de todas las tiradas
* /
int rodillo (int numero)
IR
}

2 Crear una clase \ "Dados \" que implementa la interfaz enrollable. La interfaz define la funcionalidad mínima que se requiere para una clase dados, pero esa interfaz todavía necesita ser implementado.

public class {Dados
// Rellene el resto mediante los pasos 3-5.
}

3 Escribir dos constructores, uno que no toma ningún argumento que asume se está creando un dado de seis caras, y otra que lleva el número de lados de la matriz como un argumento.

/ **

* A die is created with 6 sides.
*/
public Dice() {
random = new Random()

IR

sides = 6

IR

}

/ **
* Un dado se crea con un número especificado de lados.
* @param lados del número de lados a la matriz
* /
Dados pública (lados int) {
esta()

IR

this.sides = sides

IR

}

4 Escribe las dos funciones de rodillos para satisfacer los requisitos de la interfaz declarados en enrollable. Una función se utiliza para realizar un solo rollo, y la segunda se utiliza para extender que a la realización de una serie de rodillos de una sola vez y devolviendo el resultado.

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

IR

}

rollo public int (int numero) {
= Int totales 0

IR

for (int x = 0; x < number; x++) {
total += roll()

IR

}
return total

IR

}

5 Escribir una función principal que jugará un simple juego de dados de alta del rodillo. Este juego permitirá a dos jugadores para llegar a rodar un dado, y el rodillo más alta ganará.

public static void main(String[] args) {
try {
Dice d = new Die()

IR

System.out.println(\"Player one...press any key to roll.\")

IR

System.in.read()

IR

int oneRolls = d.roll()

IR

System.out.println(\"Player one rolls a \" + oneRolls)

IR

System.out.println(\"Player two...press any key to roll.\")

IR

System.in.read()

IR

int twoRolls = d.roll()

IR

System.out.println(\"Player two rolls a \" + twoRolls)

IR

if (oneRolls > twoRolls) {
System.out.println(\"Player one wins.\")

IR

} else {
System.out.println(\"Player two wins.\")

IR

}

} Catch (IOException e) {
e.printStackTrace ()

IR

System.exit(-1)

IR

}

}

Consejos y advertencias

  • Java genera números pseudoaleatorios - números que parecen ser al azar, pero no son - a partir de un valor de inicialización. Desde el constructor predeterminado de la clase Random utiliza la hora actual del sistema en milisegundos como un valor de la semilla, múltiples dados generados dentro del mismo milisegundo siempre rodarán los mismos números en el mismo orden. Por esta razón, el objeto aleatoria dentro de la clase dados se declara estática.
ETIQUETA: