ConwayLife Sprint2

Introduction

Goal: dotare il GAME OF LIFE DI CONWAY di una interfaccia grafica di interazione con l'utente, per realizzare il requisito R2.

Requirements

  1. Dotare il gioco Life di una pagina HTML come dispositivo di I/O.
  2. La pagina deve costituire un componente interno alla applicazione, seguendo l'architettura riportata in IoJavalin.
  3. Il gestore del gioco sarà l’utente che ha aperto per primo (Owner) la pagina HTML collegata. Solo la pagina dell’Owner avrà i pulsanti di comando START / STOP / CLEAN / EXIT attivi.
  4. La pagina HTML deve essere aggiornata in modo automatico man mano che il gioco procede.
  5. Un utente non-owner che si collega mentre il gioco è in corso deve poter visualizzare correttamente lo stato attuale della griglia.
  6. Il deployment del gioco deve avvenire mediante Docker.

Requirement analysis

Per le classi ed i test dell'architettura del gioco Life fare riferimento allo sprint 2

L'interfaccia di Input/Output con il browser è la seguente:

public interface IOutDev {
	public void display(String msg); // For HMI
	
	public void displayCell(IGrid grid, int x, int y);

	public void close();

	void displayGrid(IGrid grid);
 

}

Problem analysis

L'evoluzione del gioco è la distribuzione web del gioco, come richiesto dal committente, viene utilizzato a tal fine un server Javalin (leggero e facile da utilizzare) e la tecnologia websocket.
IOJavalinInt

Test plans

Test mantenuti dallo sprint1:

Project

Testing

Deployment

La distrib. dell'applicazione avviene sotto forma di container Docker.

Passi:

  1. Creare immagine Docker:
    docker build -t conway-web-gui:1.0 .
  2. Avviare il container:
    docker run -p 8080:8080 --rm conway-web-gui:1.0
  3. Accedere all'indirizzo: http://localhost:8080.

Maintenance



By Luca Zanarini email: luca.zanarini2@studio.unibo.it, foto GIT repo: https://github.com/LZanaaa/ISS26