Skip to content

Commit a92e232

Browse files
committed
Merge branch 'release-1.3.0'
2 parents 3ea00e1 + 321fefb commit a92e232

File tree

222 files changed

+9020
-5395
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

222 files changed

+9020
-5395
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ branches:
2323
- refactor
2424

2525
script:
26-
- './gradlew clean build'
26+
- './gradlew clean build -P=travis'

backlog/ Sprint-4.csv

Lines changed: 0 additions & 29 deletions
This file was deleted.

backlog/Product-backlog.csv

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
,,,Size estimated at sprint,,,
2-
Priority,Item,Initial Size Estimated,1,2,3,4
3-
1,Design e creazione architettura di base del sistema,44,0,0,0,0
4-
2,Interfaccia menù principale,6,1,1,0,0
5-
3,Visualizzazione cellule del livello,13,0,0,0,0
6-
4,Gestione movimento cellule del livello,11,6,3,0,0
7-
5,Cellule devono reagire a input utente,8,0,0,0,0
8-
6,Caricamento definizione livello e cellule da file,8,4,0,0,0
9-
7,Gestione collisioni tra cellule,10,10,0,0,0
10-
8,Spawn cellule durante movimento,6,6,0,0,0
11-
9,Eliminazione cellule quando troppo piccole,2,2,0,0,0
12-
10,Gestione fine partita,7,7,3,0,0
13-
11,Gestione gravità,16,16,0,0,0
14-
12,Design texture livello e cellule,6,6,2,0,0
15-
13,Schermata selezione livelli,3,3,1,0,0
16-
14,Definizione progressione giocatore tra livelli,2,2,1,1,1
17-
15,Modalità Simulazione,2,2,0,0,0
18-
16,Implementazione Intelligenza Artificiale,40,40,40,15,0
19-
17,Implementazione Multigiocatore,50,50,50,13,0
20-
18,Creazione animazioni,4,4,2,2,1
21-
19,Gestione effetti sonori,6,6,6,6,2
22-
20,Gestione impostazioni di gioco,8,8,8,8,8
23-
21,Editor Livelli,12,12,12,18,2
24-
22,Statistiche di gioco,6,6,6,6,6
1+
,,,Size estimated at sprint,,,,
2+
Priority,Item,Initial Size Estimated,1,2,3,4,5
3+
1,Design e creazione architettura di base del sistema,44,0,0,0,0,0
4+
2,Interfaccia menù principale,6,1,1,0,0,0
5+
3,Visualizzazione cellule del livello,13,0,0,0,0,0
6+
4,Gestione movimento cellule del livello,11,6,3,0,0,0
7+
5,Cellule devono reagire a input utente,8,0,0,0,0,0
8+
6,Caricamento definizione livello e cellule da file,8,4,0,0,0,0
9+
7,Gestione collisioni tra cellule,10,10,0,0,0,0
10+
8,Spawn cellule durante movimento,6,6,0,0,0,0
11+
9,Eliminazione cellule quando troppo piccole,2,2,0,0,0,0
12+
10,Gestione fine partita,7,7,3,0,0,0
13+
11,Gestione gravità,16,16,0,0,0,0
14+
12,Design texture livello e cellule,6,6,2,0,0,0
15+
13,Schermata selezione livelli,3,3,1,0,0,0
16+
14,Definizione progressione giocatore tra livelli,2,2,1,1,1,0
17+
15,Modalità Simulazione,2,2,0,0,0,0
18+
16,Implementazione Intelligenza Artificiale,40,40,40,15,0,0
19+
17,Implementazione Multigiocatore,50,50,50,13,0,0
20+
18,Creazione animazioni,4,4,2,2,1,0
21+
19,Gestione effetti sonori,6,6,6,6,2,0
22+
20,Gestione impostazioni di gioco,8,8,8,8,8,0
23+
21,Editor Livelli,12,12,12,18,2,0
24+
22,Statistiche di gioco,6,6,6,6,6,0

