diff --git a/assets/paper.png b/assets/paper.png new file mode 100644 index 0000000..dd732ea Binary files /dev/null and b/assets/paper.png differ diff --git a/assets/paper.png.import b/assets/paper.png.import new file mode 100644 index 0000000..bfa93df --- /dev/null +++ b/assets/paper.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b1vi81hwhys1p" +path="res://.godot/imported/paper.png-6d641d0c60c2e9ec183ca1a2742b7a82.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/paper.png" +dest_files=["res://.godot/imported/paper.png-6d641d0c60c2e9ec183ca1a2742b7a82.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/scissors.png b/assets/scissors.png new file mode 100644 index 0000000..2eb56ed Binary files /dev/null and b/assets/scissors.png differ diff --git a/assets/scissors.png.import b/assets/scissors.png.import new file mode 100644 index 0000000..c26011f --- /dev/null +++ b/assets/scissors.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cr37od6sevrmd" +path="res://.godot/imported/scissors.png-9715baf1c9711b5d235b262f4089af69.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/scissors.png" +dest_files=["res://.godot/imported/scissors.png-9715baf1c9711b5d235b262f4089af69.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/stein.png b/assets/stein.png new file mode 100644 index 0000000..2d1f1e8 Binary files /dev/null and b/assets/stein.png differ diff --git a/assets/stein.png.import b/assets/stein.png.import new file mode 100644 index 0000000..390bcfd --- /dev/null +++ b/assets/stein.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://61xrksg1k2ek" +path="res://.godot/imported/stein.png-ec44e9c322add18ad4b69656888e6bb1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/stein.png" +dest_files=["res://.godot/imported/stein.png-ec44e9c322add18ad4b69656888e6bb1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/game.gd b/game.gd index 51c8f23..10c21e7 100644 --- a/game.gd +++ b/game.gd @@ -7,7 +7,7 @@ var sequence_needed = 4 var _sequence = [] var enable_remove = true - +@onready var gui := $GUI as Node2D @onready var board := $Board as Board @onready var nextPlayer := $GUI/NextPlayer as Sprite2D @onready var wonPlayer := $GUI/WonPlayer as Sprite2D @@ -17,7 +17,8 @@ var enable_remove = true @onready var player2Sprite = $GUI/Player2Sprite as Sprite2D @onready var ereignis = $GUI/Event as Label @onready var sequenz = $GUI/Sequenz as Label - +@onready var schnick = $Schnick +@onready var numbers = $Numbers as TileMap # Called when the node enters the scene tree for the first time. func _ready(): @@ -48,8 +49,7 @@ func _process(_delta): if board.set_state(new_pos, player_states[current_player]): won = _check_win() if won=="": - current_player = 1 - current_player - nextPlayer.region_rect.position.x = current_player * 300 + switch_player() else: print("Winner: ", won) wonPlayer.region_rect.position.x = player_states.find(won) * 300 @@ -63,6 +63,9 @@ func _process(_delta): nextPlayer.hide() board.active = false +func switch_player(): + current_player = 1 - current_player + nextPlayer.region_rect.position.x = current_player * 300 func _on_restart_button_pressed(): _ready() @@ -108,8 +111,11 @@ func _roll_dice() -> int: _update_dice_sprite(zahl) print(zahl) #Debug ausgabe, später löschen + if zahl == 1: + switch_to_schnick() return zahl + #Funktion um Knopf und Methode zu verbinden func _on_dice_button_pressed(): @@ -185,8 +191,7 @@ func _instant_loose(): #Zum Testen der Events func _on_test_pressed(): - _spin_the_wheel(15) - ereignis.text += "test" + switch_to_schnick() func _spin_the_wheel(result: int) -> void: @@ -228,3 +233,26 @@ func _spin_the_wheel(result: int) -> void: func _on_spin_the_wheel_pressed(): var zahl = randi() % 100 + 1 _spin_the_wheel(zahl) + +func hide_schnick(): + schnick.hide() + +func switch_to_schnick(): + board.hide() + numbers.hide() + gui.hide() + schnick.show() + +func switch_to_game(): + gui.show() + numbers.show() + board.show() + +func _on_gewonnen_pressed(): + hide_schnick() + switch_to_game() + +func _on_verloren_pressed(): + switch_player() + hide_schnick() + switch_to_game() diff --git a/game.tscn b/game.tscn index bb2e98e..082cbe7 100644 --- a/game.tscn +++ b/game.tscn @@ -1,15 +1,18 @@ -[gd_scene load_steps=4 format=3 uid="uid://dmahmxghpm47w"] +[gd_scene load_steps=7 format=3 uid="uid://dmahmxghpm47w"] [ext_resource type="Script" path="res://game.gd" id="1_g1ie7"] [ext_resource type="PackedScene" uid="uid://dvlk7imglgpms" path="res://board/board.tscn" id="1_ym80r"] [ext_resource type="Texture2D" uid="uid://do2vfb2cj7fk" path="res://assets/sprites.png" id="3_0333r"] +[ext_resource type="Texture2D" uid="uid://61xrksg1k2ek" path="res://assets/stein.png" id="4_evbl8"] +[ext_resource type="Texture2D" uid="uid://cr37od6sevrmd" path="res://assets/scissors.png" id="5_clubr"] +[ext_resource type="Texture2D" uid="uid://b1vi81hwhys1p" path="res://assets/paper.png" id="6_g740b"] [node name="Game" type="Node2D"] script = ExtResource("1_g1ie7") -[node name="Nummerierung links" parent="." instance=ExtResource("1_ym80r")] +[node name="Numbers" parent="." instance=ExtResource("1_ym80r")] position = Vector2(375, 232) -layer_0/tile_data = PackedInt32Array(65533, 1, 3, 131069, 65537, 3, 196605, 131073, 3, 262141, 196609, 3, 327677, 65537, 4, 393213, 131073, 4, 65534, 1, 3, -2, 1, 3, -1, 65537, 3, -65536, 131073, 3, -65535, 196609, 3, -65534, 65537, 4, -65533, 131073, 4) +layer_0/tile_data = PackedInt32Array(65533, 1, 3, 131069, 65537, 3, 196605, 131073, 3, 262141, 196609, 3, 327677, 65537, 4, 393213, 131073, 4, -2, 1, 3, -1, 65537, 3, -65536, 131073, 3, -65535, 196609, 3, -65534, 65537, 4, -65533, 131073, 4) [node name="Board" parent="." instance=ExtResource("1_ym80r")] position = Vector2(375, 232) @@ -144,7 +147,53 @@ offset_bottom = 379.0 theme_override_font_sizes/font_size = 50 text = "Steine zum gewinnen: " +[node name="Schnick" type="Node2D" parent="."] +visible = false + +[node name="Label" type="Label" parent="Schnick"] +offset_left = 912.0 +offset_top = 64.0 +offset_right = 2140.0 +offset_bottom = 233.0 +theme_override_font_sizes/font_size = 60 +text = "Reallife Schere, Stein, Papier Minigame: +Hast du dir deinen nächsten Zug verdient?" +horizontal_alignment = 1 + +[node name="Stein" type="Sprite2D" parent="Schnick"] +position = Vector2(1466.1, 596) +scale = Vector2(0.4, 0.4) +texture = ExtResource("4_evbl8") + +[node name="Scissors" type="Sprite2D" parent="Schnick"] +position = Vector2(738.1, 612) +scale = Vector2(0.45, 0.45) +texture = ExtResource("5_clubr") + +[node name="Paper" type="Sprite2D" parent="Schnick"] +position = Vector2(2194.1, 620) +scale = Vector2(1.2, 1.2) +texture = ExtResource("6_g740b") + +[node name="Gewonnen" type="Button" parent="Schnick"] +offset_left = 1104.0 +offset_top = 976.0 +offset_right = 1416.0 +offset_bottom = 1120.0 +theme_override_font_sizes/font_size = 60 +text = "Ja" + +[node name="Verloren" type="Button" parent="Schnick"] +offset_left = 1592.0 +offset_top = 976.0 +offset_right = 1904.0 +offset_bottom = 1120.0 +theme_override_font_sizes/font_size = 60 +text = "Nein" + [connection signal="pressed" from="GUI/RestartButton" to="." method="_on_restart_button_pressed"] [connection signal="pressed" from="GUI/DiceButton" to="." method="_on_dice_button_pressed"] [connection signal="pressed" from="GUI/Test" to="." method="_on_test_pressed"] [connection signal="pressed" from="GUI/Spin the Wheel" to="." method="_on_spin_the_wheel_pressed"] +[connection signal="pressed" from="Schnick/Gewonnen" to="." method="_on_gewonnen_pressed"] +[connection signal="pressed" from="Schnick/Verloren" to="." method="_on_verloren_pressed"] diff --git a/schnick.tscn b/schnick.tscn deleted file mode 100644 index b90d0da..0000000 --- a/schnick.tscn +++ /dev/null @@ -1,18 +0,0 @@ -[gd_scene format=3 uid="uid://da75wsdk40fp4"] - -[node name="Schnick" type="Window"] -title = "Schere, Stein, Papier!" -initial_position = 1 -size = Vector2i(1500, 1000) - -[node name="Label" type="Label" parent="."] -anchors_preset = 10 -anchor_right = 1.0 -offset_bottom = 49.0 -grow_horizontal = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -theme_override_font_sizes/font_size = 50 -text = "Du hast eine eins gewürfelt. - Was wählst du nun: Schere, Stein oder Papier?" -horizontal_alignment = 1