Questo è il problema con cui mi sto occupando. Devo fare un semplice gioco di NIM. Sto imparando java usando un libro fino ad ora ho solo programmi codificati che si occupano di 2 classi. Questo programma avrebbe circa 4 classi, suppongo che includa la classe principale. Il mio problema è che ho difficoltà a progettare le classi come interagiranno tra loro. Voglio davvero pensare e utilizzare un approccio orientato agli oggetti. Quindi la prima cosa che ho fatto è stata la progettazione della Pile CLASS in quanto sembrava la più semplice e più sensata per me in termini di metodi utilizzati.
Ecco cosa ho ottenuto finora per la Pile Class.
package Nim;
import java.util.Random;
public class Pile {
private int initialSize;
public Pile(){
}
Random rand = new Random();
public void setPile(){
initialSize = (rand.nextInt(100-10)+10);
}
public void reducePile(int x){
initialSize = initialSize - x;
}
public int getPile(){
return initialSize;
}
public boolean hasStick(){
if(initialSize>0){
return true;
}
else
{
return false;
}
}
}
Ora ho bisogno di aiuto per progettare la Player Class. Con ciò intendo che non sto chiedendo a nessuno di scrivere codice per me in quanto ciò sconfigge lo scopo dell'apprendimento, mi stavo chiedendo come avrei progettato la classe del giocatore e cosa avrebbe fatto. La mia ipotesi è che la classe del giocatore conterrebbe il metodo per scegliere la mossa per il computer e anche per ricevere la mossa che l'utente umano fa. Infine, sto indovinando nella classe di gioco che sto supponendo che i turni sarebbero stati effettuati. In questo momento mi sto davvero perdendo, quindi mi chiedevo se qualcuno potesse aiutarmi a pensare a questo problema sarebbe fantastico. Iniziando con la classe del giocatore sarebbe apprezzato.
So che ci sono alcune soluzioni per questo problema online, ma mi rifiuto di guardare perché voglio sviluppare il mio approccio a tali problemi e sono certo che se riuscirò a risolvere questo problema posso risolvere altri problemi.
Mi scuso se questa domanda è un po 'scarsa, ma in particolare ho bisogno di aiuto per progettare la classe Player.