backlog/Sprint-4.csv

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,29 @@
11
Item,Sprint Task,Volunteer,Initial Estimate of Effort,Final Effort,Remaining Effort
2-
Editor Livelli,"Fornire all'editor livelli: tipologie di cellule, tipologie di mappe, regole di vittorie e di rimbalzo",Andrea Procucci,2,,
3-
,Salvataggio del livello creato su file json e definizione del punto di salvataggio livelli,Andrea Procucci,1,,
4-
,Creazione nuova scena con canvas,Marco Galassi,2,,
5-
,Creazione screen per mostrare le istruzioni all'utente,Marco Galassi,3,,
6-
,Design dell'UI e delle operazioni possibili per l'utente,Marco Galassi,10,,
7-
Implementazione Intelligenza Artificiale in Scala,IA che insegue il player ed evita le cellule più grandi (senza perdita di massa),Andrea Placuzzi,3,,
8-
,IA che perde massa,Andrea Placuzzi,10,,
9-
Implementazione Intelligenza Artificiale in Prolog,IA che insegue il player (senza perdita di massa),Giacomo Venturini,2,,
10-
Multigiocatore a n giocatori,Creazione scena di inserimento dati,Marco Galassi + Davide Giacomini,1,,
11-
,Implementazione server (primo client che chiede setup),Davide Giacomini,2,,
12-
,"Implementazione client (disattivazione game loop, invio input, ricezione dati per draw entità)",Davide Giacomini,2,,
13-
,Implementazione delle interazioni tra view e controller (logica temporale del collegamento tra utenti),Marco Galassi + Davide Giacomini,2,,
14-
,Validation and performance testing,Davide Giacomini,6,,
15-
Gestione telecamera,"Creare supporto per telecamera, inizialmente fissa per le simulazioni",Marco Galassi,2,,
16-
,Fare in modo che la telecamera segua sempre la cellula del giocatore,Marco Galassi,1,,
17-
Definizione progressione giocatore tra livelli,Creazione dei livelli,Giacomo Venturini,2,,
18-
,Bilanciamento e testing valori di gioco,Giacomo Venturini,2,,
19-
Creazione animazioni,Aggiunta effetti grafici ai menù,Giacomo Venturini,4,,
20-
Gestione effetti sonori,Musica di background per menù e livello,Andrea Procucci,2,,
21-
Gestione impostazioni di gioco,Controllo volume effetti sonori,Andrea Procucci,2,,
22-
Statistiche di gioco,Numero di vittorie e sconfitte per ogni livello di campagna,Andrea Procucci,2,,
23-
Revisione finale,Refactoring + controllo di stile,Giacomo Venturini,3,,
2+
Editor Livelli,"Fornire all'editor livelli: tipologie di cellule, tipologie di mappe, regole di vittorie e di rimbalzo",Andrea Procucci,2,1,0
3+
,Salvataggio del livello creato su file json e definizione del punto di salvataggio livelli,Andrea Procucci,1,3,0
4+
,Creazione dei componenti per la creazione dei livelli,Marco Galassi,10,15,0
5+
,Creazione nuova scena con canvas,Marco Galassi,2,5,0
6+
,Creazione scena per mostrare i livelli custom,Marco Galassi,5,5,0
7+
,Creazione screen per mostrare le istruzioni all'utente,Marco Galassi,3,3,0
8+
,Design dell'UI e delle operazioni possibili per l'utente,Marco Galassi,10,15,0
9+
Implementazione Intelligenza Artificiale in Scala,IA che insegue il player ed evita le cellule più grandi (senza perdita di massa),Andrea Placuzzi,3,3,0
10+
,IA che perde massa,Andrea Placuzzi,10,10,0
11+
Implementazione Intelligenza Artificiale in Prolog,IA che insegue il player (senza perdita di massa),Giacomo Venturini,2,Aborted,Aborted
12+
Multigiocatore a n giocatori,Creazione scena di inserimento dati,Marco Galassi + Davide Giacomini,1,6,0
13+
,Implementazione server (primo client che chiede setup),Davide Giacomini,2,2,0
14+
,"Implementazione client (disattivazione game loop, invio input, ricezione dati per draw entità)",Davide Giacomini,2,2,0
15+
,Implementazione delle interazioni tra view e controller (logica temporale del collegamento tra utenti),Marco Galassi + Davide Giacomini,2,8,0
16+
,Creazione scena per mostrare i possibili livelli multiplayer per il server,Marco Galassi,5,5,0
17+
,Validation and performance testing,Davide Giacomini,6,10,0
18+
,Configurazione akka alternativa per serializzazione tramite kryo serializer,Davide Giacomini,2,5,0
19+
,Gestione crash/disconnessione client e/o server tramite funzione watch akka,Davide Giacomini,6,6,0
20+
Gestione telecamera,"Creare supporto per telecamera, inizialmente fissa per le simulazioni",Marco Galassi + Giacomo Venturini,2,4,2
21+
,Fare in modo che la telecamera segua sempre la cellula del giocatore,Marco Galassi + Giacomo Venturini,1,4,2
22+
Definizione progressione giocatore tra livelli,Creazione dei livelli,Giacomo Venturini,2,2,2
23+
,Bilanciamento e testing valori di gioco,Giacomo Venturini,2,2,2
24+
Creazione animazioni,Aggiunta effetti grafici ai menù,Giacomo Venturini,4,4,1
25+
,Creazione di alert,Giacomo Venturini,-,2,1
26+
Gestione effetti sonori,"Musica di background per menù, livello e bottoni",Andrea Procucci,2,2,0
27+
Gestione impostazioni di gioco,Controllo volume effetti sonori,Andrea Procucci,2,2,0
28+
Statistiche di gioco,Numero di vittorie e sconfitte per ogni livello di campagna il tutto salvato su file,Andrea Procucci,2,3,0
29+
Revisione finale,Refactoring + controllo di stile,Giacomo Venturini,3,3,3

backlog/Sprint-5.csv

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Item,Sprint Task,Volunteer,Initial Estimate of Effort,Final Effort,Remaining Effort
2+
Gestione telecamera,"Creare supporto per telecamera, inizialmente fissa per le simulazioni",Marco Galassi + Giacomo Venturini,10,10,0
3+
,Possibilità di fare lo zoom,Marco Galassi + Giacomo Venturini,7,7,0
4+
,Fare in modo che la telecamera segua sempre la cellula del giocatore,Marco Galassi + Giacomo Venturini,10,10,0
5+
Definizione progressione giocatore tra livelli,Creazione dei livelli,Andrea Procucci,2,2,0
6+
,Collegamento controller e view per gestione vittoria/sconfitta e aggiornamento/salvataggio progresso,Davide Giacomini,1,1,0
7+
,Bilanciamento e testing valori di gioco,Giacomo Venturini,2,2,0
8+
Creazione animazioni,Aggiunta effetti grafici ai menù,Giacomo Venturini,1,1,0
9+
,Creazione di alert,Giacomo Venturini,1,1,0
10+
Gestione impostazioni di gioco,Salvataggio delle impostazioni scelte su file. Caricamento delle impostazioni salvate all'avvio del gioco.,Andrea Procucci,2,2,0
11+
,Creazione schermata per accedere alle impostazioni,Giacomo Venturini,2,2,0
12+
Statistiche di gioco,Refactoring gestione delle statistiche ,Andrea Procucci,3,6,0
13+
,Creazione schermata/nodi per visualizzare le statistiche,Giacomo Venturini + Marco Galassi,5,5,0
14+
Revisione finale,Refactoring + controllo di stile,Giacomo Venturini + Andrea Placuzzi,5,7,0
15+
Gestione dinamica velocità di gioco,Modifica velocità di gioco tramite tasti Up e Down,Davide Giacomini,1,1,0
16+
Gestione luci e effetti,Aggiunta di luce che illumina fino alla fine del bordo del livello,Marco Galassi + Giacomo Venturini,2,,0
17+
Gestione errori caricamento livelli,Modifica view e controller per gestire e mostrare tutti gli errori durante il caricamento dei livelli,Davide Giacomini,2,2,0
18+
Manutenzione Multiplayer,"Revisione, testing e aggiornamento (se necessario causa refactor di altre parti del gioco base)",Davide Giacomini,10,20,0

build.gradle

Lines changed: 42 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,25 @@
1+
buildscript {
2+
repositories {
3+
jcenter()
4+
}
5+
dependencies {
6+
classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.4'
7+
}
8+
}
9+
plugins {
10+
id "org.scoverage" version "2.1.0"
11+
id "com.github.maiflai.scalatest" version "0.21"
12+
}
13+
114
apply plugin: 'java'
215
apply plugin: 'scala'
316
apply plugin: 'idea'
417
apply plugin: 'application'
18+
apply plugin: 'com.github.johnrengelman.shadow'
19+
apply plugin: 'org.scoverage'
20+
apply plugin: 'com.github.maiflai.scalatest'
521

