Skip to content
Snippets Groups Projects
Commit f9172b20 authored by Frederic Aust's avatar Frederic Aust
Browse files

TrainingsMode Grundlage Mensch vs Agent

GameSettings:
* Neuer Parameter fuer den Trainingsmodus hinzu gefuegt

MainMenu:
* Buttons fuer den Trainingsmodus mit Leben gefuellt

Main:
* Bei aktivierten Trainingsmodus wird nur auf die Stepeingabe von einem Agenten gewartet, je nachdem an welcher Position der Trainer sitzt
* Mensch vs Agent ist nun moeglich aber die Aufzeichnung des menschlichen Spielers fehlt noch
parent 00d1e12c
No related branches found
No related tags found
1 merge request!5Implemantation main menu
......@@ -2,6 +2,7 @@ extends Node
export var rendering_enabled = false
export var learn_with_images = true
export var trainings_mode_enabled = false
var game_playtime_per_step
......
......@@ -254,13 +254,21 @@ func _on_data(id):
return_value = get_return_value_as_utf8_JSON()
_server.get_peer(id).put_packet(return_value)
pass
if(next_step_player_one and next_step_player_two):
if($"/root/GameSettings".trainings_mode_enabled):
if(($"/root/GameSettings".trainer_position == "Left" and next_step_player_two) or ($"/root/GameSettings".trainer_position == "Right" and next_step_player_one)):
unpause()
$PlayerOne.run(game_playtime_per_step)
$PlayerTwo.run(game_playtime_per_step)
ball.run(game_playtime_per_step)
timeout()
elif(next_step_player_one and next_step_player_two):
unpause()
$PlayerOne.run(game_playtime_per_step)
$PlayerTwo.run(game_playtime_per_step)
ball.run(game_playtime_per_step)
timeout()
func get_observarion():
return {"PlayerOne":{"X":$PlayerOne.position.x,"Y":$PlayerOne.position.y}, "PlayerTwo":{"X":$PlayerTwo.position.x,"Y":$PlayerTwo.position.y}, "ball":ball.get_observation()}
......@@ -334,3 +342,8 @@ func unpause():
$PlayerOne.set_pause(false)
$PlayerTwo.set_pause(false)
# Wenn Trainerfunktion aktiv ist wird für einen menschlichen Spieler der Playtimer gestartet und die Eingabe
func _on_Playtimer_timeout():
pass # Replace with function body.
......@@ -79,5 +79,9 @@ __meta__ = {
[node name="WallBottom" parent="." instance=ExtResource( 3 )]
position = Vector2( 0, 600 )
[node name="Playtimer" type="Timer" parent="."]
one_shot = true
[connection signal="hit" from="PlayerTwo" to="." method="_on_PlayerTwo_hit"]
[connection signal="hit" from="PlayerOne" to="." method="_on_PlayerOne_hit"]
[connection signal="timeout" from="Playtimer" to="." method="_on_Playtimer_timeout"]
......@@ -18,13 +18,15 @@ func _on_but_local_two_player_pressed():
func _on_but_two_re_with_images_pressed():
$"/root/GameSettings".rendering_enabled = true
$"/root/GameSettings".learn_with_images = true
$"/root/GameSettings".trainings_mode_enabled = false
get_tree().change_scene("res://Main.tscn")
pass # Replace with function body.
func _on_but_two_re_with_position_pressed():
$"/root/GameSettings".rendering_enabled = $vbox_two_learner/HBoxContainer/cb_rendering_enabled.is_pressed()
$"/root/GameSettings".learn_with_images = false
$"/root/GameSettings".trainings_mode_enabled = false
if not $"/root/GameSettings".rendering_enabled:
$vbox_two_learner.hide()
$lbl_game_running.show()
......@@ -33,7 +35,7 @@ func _on_but_two_re_with_position_pressed():
yield(VisualServer, "frame_post_draw")
print("Rendering is disabled")
get_tree().change_scene("res://Main.tscn")
pass # Replace with function body.
func _on_cb_rendering_enabled_pressed():
......@@ -43,18 +45,23 @@ func _on_cb_rendering_enabled_pressed():
else:
$lbl_game_running.show()
print($"/root/GameSettings".rendering_enabled)
pass # Replace with function body.
func _on_but_trainer_with_images_pressed():
$"/root/GameSettings".rendering_enabled = true
$"/root/GameSettings".learn_with_images = true
$"/root/GameSettings".trainings_mode_enabled = true
pass # Replace with function body.
func _on_but_trainer_with_position_pressed():
pass # Replace with function body.
$"/root/GameSettings".rendering_enabled = true
$"/root/GameSettings".learn_with_images = false
$"/root/GameSettings".trainings_mode_enabled = true
func _on_but_settings_pressed():
get_tree().change_scene("res://SettingsWindow.tscn")
pass # Replace with function body.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment