关键词 > Java代写

JBlackJack

发布时间:2024-05-14

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

JBlackJack

Regole e Video Tutorial

Regole del gioco: https://it.wikipedia.org/wiki/Blackjack

Video tutorial: https://www.youtube.com/watch?v=G4VQXJH5xE8

Risorse

Online si trovano moltissime immagini di carte da gioco, e siti con campioni audio di pubblico dominio.

Consegna

1)  Consegnare il diagramma delle classi (esclusivamente in formato PDF)

2)   Il progetto eclipse del gioco, con tutte le cartelle relative a codice sorgente e risorse (la classe JBlackJack deve contenere il main del gioco) (esclusivamente in formato ZIP e NON RAR o altri formati)

3)  la documentazione completa generata con javadoc (nella forma di una cartella contenuta nel progetto eclipse del punto 2)

4)   Una relazione INDIVIDUALE (esclusivamente in formato PDF) che

descrive, almeno i seguenti punti IMPORTANTE: UNA

RELAZIONE DI UN PROGETTO SOFTWARE NON

HA UN LIMITE SUPERIORE NEL NUMERO DI

PAGINE (UNA RELAZIONE SERVE A VALORIZZARE IL VOSTRO LAVORO) :

a)   Il numero di matricola

b)  corso (presenza MZ o Teledidattica)

c)   nome, cognome

d)  le decisioni di progettazione relative a ognuna delle specifiche (vedi sotto)

e)   I design pattern adottati, dove  e perchè

f)   l’uso degli stream

g)  altre note progettuali e di sviluppo

Specifiche

1)  Gestione del profilo utente, nickname, avatar, partite giocate, vinte e perse, livello …

2)  Gestione di una partita completa con un giocatore umano contro 1/2/3 giocatori artificiali

3)   Uso appropriato di MVC [1,2], Observer Observable e di altri design pattern. NON IMPLEMENTARE MVC e/o ObservableObserver non è considerata una scelta appropriata, l’adozione è richiesta come SPECIFICA DI PROGETTO.

4)  Adozione di Java Swing [2] o JavaFX [3] per la GUI

5)   Utilizzo appropriato di stream

6)   Riproduzione di audio sample (si veda appendice AudioManager.Java)

7)  Animazioni ed effetti speciali (anche se limitati)

Riferimenti

[1] https://it.wikipedia.org/wiki/Model-view-controller

[2]  Java  Swing e   MVC  Tutorial (Attenzione questa  implementazione di MVC non prevede  l’adozione  di  Observer  Observable,  mentre è richiesto di adottare anche Observer   Observable   per   la   gestione   delle   notifiche provenienti   dal   Model)   :

https://www.youtube.com/watch?v=-NiKk9UqUoo&list=PLU8dZfh0ZIUn7-TDZfSmX9Q RnBgmdJJWD

Append ice (AudioManager.Java)

Provate una delle due versioni, il funzionamento dipende dalle distribuzioni di JRE.

import java.io.FileInputStream;

import java.io.FileNot Found Exception;

import java.io.IOException;

import java.io.InputStream;

import sun.audio.AudioPlayer;

import sun.audio.AudioStream;

public class AudioManager {

private static AudioManager instance;

public static AudioManager get Instance() {

if (instance == null)

instance = new AudioManager();

return instance;

}

private AudioManager() {

}

public void play(String filename) {

try {

InputStream in = new FileInputStream(filename);

AudioStream sound = new AudioStream(in);

AudioPlayer.player.start(sound);

} catch (FileNot Found Exception e1) {

e1.printStackTrace();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

Esempio di riproduzione di un sample audio

AudioManager.get Instance().play("resources/audio/hit.wav");

Altra versione di AudioManager (JDK>9)

import java.io.BufferedInputStream;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import javax.sound.sampled.AudioInputStream;

import javax.sound.sampled.AudioSystem;

import javax.sound.sampled.Clip;

import javax.sound.sampled.LineUnavailableException;

import javax.sound.sampled.UnsupportedAudioFileException;

public class AudioManager {

private static AudioManager instance;

public static AudioManager getInstance() {

if (instance == null)

instance = new AudioManager();

return instance;

}

private AudioManager() {

}

public void play(String filename) {

try {

InputStream in = new BufferedInputStream(new

FileInputStream(filename));

AudioInputStream audioIn = AudioSystem.getAudioInputStream(in); Clip clip = AudioSystem.getClip();

clip.open(audioIn);

clip.start();

} catch (FileNotFoundException e1) {

e1.printStackTrace();

} catch (IOException e1) {

e1.printStackTrace();

} catch (UnsupportedAudioFileException e1) {

e1.printStackTrace();

} catch (LineUnavailableException e1) {

e1.printStackTrace();

}

}

}