6-
version '1.2.0'
22+
version '1.3.0'
723

824
mainClassName = 'it.unibo.osmos.redux.main.AppLauncher'
925
sourceCompatibility = 1.8
@@ -24,7 +40,12 @@ sourceSets {
2440
srcDirs = ["src/test/resources"]
2541
}
2642
scala {
27-
srcDirs = ["src/test/scala/travis"]
43+
if (project.hasProperty("travis")) {
44+
// excluding test that travis can't run
45+
srcDirs = ["src/test/scala/travis"]
46+
} else {
47+
srcDirs = ["src/test/scala"]
48+
}
2849
}
2950
}
3051
}
@@ -40,7 +61,6 @@ dependencies {
4061
compile group: 'org.scalafx', name: 'scalafx_2.12', version: '8.0.144-R12'
4162

4263
compile group: 'io.spray', name: 'spray-json_2.12', version: '1.3.4'
43-
compile group: 'it.unibo.alice.tuprolog', name: 'tuprolog', version: '3.2.1'
4464

4565
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.6'
4666

@@ -53,10 +73,14 @@ dependencies {
5373
testCompile group: 'org.scalatest', name: 'scalatest_2.12', version: '3.0.5'
5474
testCompile group: 'org.scalamock', name: 'scalamock-scalatest-support_2.12', version: '3.6.0'
5575
testCompile group: 'com.typesafe.akka', name: 'akka-testkit_2.12', version: '2.5.14'
76+
77+
testRuntime 'org.pegdown:pegdown:1.4.2'
78+
scoverage 'org.scoverage:scalac-scoverage-plugin_2.12:1.3.1'
79+
scoverage 'org.scoverage:scalac-scoverage-runtime_2.12:1.3.1'
5680
}
5781

5882
// running <<gradle test>> runs also scalaTests
59-
test.dependsOn('scalaTests')
83+
//test.dependsOn('scalaTests')
6084

6185
// necessary for running scala tests without adding
6286
// @RunWith(classOf[JUnitRunner]) to each test class
@@ -66,30 +90,20 @@ task scalaTests(dependsOn: ['testClasses'], type: JavaExec) {
6690
classpath = sourceSets.test.runtimeClasspath
6791
}
6892

69-
// jar will be saved to build/libs
70-
task fatJar(type: Jar, dependsOn: subprojects.compileJava) {
71-
manifest {
72-
attributes 'Implementation-Title': 'Osmos-Redux',
73-
'Implementation-Version': rootProject.version,
74-
'Main-Class': 'it.unibo.osmos.redux.main.AppLauncher'
75-
}
76-
baseName = "${rootProject.name}"
77-
from(configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) }) {
78-
// remove all signature files
79-
exclude "META-INF/*.SF"
80-
exclude "META-INF/*.DSA"
81-
exclude "META-INF/*.RSA"
82-
exclude 'build'
83-
exclude '.gradle'
84-
exclude 'build.gradle'
85-
exclude 'gradle'
86-
exclude 'gradlew'
87-
exclude 'gradlew.bat'
88-
}
89-
with jar
90-
doLast {
91-
println("fatJar created")
92-
}
93+
// tests can't run parallely or build will fail
94+
test {
95+
maxParallelForks = 1
96+
}
97+
98+
// tests can't run parallely or build will fail
99+
testScoverage {
100+
maxParallelForks = 1
101+
}
102+
103+
shadowJar {
104+
mergeServiceFiles('reference.conf')
93105
}
94106

107+
// gradle scaladoc to generate doc
108+
// gradle reportScoverage to generate coverage
95109
defaultTasks 'clean', 'build'

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
docsDir = docs
1+
docsDir = build/docs
22
scaladocFolder = scaladoc
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
["/levels/multiPlayer/1 - 4 Players.json", "/levels/multiPlayer/2 - 8 Players.json", "/levels/multiPlayer/3 - 7 Players.json"]
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
["/levels/singlePlayer/1.json", "/levels/singlePlayer/2.json", "/levels/singlePlayer/3.json", "/levels/singlePlayer/4.json", "/levels/singlePlayer/5.json"]

0 commit comments

Comments
 (0)