Merge branch 'master' of https://git.etud.insa-toulouse.fr/vergnet/pir-serious-game-ethics
This commit is contained in:
commit
4a7d0656e5
10 changed files with 116 additions and 21 deletions
|
@ -1 +1 @@
|
||||||
{"events":[{"change_timeline":"timeline-1616656510.json"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1616659306.json","name":"_start"}}
|
{"events":[{"change_timeline":"timeline-1617871263.json"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1616659306.json","name":"_start"}}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"events":[{"background":"res://backgrounds/bureauGroupe-2.jpg"},{"action":"join","character":"character-1616658373.json","portrait":"","position":{"0":false,"1":true,"2":false,"3":false,"4":false}},{"character":"character-1616658373.json","portrait":"","text":"Hello"},{"emit_signal":"setup_minigame mode _test_minigame_end"},{"background":""},{"character":"character-1616658373.json","portrait":"","text":"I explain stuff"},{"emit_signal":"start_minigame"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1617871263.json","name":"_test_minigame_start"}}
|
{"events":[{"background":"res://backgrounds/bureauGroupe-2.jpg"},{"action":"join","character":"character-1616658373.json","portrait":"","position":{"0":false,"1":true,"2":false,"3":false,"4":false}},{"character":"character-1616658373.json","portrait":"","text":"Hello"},{"emit_signal":"setup_minigame score _test_minigame_end _test_minigame_end2"},{"background":""},{"character":"character-1616658373.json","portrait":"","text":"I explain stuff"},{"emit_signal":"start_minigame"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1617871263.json","name":"_test_minigame_start"}}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"events":[{"action":"join","character":"character-1616658373.json","portrait":"","position":{"0":false,"1":false,"2":false,"3":true,"4":false}},{"character":"character-1616658373.json","portrait":"","text":"you lost"},{"change_timeline":"timeline-1616661658.json"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1617874348.json","name":"_test_minigame_end"}}
|
{"events":[{"action":"join","character":"character-1616658373.json","portrait":"","position":{"0":false,"1":false,"2":false,"3":true,"4":false}},{"character":"character-1616658373.json","portrait":"","text":"you lost"},{"options":[],"question":"Tu veux réessayer?"},{"choice":"Oui !"},{"emit_signal":"setup_minigame score _test_minigame_end _test_minigame_end2"},{"background":""},{"emit_signal":"start_minigame"},{"choice":"Non"},{"change_timeline":"timeline-1616661658.json"},{"endbranch":""}],"metadata":{"dialogic-version":"1.1","file":"timeline-1617874348.json","name":"_test_minigame_end"}}
|
||||||
|
|
|
@ -7,31 +7,56 @@ onready var foreground := $foreground
|
||||||
onready var spawner := $spawner
|
onready var spawner := $spawner
|
||||||
onready var player := $player2
|
onready var player := $player2
|
||||||
onready var scoreUI := $scoreUI
|
onready var scoreUI := $scoreUI
|
||||||
|
onready var start_timer_UI := $start_timer_UI
|
||||||
|
onready var instructionsUI := $instructionsUI
|
||||||
|
|
||||||
|
var next_timeline_lose := ""
|
||||||
|
var next_timeline_win := ""
|
||||||
|
|
||||||
|
var game_mode = ""
|
||||||
|
|
||||||
var next_timeline := ""
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
Signals.connect("die", self, "on_game_over")
|
Signals.connect("die", self, "on_game_over")
|
||||||
|
Signals.connect("win", self, "on_win")
|
||||||
|
|
||||||
|
|
||||||
func setup(mode: String, next: String):
|
func setup(mode: String, next_lose: String, next_win: String):
|
||||||
print("minigame: " + mode + " " + next)
|
print("minigame: " + mode + " " + next_lose + " " + next_win)
|
||||||
set_mode(mode)
|
set_mode(mode)
|
||||||
scoreUI.init()
|
scoreUI.init(mode)
|
||||||
next_timeline = next
|
next_timeline_lose = next_lose
|
||||||
|
next_timeline_win = next_win
|
||||||
|
|
||||||
|
|
||||||
func set_mode(mode: String):
|
func set_mode(mode: String):
|
||||||
match mode:
|
match mode:
|
||||||
|
"score":
|
||||||
|
game_mode = "score"
|
||||||
|
"time":
|
||||||
|
game_mode = "time"
|
||||||
_:
|
_:
|
||||||
print("unkonwn mini-game mode")
|
print("unkonwn mini-game mode")
|
||||||
|
|
||||||
|
|
||||||
func start():
|
func start():
|
||||||
print("starting minigame")
|
print("starting minigame")
|
||||||
|
start_timer_UI.init()
|
||||||
|
var t = Timer.new()
|
||||||
|
t.set_wait_time(1)
|
||||||
|
add_child(t)
|
||||||
|
t.start()
|
||||||
|
for n in range(3,0,-1):
|
||||||
|
start_timer_UI.update_timer(String(n))
|
||||||
|
yield(t, "timeout")
|
||||||
|
start_timer_UI.update_timer("GO !")
|
||||||
foreground.start()
|
foreground.start()
|
||||||
player.start()
|
player.start(game_mode)
|
||||||
spawner.start()
|
spawner.start()
|
||||||
|
instructionsUI._init()
|
||||||
|
scoreUI.start(game_mode)
|
||||||
|
yield(t, "timeout")
|
||||||
|
start_timer_UI.hide()
|
||||||
|
|
||||||
|
|
||||||
func stop():
|
func stop():
|
||||||
|
@ -40,7 +65,10 @@ func stop():
|
||||||
spawner.stop()
|
spawner.stop()
|
||||||
|
|
||||||
|
|
||||||
|
func on_win():
|
||||||
|
stop()
|
||||||
|
emit_signal("game_over", next_timeline_win)
|
||||||
|
|
||||||
func on_game_over():
|
func on_game_over():
|
||||||
stop()
|
stop()
|
||||||
emit_signal("game_over", next_timeline)
|
emit_signal("game_over", next_timeline_lose)
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
[gd_scene load_steps=7 format=2]
|
[gd_scene load_steps=9 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://mini-game/scenes/decor/background.tscn" type="PackedScene" id=1]
|
[ext_resource path="res://mini-game/scenes/decor/background.tscn" type="PackedScene" id=1]
|
||||||
[ext_resource path="res://mini-game/scenes/decor/foreground.tscn" type="PackedScene" id=2]
|
[ext_resource path="res://mini-game/scenes/decor/foreground.tscn" type="PackedScene" id=2]
|
||||||
[ext_resource path="res://mini-game/scenes/players/player2.tscn" type="PackedScene" id=3]
|
[ext_resource path="res://mini-game/scenes/players/player2.tscn" type="PackedScene" id=3]
|
||||||
[ext_resource path="res://mini-game/MiniGame.gd" type="Script" id=4]
|
[ext_resource path="res://mini-game/MiniGame.gd" type="Script" id=4]
|
||||||
|
[ext_resource path="res://mini-game/scenes/decor/start_timer_UI.tscn" type="PackedScene" id=5]
|
||||||
[ext_resource path="res://mini-game/scenes/spawner/spawner.tscn" type="PackedScene" id=6]
|
[ext_resource path="res://mini-game/scenes/spawner/spawner.tscn" type="PackedScene" id=6]
|
||||||
[ext_resource path="res://mini-game/scenes/decor/scoreUI.tscn" type="PackedScene" id=7]
|
[ext_resource path="res://mini-game/scenes/decor/scoreUI.tscn" type="PackedScene" id=7]
|
||||||
|
[ext_resource path="res://mini-game/scenes/decor/instructionsUI.tscn" type="PackedScene" id=8]
|
||||||
|
|
||||||
[node name="MiniGame" type="Node"]
|
[node name="MiniGame" type="Node"]
|
||||||
script = ExtResource( 4 )
|
script = ExtResource( 4 )
|
||||||
|
@ -21,3 +23,7 @@ position = Vector2( 2015.43, 970.395 )
|
||||||
position = Vector2( 183.674, 888.367 )
|
position = Vector2( 183.674, 888.367 )
|
||||||
|
|
||||||
[node name="scoreUI" parent="." instance=ExtResource( 7 )]
|
[node name="scoreUI" parent="." instance=ExtResource( 7 )]
|
||||||
|
|
||||||
|
[node name="start_timer_UI" parent="." instance=ExtResource( 5 )]
|
||||||
|
|
||||||
|
[node name="instructionsUI" parent="." instance=ExtResource( 8 )]
|
||||||
|
|
|
@ -2,6 +2,9 @@ extends Control
|
||||||
|
|
||||||
onready var label : Label = $MarginContainer/Label
|
onready var label : Label = $MarginContainer/Label
|
||||||
|
|
||||||
|
var game_mode
|
||||||
|
var max_time = 3
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
Signals.connect("update_score",self,"update_score")
|
Signals.connect("update_score",self,"update_score")
|
||||||
|
|
||||||
|
@ -9,6 +12,30 @@ func _ready():
|
||||||
func update_score(score: int):
|
func update_score(score: int):
|
||||||
label.text = String(score)
|
label.text = String(score)
|
||||||
|
|
||||||
|
func start(mode: String):
|
||||||
|
|
||||||
|
match mode:
|
||||||
|
"score":
|
||||||
|
update_score(0)
|
||||||
|
show()
|
||||||
|
"time":
|
||||||
|
update_score(max_time)
|
||||||
|
show()
|
||||||
|
var t = Timer.new()
|
||||||
|
t.set_wait_time(1)
|
||||||
|
add_child(t)
|
||||||
|
t.start()
|
||||||
|
for n in range(max_time,0,-1):
|
||||||
|
update_score(n)
|
||||||
|
yield(t,"timeout")
|
||||||
|
update_score(0)
|
||||||
|
Signals.emit_signal("win")
|
||||||
|
_:
|
||||||
|
print("game_mode not recognized by scoreUI")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func init(mode):
|
||||||
|
game_mode = mode
|
||||||
|
hide()
|
||||||
|
|
||||||
func init():
|
|
||||||
update_score(0)
|
|
||||||
|
|
|
@ -3,3 +3,7 @@ extends Node2D
|
||||||
signal die
|
signal die
|
||||||
signal gain
|
signal gain
|
||||||
signal update_score
|
signal update_score
|
||||||
|
signal update_timer
|
||||||
|
signal win
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ extends KinematicBody2D
|
||||||
var vitesse = Vector2.ZERO
|
var vitesse = Vector2.ZERO
|
||||||
|
|
||||||
var score = 0
|
var score = 0
|
||||||
|
var score_goal = 10
|
||||||
|
|
||||||
export var jump_vitesse = 600.0
|
export var jump_vitesse = 600.0
|
||||||
export var gravite = 20.0
|
export var gravite = 20.0
|
||||||
|
@ -13,7 +14,13 @@ enum {
|
||||||
IDLE
|
IDLE
|
||||||
}
|
}
|
||||||
|
|
||||||
var player_enabled = false;
|
enum {
|
||||||
|
SCORE,
|
||||||
|
TIME
|
||||||
|
}
|
||||||
|
|
||||||
|
var player_enabled = false
|
||||||
|
var game_mode = "score"
|
||||||
|
|
||||||
var state = RUN
|
var state = RUN
|
||||||
var au_sol = true
|
var au_sol = true
|
||||||
|
@ -62,16 +69,37 @@ func _on_Area2D_body_exited(body):
|
||||||
|
|
||||||
|
|
||||||
func increase_score(scoretoadd):
|
func increase_score(scoretoadd):
|
||||||
score+=scoretoadd
|
match game_mode:
|
||||||
Signals.emit_signal("update_score",score)
|
"score":
|
||||||
|
score+=scoretoadd
|
||||||
|
Signals.emit_signal("update_score",score)
|
||||||
|
if score >= score_goal:
|
||||||
|
Signals.emit_signal("win")
|
||||||
|
"time":
|
||||||
|
pass
|
||||||
|
_:
|
||||||
|
print("game_mode not recognized by player2 start func")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func player_win():
|
||||||
|
stop()
|
||||||
|
|
||||||
func player_die():
|
func player_die():
|
||||||
stop()
|
stop()
|
||||||
|
|
||||||
|
|
||||||
func start():
|
func start(mode: String):
|
||||||
show()
|
show()
|
||||||
|
match mode:
|
||||||
|
"score":
|
||||||
|
game_mode = "score"
|
||||||
|
"time":
|
||||||
|
game_mode = "time"
|
||||||
|
_:
|
||||||
|
print("game_mode not recognized by player2 start func")
|
||||||
|
score = 0
|
||||||
player_enabled = true
|
player_enabled = true
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@ var spawner_enabled = false
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
Signals.connect("die",self,"game_over")
|
Signals.connect("die",self,"game_over")
|
||||||
|
Signals.connect("win",self,"game_over")
|
||||||
|
|
||||||
|
|
||||||
func _on_Timer_timeout():
|
func _on_Timer_timeout():
|
||||||
|
@ -32,6 +33,7 @@ func game_over():
|
||||||
|
|
||||||
func start():
|
func start():
|
||||||
spawner_enabled = true
|
spawner_enabled = true
|
||||||
|
self.get_node("Timer").set_paused(false)
|
||||||
|
|
||||||
|
|
||||||
func stop():
|
func stop():
|
||||||
|
|
|
@ -20,15 +20,15 @@ func _on_Dialogic_signal_received(value: String):
|
||||||
start_minigame()
|
start_minigame()
|
||||||
"setup_minigame":
|
"setup_minigame":
|
||||||
if (args.size() >= 3):
|
if (args.size() >= 3):
|
||||||
setup_minigame(args[1], args[2])
|
setup_minigame(args[1], args[2], args[3])
|
||||||
else:
|
else:
|
||||||
print("not enough arguments for start_minigame")
|
print("not enough arguments for start_minigame")
|
||||||
_:
|
_:
|
||||||
print("wrong type")
|
print("wrong type")
|
||||||
|
|
||||||
|
|
||||||
func setup_minigame(mode: String, next_timeline: String):
|
func setup_minigame(mode: String, next_timeline_lose: String, next_timeline_win):
|
||||||
mini_game.setup(mode, next_timeline)
|
mini_game.setup(mode, next_timeline_lose, next_timeline_win)
|
||||||
|
|
||||||
|
|
||||||
func start_minigame():
|
func start_minigame():
|
||||||
|
|
Loading…
Reference in a new issue