Initial commit
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
# Normalize EOL for all files that Git considers text files.
 | 
			
		||||
* text=auto eol=lf
 | 
			
		||||
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
# Godot 4+ specific ignores
 | 
			
		||||
.godot/
 | 
			
		||||
 | 
			
		||||
.idea/
 | 
			
		||||
							
								
								
									
										247
									
								
								GameScene.gd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										247
									
								
								GameScene.gd
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,247 @@
 | 
			
		||||
extends Control
 | 
			
		||||
 | 
			
		||||
var currentPlayer : int
 | 
			
		||||
var playerName : Label
 | 
			
		||||
var one		   : OptionButton
 | 
			
		||||
var two		   : OptionButton
 | 
			
		||||
var three	   : OptionButton
 | 
			
		||||
var four	   : OptionButton
 | 
			
		||||
var five	   : OptionButton
 | 
			
		||||
var six		   : OptionButton
 | 
			
		||||
var three_of_a_kind	   : OptionButton
 | 
			
		||||
var four_of_a_kind	   : OptionButton
 | 
			
		||||
var full_house	   : OptionButton
 | 
			
		||||
var small_straight	   : OptionButton
 | 
			
		||||
var large_straight	   : OptionButton
 | 
			
		||||
var yahtzee	   : Button
 | 
			
		||||
var chance	   : OptionButton
 | 
			
		||||
var bonus	   : Label
 | 
			
		||||
var score 	   : Label
 | 
			
		||||
 | 
			
		||||
# Called when the node enters the scene tree for the first time.
 | 
			
		||||
func _ready():
 | 
			
		||||
	currentPlayer = 0
 | 
			
		||||
	playerName = get_node("ScrollContainer/VBoxContainer/Panel/HBoxContainer/Label")
 | 
			
		||||
	var players = Player_Manger.get_players()
 | 
			
		||||
	if players.size() > 0:
 | 
			
		||||
		playerName.text = players[currentPlayer].name
 | 
			
		||||
	one = get_node("ScrollContainer/VBoxContainer/One/HBoxContainer/OptionButton")
 | 
			
		||||
	two = get_node("ScrollContainer/VBoxContainer/Two/HBoxContainer/OptionButton")
 | 
			
		||||
	three = get_node("ScrollContainer/VBoxContainer/Three/HBoxContainer/OptionButton")
 | 
			
		||||
	four = get_node("ScrollContainer/VBoxContainer/Four/HBoxContainer/OptionButton")
 | 
			
		||||
	five = get_node("ScrollContainer/VBoxContainer/Five/HBoxContainer/OptionButton")
 | 
			
		||||
	six = get_node("ScrollContainer/VBoxContainer/Six/HBoxContainer/OptionButton")
 | 
			
		||||
	three_of_a_kind = get_node("ScrollContainer/VBoxContainer/Three_of_a_kind/HBoxContainer/OptionButton")
 | 
			
		||||
	add_items(three_of_a_kind)
 | 
			
		||||
	four_of_a_kind = get_node("ScrollContainer/VBoxContainer/Four_of_a_Kind/HBoxContainer/OptionButton")
 | 
			
		||||
	add_items(four_of_a_kind)
 | 
			
		||||
	full_house = get_node("ScrollContainer/VBoxContainer/Full_House/HBoxContainer/OptionButton")
 | 
			
		||||
	full_house.add_item("")
 | 
			
		||||
	full_house.add_item("25")
 | 
			
		||||
	small_straight = get_node("ScrollContainer/VBoxContainer/Small_Straight/HBoxContainer/OptionButton")
 | 
			
		||||
	add_items_to_small_straight(small_straight)
 | 
			
		||||
	large_straight = get_node("ScrollContainer/VBoxContainer/Large_Straight/HBoxContainer/OptionButton")
 | 
			
		||||
	add_items_to_small_straight(large_straight)
 | 
			
		||||
	yahtzee = get_node("ScrollContainer/VBoxContainer/yahtzee/HBoxContainer/ButtonYahtzee")
 | 
			
		||||
	bonus = get_node("ScrollContainer/VBoxContainer/Bonus/HBoxContainer/LabelScore")
 | 
			
		||||
	chance = get_node("ScrollContainer/VBoxContainer/chance/HBoxContainer/OptionButton")
 | 
			
		||||
	add_items(chance)
 | 
			
		||||
	score = get_node("ScrollContainer/VBoxContainer/Score/HBoxContainer/LabelScore")
 | 
			
		||||
	pass # Replace with function body.
 | 
			
		||||
 | 
			
		||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
 | 
			
		||||
func _process(delta):
 | 
			
		||||
	calc_bonus()
 | 
			
		||||
	calc_score()
 | 
			
		||||
	pass
 | 
			
		||||
 | 
			
		||||
func _on_button_right_pressed():
 | 
			
		||||
	save()
 | 
			
		||||
	var players = Player_Manger.get_players()
 | 
			
		||||
	currentPlayer += 1
 | 
			
		||||
	if currentPlayer >= players.size():
 | 
			
		||||
		currentPlayer = 0
 | 
			
		||||
	playerName.text = players[currentPlayer].name
 | 
			
		||||
	load_stats()
 | 
			
		||||
	pass # Replace with function body.
 | 
			
		||||
	
 | 
			
		||||
func calc_bonus():
 | 
			
		||||
	var players = Player_Manger.get_players()
 | 
			
		||||
	var total = 0
 | 
			
		||||
	total += int(int(one.get_item_text(one.get_selected_id())) + 
 | 
			
		||||
				 int(two.get_item_text(two.get_selected_id())) +
 | 
			
		||||
				 int(three.get_item_text(three.get_selected_id())) +
 | 
			
		||||
				 int(four.get_item_text(four.get_selected_id())) +
 | 
			
		||||
				 int(five.get_item_text(five.get_selected_id())) +
 | 
			
		||||
				 int(six.get_item_text(six.get_selected_id())))
 | 
			
		||||
	if total >= 63:
 | 
			
		||||
		players[currentPlayer].bonus = 35
 | 
			
		||||
		bonus.text = "35"
 | 
			
		||||
	else:
 | 
			
		||||
		players[currentPlayer].bonus = 0
 | 
			
		||||
		bonus.text = "0"
 | 
			
		||||
	
 | 
			
		||||
func calc_score():
 | 
			
		||||
	var players = Player_Manger.get_players()
 | 
			
		||||
	players[currentPlayer].score = (int(one.get_item_text(one.get_selected_id())) + 
 | 
			
		||||
								   int(two.get_item_text(two.get_selected_id())) +
 | 
			
		||||
								   int(three.get_item_text(three.get_selected_id())) +
 | 
			
		||||
								   int(four.get_item_text(four.get_selected_id())) +
 | 
			
		||||
								   int(five.get_item_text(five.get_selected_id())) +
 | 
			
		||||
								   int(six.get_item_text(six.get_selected_id())) +
 | 
			
		||||
								   int(three_of_a_kind.get_item_text(three_of_a_kind.get_selected_id())) +
 | 
			
		||||
								   int(four_of_a_kind.get_item_text(four_of_a_kind.get_selected_id())) +
 | 
			
		||||
								   int(full_house.get_item_text(full_house.get_selected_id())) +
 | 
			
		||||
								   int(small_straight.get_item_text(small_straight.get_selected_id())) +
 | 
			
		||||
								   int(large_straight.get_item_text(large_straight.get_selected_id())) +
 | 
			
		||||
								   int(yahtzee.text) +
 | 
			
		||||
								   int(chance.get_item_text(chance.get_selected_id())) +
 | 
			
		||||
								   int(bonus.text))
 | 
			
		||||
	score.text = str(players[currentPlayer].score)
 | 
			
		||||
	
 | 
			
		||||
func load_stats():
 | 
			
		||||
	var players = Player_Manger.get_players()
 | 
			
		||||
	one.select(players[currentPlayer].one)
 | 
			
		||||
	two.select(players[currentPlayer].two)
 | 
			
		||||
	three.select(players[currentPlayer].three)
 | 
			
		||||
	four.select(players[currentPlayer].four)
 | 
			
		||||
	five.select(players[currentPlayer].five)
 | 
			
		||||
	six.select(players[currentPlayer].six)
 | 
			
		||||
	three_of_a_kind.select(players[currentPlayer].three_of_a_kind)
 | 
			
		||||
	four_of_a_kind.select(players[currentPlayer].four_of_a_kind)
 | 
			
		||||
	full_house.select(players[currentPlayer].full_house)
 | 
			
		||||
	small_straight.select(players[currentPlayer].small_straight)
 | 
			
		||||
	large_straight.select(players[currentPlayer].large_straight)
 | 
			
		||||
	yahtzee.text = str(players[currentPlayer].yahtzee)
 | 
			
		||||
	chance.set_item_text(0, str(players[currentPlayer].chance))
 | 
			
		||||
	bonus.text = str(players[currentPlayer].bonus)
 | 
			
		||||
	pass
 | 
			
		||||
 | 
			
		||||
func save():
 | 
			
		||||
	var players = Player_Manger.get_players()
 | 
			
		||||
	players[currentPlayer].one = one.get_selected_id()
 | 
			
		||||
	players[currentPlayer].two = two.get_selected_id()
 | 
			
		||||
	players[currentPlayer].three = three.get_selected_id()
 | 
			
		||||
	players[currentPlayer].four = four.get_selected_id()
 | 
			
		||||
	players[currentPlayer].five = five.get_selected_id()
 | 
			
		||||
	players[currentPlayer].six = six.get_selected_id()
 | 
			
		||||
	players[currentPlayer].three_of_a_kind = int(three_of_a_kind.get_selected_id())
 | 
			
		||||
	players[currentPlayer].four_of_a_kind = int(four_of_a_kind.get_selected_id())
 | 
			
		||||
	players[currentPlayer].full_house = int(full_house.get_selected_id())
 | 
			
		||||
	players[currentPlayer].small_straight = int(small_straight.get_selected_id())
 | 
			
		||||
	players[currentPlayer].large_straight = int(large_straight.get_selected_id())
 | 
			
		||||
	players[currentPlayer].yahtzee = int(yahtzee.text)
 | 
			
		||||
	players[currentPlayer].bonus = int(bonus.text)
 | 
			
		||||
	players[currentPlayer].score = players[currentPlayer].one + players[currentPlayer].two + players[currentPlayer].three + players[currentPlayer].four + players[currentPlayer].five + players[currentPlayer].six + players[currentPlayer].three_of_a_kind + players[currentPlayer].four_of_a_kind + players[currentPlayer].full_house + players[currentPlayer].small_straight + players[currentPlayer].large_straight + players[currentPlayer].yahtzee + players[currentPlayer].chance + players[currentPlayer].bonus
 | 
			
		||||
	pass
 | 
			
		||||
 | 
			
		||||
func _on_button_left_pressed():
 | 
			
		||||
	save()
 | 
			
		||||
	var players = Player_Manger.get_players()
 | 
			
		||||
	currentPlayer -= 1
 | 
			
		||||
	if currentPlayer < 0:
 | 
			
		||||
		currentPlayer = players.size() - 1
 | 
			
		||||
	playerName.text = players[currentPlayer].name
 | 
			
		||||
	load_stats()
 | 
			
		||||
	pass # Replace with function body.
 | 
			
		||||
	
 | 
			
		||||
func add_items_to_small_straight(oButton: OptionButton):
 | 
			
		||||
	oButton.add_item("")
 | 
			
		||||
	oButton.add_item("30")
 | 
			
		||||
	pass # Replace with function body.
 | 
			
		||||
	
 | 
			
		||||
func add_items_to_large_straight(oButton: OptionButton):
 | 
			
		||||
	oButton.add_item("")
 | 
			
		||||
	oButton.add_item("40")
 | 
			
		||||
	pass # Replace with function body.
 | 
			
		||||
func add_items(oButton: OptionButton):
 | 
			
		||||
	oButton.add_item("")
 | 
			
		||||
	oButton.add_item("0")
 | 
			
		||||
	oButton.add_item("1")
 | 
			
		||||
	oButton.add_item("2")
 | 
			
		||||
	oButton.add_item("3")
 | 
			
		||||
	oButton.add_item("4")
 | 
			
		||||
	oButton.add_item("5")
 | 
			
		||||
	oButton.add_item("6")
 | 
			
		||||
	oButton.add_item("7")
 | 
			
		||||
	oButton.add_item("8")
 | 
			
		||||
	oButton.add_item("9")
 | 
			
		||||
	oButton.add_item("10")
 | 
			
		||||
	oButton.add_item("11")
 | 
			
		||||
	oButton.add_item("12")
 | 
			
		||||
	oButton.add_item("13")
 | 
			
		||||
	oButton.add_item("14")
 | 
			
		||||
	oButton.add_item("15")
 | 
			
		||||
	oButton.add_item("16")
 | 
			
		||||
	oButton.add_item("17")
 | 
			
		||||
	oButton.add_item("18")
 | 
			
		||||
	oButton.add_item("19")
 | 
			
		||||
	oButton.add_item("20")
 | 
			
		||||
	oButton.add_item("21")
 | 
			
		||||
	oButton.add_item("22")
 | 
			
		||||
	oButton.add_item("23")
 | 
			
		||||
	oButton.add_item("24")
 | 
			
		||||
	oButton.add_item("25")
 | 
			
		||||
	oButton.add_item("26")
 | 
			
		||||
	oButton.add_item("27")
 | 
			
		||||
	oButton.add_item("28")
 | 
			
		||||
	oButton.add_item("29")
 | 
			
		||||
	oButton.add_item("30")
 | 
			
		||||
	oButton.add_item("31")
 | 
			
		||||
	oButton.add_item("32")
 | 
			
		||||
	oButton.add_item("33")
 | 
			
		||||
	oButton.add_item("34")
 | 
			
		||||
	oButton.add_item("35")
 | 
			
		||||
	oButton.add_item("36")
 | 
			
		||||
	oButton.add_item("37")
 | 
			
		||||
	oButton.add_item("38")
 | 
			
		||||
	oButton.add_item("39")
 | 
			
		||||
	oButton.add_item("40")
 | 
			
		||||
	oButton.add_item("41")
 | 
			
		||||
	oButton.add_item("42")
 | 
			
		||||
	oButton.add_item("43")
 | 
			
		||||
	oButton.add_item("44")
 | 
			
		||||
	oButton.add_item("45")
 | 
			
		||||
	oButton.add_item("46")
 | 
			
		||||
	oButton.add_item("47")
 | 
			
		||||
	oButton.add_item("48")
 | 
			
		||||
	oButton.add_item("49")
 | 
			
		||||
	oButton.add_item("50")
 | 
			
		||||
	oButton.add_item("51")
 | 
			
		||||
	oButton.add_item("52")
 | 
			
		||||
	oButton.add_item("53")
 | 
			
		||||
	oButton.add_item("54")
 | 
			
		||||
	oButton.add_item("55")
 | 
			
		||||
	oButton.add_item("56")
 | 
			
		||||
	oButton.add_item("57")
 | 
			
		||||
	oButton.add_item("58")
 | 
			
		||||
	oButton.add_item("59")
 | 
			
		||||
	oButton.add_item("60")
 | 
			
		||||
	oButton.add_item("61")
 | 
			
		||||
	oButton.add_item("62")
 | 
			
		||||
	oButton.add_item("63")
 | 
			
		||||
	oButton.add_item("64")
 | 
			
		||||
	oButton.add_item("65")
 | 
			
		||||
	oButton.add_item("66")
 | 
			
		||||
	oButton.add_item("67")
 | 
			
		||||
	oButton.add_item("68")
 | 
			
		||||
	oButton.add_item("69")
 | 
			
		||||
	oButton.add_item("70")
 | 
			
		||||
	pass # Replace with function body.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
func _on_button_yahtzee_pressed():
 | 
			
		||||
	Player_Manger.get_players()[currentPlayer].yahtzee += 50
 | 
			
		||||
	yahtzee.text = str(Player_Manger.get_players()[currentPlayer].yahtzee)
 | 
			
		||||
	pass # Replace with function body.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
func _on_button_yahtzee_minus_pressed():
 | 
			
		||||
	Player_Manger.get_players()[currentPlayer].yahtzee -= 50
 | 
			
		||||
	yahtzee.text = str(Player_Manger.get_players()[currentPlayer].yahtzee)
 | 
			
		||||
	pass # Replace with function body.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
func _on_button_end_pressed():
 | 
			
		||||
	get_tree().change_scene_to_file("res://MainMenu.tscn")
 | 
			
		||||
	pass # Replace with function body.
 | 
			
		||||
							
								
								
									
										691
									
								
								GameScene.tscn
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										691
									
								
								GameScene.tscn
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,691 @@
 | 
			
		||||
[gd_scene load_steps=3 format=3 uid="uid://bowvqy1rx2ldx"]
 | 
			
		||||
 | 
			
		||||
[ext_resource type="Script" path="res://GameScene.gd" id="1_kyoq5"]
 | 
			
		||||
[ext_resource type="Script" path="res://ScrollContainer.gd" id="2_xxo3x"]
 | 
			
		||||
 | 
			
		||||
[node name="Control" type="Control"]
 | 
			
		||||
layout_mode = 3
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
script = ExtResource("1_kyoq5")
 | 
			
		||||
 | 
			
		||||
[node name="ColorRect" type="ColorRect" parent="."]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
color = Color(0.113725, 0.133333, 0.160784, 1)
 | 
			
		||||
 | 
			
		||||
[node name="ButtonEnd" type="Button" parent="."]
 | 
			
		||||
layout_mode = 0
 | 
			
		||||
offset_left = 564.0
 | 
			
		||||
offset_top = 20.0
 | 
			
		||||
offset_right = 1064.0
 | 
			
		||||
offset_bottom = 186.0
 | 
			
		||||
theme_override_font_sizes/font_size = 100
 | 
			
		||||
text = "End Game"
 | 
			
		||||
 | 
			
		||||
[node name="ScrollContainer" type="ScrollContainer" parent="."]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = -1
 | 
			
		||||
anchor_top = 0.107
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_top = -1.44002
 | 
			
		||||
offset_right = 8.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
follow_focus = true
 | 
			
		||||
horizontal_scroll_mode = 0
 | 
			
		||||
script = ExtResource("2_xxo3x")
 | 
			
		||||
 | 
			
		||||
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 1714)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="Panel" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(0, 160)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/Panel"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 50
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="ButtonLeft" type="Button" parent="ScrollContainer/VBoxContainer/Panel/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(100, 0)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 100
 | 
			
		||||
text = "<"
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/Panel/HBoxContainer"]
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 110
 | 
			
		||||
text = "Player"
 | 
			
		||||
 | 
			
		||||
[node name="ButtonRight" type="Button" parent="ScrollContainer/VBoxContainer/Panel/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(100, 0)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 100
 | 
			
		||||
text = ">"
 | 
			
		||||
 | 
			
		||||
[node name="One" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/One"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_left = -1.0
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = -1.0
 | 
			
		||||
offset_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 500
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/One/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(200, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 70
 | 
			
		||||
text = "One"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="OptionButton" type="OptionButton" parent="ScrollContainer/VBoxContainer/One/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(250, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 50
 | 
			
		||||
alignment = 1
 | 
			
		||||
clip_text = true
 | 
			
		||||
item_count = 6
 | 
			
		||||
allow_reselect = true
 | 
			
		||||
popup/item_0/text = "-"
 | 
			
		||||
popup/item_0/id = 0
 | 
			
		||||
popup/item_1/text = "1"
 | 
			
		||||
popup/item_1/id = 1
 | 
			
		||||
popup/item_2/text = "2"
 | 
			
		||||
popup/item_2/id = 2
 | 
			
		||||
popup/item_3/text = "3"
 | 
			
		||||
popup/item_3/id = 3
 | 
			
		||||
popup/item_4/text = "4"
 | 
			
		||||
popup/item_4/id = 4
 | 
			
		||||
popup/item_5/text = "5"
 | 
			
		||||
popup/item_5/id = 5
 | 
			
		||||
 | 
			
		||||
[node name="Two" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/Two"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_left = -1.0
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = -1.0
 | 
			
		||||
offset_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 500
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/Two/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(200, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 70
 | 
			
		||||
text = "Two"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="OptionButton" type="OptionButton" parent="ScrollContainer/VBoxContainer/Two/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(250, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 50
 | 
			
		||||
alignment = 1
 | 
			
		||||
clip_text = true
 | 
			
		||||
item_count = 6
 | 
			
		||||
allow_reselect = true
 | 
			
		||||
popup/item_0/text = "-"
 | 
			
		||||
popup/item_0/id = 0
 | 
			
		||||
popup/item_1/text = "2"
 | 
			
		||||
popup/item_1/id = 1
 | 
			
		||||
popup/item_2/text = "4"
 | 
			
		||||
popup/item_2/id = 2
 | 
			
		||||
popup/item_3/text = "6"
 | 
			
		||||
popup/item_3/id = 3
 | 
			
		||||
popup/item_4/text = "8"
 | 
			
		||||
popup/item_4/id = 4
 | 
			
		||||
popup/item_5/text = "10"
 | 
			
		||||
popup/item_5/id = 5
 | 
			
		||||
 | 
			
		||||
[node name="Three" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/Three"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_left = -1.0
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = -1.0
 | 
			
		||||
offset_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 500
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/Three/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(200, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 70
 | 
			
		||||
text = "Three"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="OptionButton" type="OptionButton" parent="ScrollContainer/VBoxContainer/Three/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(250, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 50
 | 
			
		||||
alignment = 1
 | 
			
		||||
clip_text = true
 | 
			
		||||
item_count = 6
 | 
			
		||||
allow_reselect = true
 | 
			
		||||
popup/item_0/text = "-"
 | 
			
		||||
popup/item_0/id = 0
 | 
			
		||||
popup/item_1/text = "3"
 | 
			
		||||
popup/item_1/id = 1
 | 
			
		||||
popup/item_2/text = "6"
 | 
			
		||||
popup/item_2/id = 2
 | 
			
		||||
popup/item_3/text = "9"
 | 
			
		||||
popup/item_3/id = 3
 | 
			
		||||
popup/item_4/text = "12"
 | 
			
		||||
popup/item_4/id = 4
 | 
			
		||||
popup/item_5/text = "15"
 | 
			
		||||
popup/item_5/id = 5
 | 
			
		||||
 | 
			
		||||
[node name="Four" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/Four"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_left = -1.0
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = -1.0
 | 
			
		||||
offset_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 500
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/Four/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(200, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 70
 | 
			
		||||
text = "Four"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="OptionButton" type="OptionButton" parent="ScrollContainer/VBoxContainer/Four/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(250, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 50
 | 
			
		||||
alignment = 1
 | 
			
		||||
clip_text = true
 | 
			
		||||
item_count = 6
 | 
			
		||||
allow_reselect = true
 | 
			
		||||
popup/item_0/text = "-"
 | 
			
		||||
popup/item_0/id = 0
 | 
			
		||||
popup/item_1/text = "4"
 | 
			
		||||
popup/item_1/id = 1
 | 
			
		||||
popup/item_2/text = "8"
 | 
			
		||||
popup/item_2/id = 2
 | 
			
		||||
popup/item_3/text = "12"
 | 
			
		||||
popup/item_3/id = 3
 | 
			
		||||
popup/item_4/text = "16"
 | 
			
		||||
popup/item_4/id = 4
 | 
			
		||||
popup/item_5/text = "20"
 | 
			
		||||
popup/item_5/id = 5
 | 
			
		||||
 | 
			
		||||
[node name="Five" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/Five"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_left = -1.0
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = -1.0
 | 
			
		||||
offset_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 500
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/Five/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(200, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 70
 | 
			
		||||
text = "Five"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="OptionButton" type="OptionButton" parent="ScrollContainer/VBoxContainer/Five/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(250, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 50
 | 
			
		||||
alignment = 1
 | 
			
		||||
clip_text = true
 | 
			
		||||
item_count = 6
 | 
			
		||||
allow_reselect = true
 | 
			
		||||
popup/item_0/text = "-"
 | 
			
		||||
popup/item_0/id = 0
 | 
			
		||||
popup/item_1/text = "5"
 | 
			
		||||
popup/item_1/id = 1
 | 
			
		||||
popup/item_2/text = "10"
 | 
			
		||||
popup/item_2/id = 2
 | 
			
		||||
popup/item_3/text = "15"
 | 
			
		||||
popup/item_3/id = 3
 | 
			
		||||
popup/item_4/text = "20"
 | 
			
		||||
popup/item_4/id = 4
 | 
			
		||||
popup/item_5/text = "25"
 | 
			
		||||
popup/item_5/id = 5
 | 
			
		||||
 | 
			
		||||
[node name="Six" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/Six"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_left = -1.0
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = -1.0
 | 
			
		||||
offset_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 500
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/Six/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(200, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 70
 | 
			
		||||
text = "Six
 | 
			
		||||
"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="OptionButton" type="OptionButton" parent="ScrollContainer/VBoxContainer/Six/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(250, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 50
 | 
			
		||||
alignment = 1
 | 
			
		||||
clip_text = true
 | 
			
		||||
item_count = 6
 | 
			
		||||
allow_reselect = true
 | 
			
		||||
popup/item_0/text = "-"
 | 
			
		||||
popup/item_0/id = 0
 | 
			
		||||
popup/item_1/text = "6"
 | 
			
		||||
popup/item_1/id = 1
 | 
			
		||||
popup/item_2/text = "12"
 | 
			
		||||
popup/item_2/id = 2
 | 
			
		||||
popup/item_3/text = "18"
 | 
			
		||||
popup/item_3/id = 3
 | 
			
		||||
popup/item_4/text = "24"
 | 
			
		||||
popup/item_4/id = 4
 | 
			
		||||
popup/item_5/text = "30"
 | 
			
		||||
popup/item_5/id = 5
 | 
			
		||||
 | 
			
		||||
[node name="Bonus" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(0, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/Bonus"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 250
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/Bonus/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(400, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 100
 | 
			
		||||
text = "Bonus:"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="LabelScore" type="Label" parent="ScrollContainer/VBoxContainer/Bonus/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(400, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 100
 | 
			
		||||
text = "-63"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Three_of_a_kind" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/Three_of_a_kind"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_left = -1.0
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = -1.0
 | 
			
		||||
offset_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 200
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/Three_of_a_kind/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(200, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 70
 | 
			
		||||
text = "Three of a kind"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="OptionButton" type="OptionButton" parent="ScrollContainer/VBoxContainer/Three_of_a_kind/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(250, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 50
 | 
			
		||||
alignment = 1
 | 
			
		||||
clip_text = true
 | 
			
		||||
item_count = 1
 | 
			
		||||
allow_reselect = true
 | 
			
		||||
popup/item_0/text = "-"
 | 
			
		||||
popup/item_0/id = 0
 | 
			
		||||
 | 
			
		||||
[node name="Four_of_a_Kind" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/Four_of_a_Kind"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_left = -1.0
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = -1.0
 | 
			
		||||
offset_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 237
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/Four_of_a_Kind/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(200, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 70
 | 
			
		||||
text = "Four of a kind"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="OptionButton" type="OptionButton" parent="ScrollContainer/VBoxContainer/Four_of_a_Kind/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(250, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 50
 | 
			
		||||
alignment = 1
 | 
			
		||||
clip_text = true
 | 
			
		||||
item_count = 1
 | 
			
		||||
allow_reselect = true
 | 
			
		||||
popup/item_0/text = "-"
 | 
			
		||||
popup/item_0/id = 0
 | 
			
		||||
 | 
			
		||||
[node name="Full_House" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/Full_House"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_left = -1.0
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = -1.0
 | 
			
		||||
offset_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 350
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/Full_House/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(200, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 70
 | 
			
		||||
text = "Full House"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="OptionButton" type="OptionButton" parent="ScrollContainer/VBoxContainer/Full_House/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(250, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 50
 | 
			
		||||
alignment = 1
 | 
			
		||||
clip_text = true
 | 
			
		||||
item_count = 1
 | 
			
		||||
allow_reselect = true
 | 
			
		||||
popup/item_0/text = "-"
 | 
			
		||||
popup/item_0/id = 0
 | 
			
		||||
 | 
			
		||||
[node name="Small_Straight" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/Small_Straight"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_left = -1.0
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = -1.0
 | 
			
		||||
offset_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 237
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/Small_Straight/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(200, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 70
 | 
			
		||||
text = "Small Straight"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="OptionButton" type="OptionButton" parent="ScrollContainer/VBoxContainer/Small_Straight/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(250, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 50
 | 
			
		||||
alignment = 1
 | 
			
		||||
clip_text = true
 | 
			
		||||
item_count = 1
 | 
			
		||||
allow_reselect = true
 | 
			
		||||
popup/item_0/text = "-"
 | 
			
		||||
popup/item_0/id = 0
 | 
			
		||||
 | 
			
		||||
[node name="Large_Straight" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/Large_Straight"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_left = -1.0
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = -1.0
 | 
			
		||||
offset_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 237
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/Large_Straight/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(200, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 70
 | 
			
		||||
text = "Large Straight"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="OptionButton" type="OptionButton" parent="ScrollContainer/VBoxContainer/Large_Straight/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(250, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 50
 | 
			
		||||
alignment = 1
 | 
			
		||||
clip_text = true
 | 
			
		||||
item_count = 1
 | 
			
		||||
allow_reselect = true
 | 
			
		||||
popup/item_0/text = "-"
 | 
			
		||||
popup/item_0/id = 0
 | 
			
		||||
 | 
			
		||||
[node name="yahtzee" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/yahtzee"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_left = -1.0
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = -1.0
 | 
			
		||||
offset_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 100
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/yahtzee/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(200, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 70
 | 
			
		||||
text = "Yahtzee
 | 
			
		||||
"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="ButtonYahtzeeMinus" type="Button" parent="ScrollContainer/VBoxContainer/yahtzee/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(250, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 50
 | 
			
		||||
text = "-"
 | 
			
		||||
clip_text = true
 | 
			
		||||
 | 
			
		||||
[node name="ButtonYahtzee" type="Button" parent="ScrollContainer/VBoxContainer/yahtzee/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(250, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 50
 | 
			
		||||
clip_text = true
 | 
			
		||||
 | 
			
		||||
[node name="chance" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/chance"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_left = -1.0
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = -1.0
 | 
			
		||||
offset_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 460
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/chance/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(200, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 70
 | 
			
		||||
text = "Chance"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="OptionButton" type="OptionButton" parent="ScrollContainer/VBoxContainer/chance/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(250, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 50
 | 
			
		||||
alignment = 1
 | 
			
		||||
clip_text = true
 | 
			
		||||
item_count = 1
 | 
			
		||||
allow_reselect = true
 | 
			
		||||
popup/item_0/text = "-"
 | 
			
		||||
popup/item_0/id = 0
 | 
			
		||||
 | 
			
		||||
[node name="Score" type="Panel" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(0, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
 | 
			
		||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/Score"]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_constants/separation = 250
 | 
			
		||||
alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/Score/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(400, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 100
 | 
			
		||||
text = "Score:"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="LabelScore" type="Label" parent="ScrollContainer/VBoxContainer/Score/HBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(400, 150)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 100
 | 
			
		||||
text = "0"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[connection signal="pressed" from="ButtonEnd" to="." method="_on_button_end_pressed"]
 | 
			
		||||
[connection signal="pressed" from="ScrollContainer/VBoxContainer/Panel/HBoxContainer/ButtonLeft" to="." method="_on_button_left_pressed"]
 | 
			
		||||
[connection signal="pressed" from="ScrollContainer/VBoxContainer/Panel/HBoxContainer/ButtonRight" to="." method="_on_button_right_pressed"]
 | 
			
		||||
[connection signal="pressed" from="ScrollContainer/VBoxContainer/yahtzee/HBoxContainer/ButtonYahtzeeMinus" to="." method="_on_button_yahtzee_minus_pressed"]
 | 
			
		||||
[connection signal="pressed" from="ScrollContainer/VBoxContainer/yahtzee/HBoxContainer/ButtonYahtzee" to="." method="_on_button_yahtzee_pressed"]
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								Kniffel.apk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Kniffel.apk
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Kniffel.apk.idsig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Kniffel.apk.idsig
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										66
									
								
								MaiD4BD.tmp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								MaiD4BD.tmp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
			
		||||
[gd_scene load_steps=2 format=3 uid="uid://bnx03xo45brr1"]
 | 
			
		||||
 | 
			
		||||
[ext_resource type="Script" path="res://MainMenu.gd" id="1_5nykg"]
 | 
			
		||||
 | 
			
		||||
[node name="Control" type="Control"]
 | 
			
		||||
layout_mode = 3
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
script = ExtResource("1_5nykg")
 | 
			
		||||
 | 
			
		||||
[node name="ColorRect" type="ColorRect" parent="."]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
color = Color(0.113725, 0.133333, 0.160784, 1)
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="."]
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = 2160.0
 | 
			
		||||
offset_bottom = 405.0
 | 
			
		||||
theme_override_font_sizes/font_size = 250
 | 
			
		||||
text = "Kniffel
 | 
			
		||||
"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="ScrollContainer" type="ScrollContainer" parent="."]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = -1
 | 
			
		||||
anchor_top = 0.102
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 0.102
 | 
			
		||||
offset_top = -7.68002
 | 
			
		||||
offset_bottom = 2979.32
 | 
			
		||||
 | 
			
		||||
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(2160, 2995)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_constants/separation = 30
 | 
			
		||||
 | 
			
		||||
[node name="Button" type="Button" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(0, 350)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 120
 | 
			
		||||
text = "Add Player"
 | 
			
		||||
 | 
			
		||||
[node name="Button" type="Button" parent="."]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 12
 | 
			
		||||
anchor_top = 1.0
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_top = -462.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 0
 | 
			
		||||
theme_override_font_sizes/font_size = 250
 | 
			
		||||
text = "Play"
 | 
			
		||||
 | 
			
		||||
[connection signal="pressed" from="ScrollContainer/VBoxContainer/Button" to="." method="_on_button_pressed"]
 | 
			
		||||
							
								
								
									
										50
									
								
								MainMenu.gd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								MainMenu.gd
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
			
		||||
extends Control
 | 
			
		||||
 | 
			
		||||
var PlayerList : VBoxContainer
 | 
			
		||||
var PlayerPanel : PackedScene
 | 
			
		||||
var GameScene
 | 
			
		||||
 | 
			
		||||
# Called when the node enters the scene tree for the first time.
 | 
			
		||||
func _ready():
 | 
			
		||||
	PlayerList = get_node("ScrollContainer/VBoxContainer")
 | 
			
		||||
	PlayerPanel = load("res://PlayerPanel.tscn")
 | 
			
		||||
	GameScene = preload("res://GameScene.tscn").instantiate()
 | 
			
		||||
	Player_Manger.clear_players()
 | 
			
		||||
	pass # Replace with function body.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
 | 
			
		||||
func _process(delta):
 | 
			
		||||
	pass
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
func _on_button_pressed():
 | 
			
		||||
	var player = PlayerPanel.instantiate()
 | 
			
		||||
	var player_name : TextEdit = player.get_child(0)
 | 
			
		||||
	if player_name != null:
 | 
			
		||||
		player_name.text = "Player " + str(PlayerList.get_child_count() + 1)
 | 
			
		||||
		player_name.connect("text_changed", Callable(self, "_on_text_changed"))
 | 
			
		||||
		PlayerList.add_child(player)
 | 
			
		||||
	else:
 | 
			
		||||
		print("Error: player_name is null")
 | 
			
		||||
	pass # Replace with function body.
 | 
			
		||||
 | 
			
		||||
func _on_text_changed():
 | 
			
		||||
	var players = PlayerList.get_children()
 | 
			
		||||
	for player in players:
 | 
			
		||||
		var player_name : TextEdit = player.get_child(0)
 | 
			
		||||
		if player_name != null and player_name.text == "":
 | 
			
		||||
			return
 | 
			
		||||
	pass # Replace with function body.
 | 
			
		||||
 | 
			
		||||
func _on_button_play_pressed():
 | 
			
		||||
	var players = PlayerList.get_children()
 | 
			
		||||
	for player in players:
 | 
			
		||||
		var player_name : TextEdit = player.get_child(0)
 | 
			
		||||
		if player_name != null:
 | 
			
		||||
			var player_instance = Player.new(player_name.text)
 | 
			
		||||
			Player_Manger.add_player(player_instance)
 | 
			
		||||
		else:
 | 
			
		||||
			print("Error: player_name is null")
 | 
			
		||||
	get_tree().change_scene_to_file("res://GameScene.tscn")
 | 
			
		||||
	pass # Replace with function body.
 | 
			
		||||
							
								
								
									
										67
									
								
								MainMenu.tscn
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								MainMenu.tscn
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,67 @@
 | 
			
		||||
[gd_scene load_steps=2 format=3 uid="uid://bnx03xo45brr1"]
 | 
			
		||||
 | 
			
		||||
[ext_resource type="Script" path="res://MainMenu.gd" id="1_5nykg"]
 | 
			
		||||
 | 
			
		||||
[node name="Control" type="Control"]
 | 
			
		||||
layout_mode = 3
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
script = ExtResource("1_5nykg")
 | 
			
		||||
 | 
			
		||||
[node name="ColorRect" type="ColorRect" parent="."]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
color = Color(0.113725, 0.133333, 0.160784, 1)
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="Label" parent="."]
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
offset_top = 1.0
 | 
			
		||||
offset_right = 1081.0
 | 
			
		||||
offset_bottom = 172.0
 | 
			
		||||
theme_override_font_sizes/font_size = 125
 | 
			
		||||
text = "Kniffel
 | 
			
		||||
"
 | 
			
		||||
horizontal_alignment = 1
 | 
			
		||||
vertical_alignment = 1
 | 
			
		||||
 | 
			
		||||
[node name="ScrollContainer" type="ScrollContainer" parent="."]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = -1
 | 
			
		||||
anchor_top = 0.102
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 0.102
 | 
			
		||||
offset_top = -7.84001
 | 
			
		||||
offset_bottom = 1255.16
 | 
			
		||||
 | 
			
		||||
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 1526)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_constants/separation = 30
 | 
			
		||||
 | 
			
		||||
[node name="Button" type="Button" parent="ScrollContainer/VBoxContainer"]
 | 
			
		||||
custom_minimum_size = Vector2(0, 175)
 | 
			
		||||
layout_mode = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 120
 | 
			
		||||
text = "Add Player"
 | 
			
		||||
 | 
			
		||||
[node name="Button" type="Button" parent="."]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 12
 | 
			
		||||
anchor_top = 1.0
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
offset_top = -203.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 0
 | 
			
		||||
theme_override_font_sizes/font_size = 100
 | 
			
		||||
text = "Play"
 | 
			
		||||
 | 
			
		||||
[connection signal="pressed" from="ScrollContainer/VBoxContainer/Button" to="." method="_on_button_pressed"]
 | 
			
		||||
[connection signal="pressed" from="Button" to="." method="_on_button_play_pressed"]
 | 
			
		||||
							
								
								
									
										39
									
								
								Player.gd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								Player.gd
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
class_name Player
 | 
			
		||||
 | 
			
		||||
var name: String
 | 
			
		||||
var one : int
 | 
			
		||||
var two : int
 | 
			
		||||
var three : int
 | 
			
		||||
var four : int
 | 
			
		||||
var five : int
 | 
			
		||||
var six : int
 | 
			
		||||
var three_of_a_kind : int
 | 
			
		||||
var four_of_a_kind : int
 | 
			
		||||
var full_house : int
 | 
			
		||||
var small_straight : int
 | 
			
		||||
var large_straight : int
 | 
			
		||||
var yahtzee : int
 | 
			
		||||
var chance : int
 | 
			
		||||
var bonus : int
 | 
			
		||||
var score: int
 | 
			
		||||
 | 
			
		||||
func _init(name: String):
 | 
			
		||||
	self.name = name
 | 
			
		||||
	self.one = 0
 | 
			
		||||
	self.two = 0
 | 
			
		||||
	self.three = 0
 | 
			
		||||
	self.four = 0
 | 
			
		||||
	self.five = 0
 | 
			
		||||
	self.six = 0
 | 
			
		||||
	self.three_of_a_kind = 0
 | 
			
		||||
	self.four_of_a_kind = 0
 | 
			
		||||
	self.full_house = 0
 | 
			
		||||
	self.small_straight = 0
 | 
			
		||||
	self.large_straight = 0
 | 
			
		||||
	self.yahtzee = 0
 | 
			
		||||
	self.chance = 0
 | 
			
		||||
	self.bonus = 0
 | 
			
		||||
	self.score = 0
 | 
			
		||||
	
 | 
			
		||||
func change_name(name: String):
 | 
			
		||||
	self.name = name
 | 
			
		||||
							
								
								
									
										14
									
								
								PlayerManager.gd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								PlayerManager.gd
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
extends Node
 | 
			
		||||
 | 
			
		||||
class_name PlayerManager
 | 
			
		||||
 | 
			
		||||
var players: Array = []
 | 
			
		||||
 | 
			
		||||
func add_player(player: Player):
 | 
			
		||||
	players.append(player)
 | 
			
		||||
 | 
			
		||||
func get_players() -> Array:
 | 
			
		||||
	return players
 | 
			
		||||
 | 
			
		||||
func clear_players():
 | 
			
		||||
	players.clear()
 | 
			
		||||
							
								
								
									
										16
									
								
								PlayerPanel.tscn
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								PlayerPanel.tscn
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
[gd_scene format=3 uid="uid://ceua4rd0na8jl"]
 | 
			
		||||
 | 
			
		||||
[node name="Panel" type="Panel"]
 | 
			
		||||
custom_minimum_size = Vector2(1080, 125)
 | 
			
		||||
offset_right = 40.0
 | 
			
		||||
offset_bottom = 40.0
 | 
			
		||||
 | 
			
		||||
[node name="Label" type="TextEdit" parent="."]
 | 
			
		||||
layout_mode = 1
 | 
			
		||||
anchors_preset = 15
 | 
			
		||||
anchor_right = 1.0
 | 
			
		||||
anchor_bottom = 1.0
 | 
			
		||||
grow_horizontal = 2
 | 
			
		||||
grow_vertical = 2
 | 
			
		||||
theme_override_font_sizes/font_size = 60
 | 
			
		||||
text = "Player"
 | 
			
		||||
							
								
								
									
										18
									
								
								ScrollContainer.gd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								ScrollContainer.gd
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
extends ScrollContainer
 | 
			
		||||
 | 
			
		||||
var dragging = false
 | 
			
		||||
var drag_start_position = Vector2()
 | 
			
		||||
var scroll_start_position = Vector2()
 | 
			
		||||
 | 
			
		||||
func _input(event):
 | 
			
		||||
	if event is InputEventMouseButton or event is InputEventScreenTouch:
 | 
			
		||||
		if event.pressed:
 | 
			
		||||
			dragging = true
 | 
			
		||||
			drag_start_position = event.position
 | 
			
		||||
			scroll_start_position = Vector2(get_h_scroll(), get_v_scroll())
 | 
			
		||||
		else:
 | 
			
		||||
			dragging = false
 | 
			
		||||
	elif dragging and (event is InputEventMouseMotion or event is InputEventScreenDrag):
 | 
			
		||||
		var delta = event.position - drag_start_position
 | 
			
		||||
		set_h_scroll(scroll_start_position.x - delta.x)
 | 
			
		||||
		set_v_scroll(scroll_start_position.y - delta.y)
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								android export/yahtzee.keystore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								android export/yahtzee.keystore
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										202
									
								
								export_presets.cfg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										202
									
								
								export_presets.cfg
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,202 @@
 | 
			
		||||
[preset.0]
 | 
			
		||||
 | 
			
		||||
name="Android"
 | 
			
		||||
platform="Android"
 | 
			
		||||
runnable=true
 | 
			
		||||
dedicated_server=false
 | 
			
		||||
custom_features=""
 | 
			
		||||
export_filter="all_resources"
 | 
			
		||||
include_filter=""
 | 
			
		||||
exclude_filter=""
 | 
			
		||||
export_path="./Kniffel.apk"
 | 
			
		||||
encryption_include_filters=""
 | 
			
		||||
encryption_exclude_filters=""
 | 
			
		||||
encrypt_pck=false
 | 
			
		||||
encrypt_directory=false
 | 
			
		||||
 | 
			
		||||
[preset.0.options]
 | 
			
		||||
 | 
			
		||||
custom_template/debug=""
 | 
			
		||||
custom_template/release=""
 | 
			
		||||
gradle_build/use_gradle_build=false
 | 
			
		||||
gradle_build/export_format=0
 | 
			
		||||
gradle_build/min_sdk=""
 | 
			
		||||
gradle_build/target_sdk=""
 | 
			
		||||
architectures/armeabi-v7a=false
 | 
			
		||||
architectures/arm64-v8a=true
 | 
			
		||||
architectures/x86=true
 | 
			
		||||
architectures/x86_64=false
 | 
			
		||||
version/code=1
 | 
			
		||||
version/name=""
 | 
			
		||||
package/unique_name="com.example.$genname"
 | 
			
		||||
package/name=""
 | 
			
		||||
package/signed=true
 | 
			
		||||
package/app_category=2
 | 
			
		||||
package/retain_data_on_uninstall=false
 | 
			
		||||
package/exclude_from_recents=false
 | 
			
		||||
package/show_in_android_tv=false
 | 
			
		||||
package/show_in_app_library=true
 | 
			
		||||
package/show_as_launcher_app=false
 | 
			
		||||
launcher_icons/main_192x192=""
 | 
			
		||||
launcher_icons/adaptive_foreground_432x432=""
 | 
			
		||||
launcher_icons/adaptive_background_432x432=""
 | 
			
		||||
graphics/opengl_debug=false
 | 
			
		||||
xr_features/xr_mode=0
 | 
			
		||||
screen/immersive_mode=true
 | 
			
		||||
screen/support_small=true
 | 
			
		||||
screen/support_normal=true
 | 
			
		||||
screen/support_large=true
 | 
			
		||||
screen/support_xlarge=true
 | 
			
		||||
user_data_backup/allow=false
 | 
			
		||||
command_line/extra_args=""
 | 
			
		||||
apk_expansion/enable=false
 | 
			
		||||
apk_expansion/SALT=""
 | 
			
		||||
apk_expansion/public_key=""
 | 
			
		||||
permissions/custom_permissions=PackedStringArray()
 | 
			
		||||
permissions/access_checkin_properties=false
 | 
			
		||||
permissions/access_coarse_location=false
 | 
			
		||||
permissions/access_fine_location=false
 | 
			
		||||
permissions/access_location_extra_commands=false
 | 
			
		||||
permissions/access_mock_location=false
 | 
			
		||||
permissions/access_network_state=false
 | 
			
		||||
permissions/access_surface_flinger=false
 | 
			
		||||
permissions/access_wifi_state=false
 | 
			
		||||
permissions/account_manager=false
 | 
			
		||||
permissions/add_voicemail=false
 | 
			
		||||
permissions/authenticate_accounts=false
 | 
			
		||||
permissions/battery_stats=false
 | 
			
		||||
permissions/bind_accessibility_service=false
 | 
			
		||||
permissions/bind_appwidget=false
 | 
			
		||||
permissions/bind_device_admin=false
 | 
			
		||||
permissions/bind_input_method=false
 | 
			
		||||
permissions/bind_nfc_service=false
 | 
			
		||||
permissions/bind_notification_listener_service=false
 | 
			
		||||
permissions/bind_print_service=false
 | 
			
		||||
permissions/bind_remoteviews=false
 | 
			
		||||
permissions/bind_text_service=false
 | 
			
		||||
permissions/bind_vpn_service=false
 | 
			
		||||
permissions/bind_wallpaper=false
 | 
			
		||||
permissions/bluetooth=false
 | 
			
		||||
permissions/bluetooth_admin=false
 | 
			
		||||
permissions/bluetooth_privileged=false
 | 
			
		||||
permissions/brick=false
 | 
			
		||||
permissions/broadcast_package_removed=false
 | 
			
		||||
permissions/broadcast_sms=false
 | 
			
		||||
permissions/broadcast_sticky=false
 | 
			
		||||
permissions/broadcast_wap_push=false
 | 
			
		||||
permissions/call_phone=false
 | 
			
		||||
permissions/call_privileged=false
 | 
			
		||||
permissions/camera=false
 | 
			
		||||
permissions/capture_audio_output=false
 | 
			
		||||
permissions/capture_secure_video_output=false
 | 
			
		||||
permissions/capture_video_output=false
 | 
			
		||||
permissions/change_component_enabled_state=false
 | 
			
		||||
permissions/change_configuration=false
 | 
			
		||||
permissions/change_network_state=false
 | 
			
		||||
permissions/change_wifi_multicast_state=false
 | 
			
		||||
permissions/change_wifi_state=false
 | 
			
		||||
permissions/clear_app_cache=false
 | 
			
		||||
permissions/clear_app_user_data=false
 | 
			
		||||
permissions/control_location_updates=false
 | 
			
		||||
permissions/delete_cache_files=false
 | 
			
		||||
permissions/delete_packages=false
 | 
			
		||||
permissions/device_power=false
 | 
			
		||||
permissions/diagnostic=false
 | 
			
		||||
permissions/disable_keyguard=false
 | 
			
		||||
permissions/dump=false
 | 
			
		||||
permissions/expand_status_bar=false
 | 
			
		||||
permissions/factory_test=false
 | 
			
		||||
permissions/flashlight=false
 | 
			
		||||
permissions/force_back=false
 | 
			
		||||
permissions/get_accounts=false
 | 
			
		||||
permissions/get_package_size=false
 | 
			
		||||
permissions/get_tasks=false
 | 
			
		||||
permissions/get_top_activity_info=false
 | 
			
		||||
permissions/global_search=false
 | 
			
		||||
permissions/hardware_test=false
 | 
			
		||||
permissions/inject_events=false
 | 
			
		||||
permissions/install_location_provider=false
 | 
			
		||||
permissions/install_packages=false
 | 
			
		||||
permissions/install_shortcut=false
 | 
			
		||||
permissions/internal_system_window=false
 | 
			
		||||
permissions/internet=false
 | 
			
		||||
permissions/kill_background_processes=false
 | 
			
		||||
permissions/location_hardware=false
 | 
			
		||||
permissions/manage_accounts=false
 | 
			
		||||
permissions/manage_app_tokens=false
 | 
			
		||||
permissions/manage_documents=false
 | 
			
		||||
permissions/manage_external_storage=false
 | 
			
		||||
permissions/master_clear=false
 | 
			
		||||
permissions/media_content_control=false
 | 
			
		||||
permissions/modify_audio_settings=false
 | 
			
		||||
permissions/modify_phone_state=false
 | 
			
		||||
permissions/mount_format_filesystems=false
 | 
			
		||||
permissions/mount_unmount_filesystems=false
 | 
			
		||||
permissions/nfc=false
 | 
			
		||||
permissions/persistent_activity=false
 | 
			
		||||
permissions/post_notifications=false
 | 
			
		||||
permissions/process_outgoing_calls=false
 | 
			
		||||
permissions/read_calendar=false
 | 
			
		||||
permissions/read_call_log=false
 | 
			
		||||
permissions/read_contacts=false
 | 
			
		||||
permissions/read_external_storage=false
 | 
			
		||||
permissions/read_frame_buffer=false
 | 
			
		||||
permissions/read_history_bookmarks=false
 | 
			
		||||
permissions/read_input_state=false
 | 
			
		||||
permissions/read_logs=false
 | 
			
		||||
permissions/read_phone_state=false
 | 
			
		||||
permissions/read_profile=false
 | 
			
		||||
permissions/read_sms=false
 | 
			
		||||
permissions/read_social_stream=false
 | 
			
		||||
permissions/read_sync_settings=false
 | 
			
		||||
permissions/read_sync_stats=false
 | 
			
		||||
permissions/read_user_dictionary=false
 | 
			
		||||
permissions/reboot=false
 | 
			
		||||
permissions/receive_boot_completed=false
 | 
			
		||||
permissions/receive_mms=false
 | 
			
		||||
permissions/receive_sms=false
 | 
			
		||||
permissions/receive_wap_push=false
 | 
			
		||||
permissions/record_audio=false
 | 
			
		||||
permissions/reorder_tasks=false
 | 
			
		||||
permissions/restart_packages=false
 | 
			
		||||
permissions/send_respond_via_message=false
 | 
			
		||||
permissions/send_sms=false
 | 
			
		||||
permissions/set_activity_watcher=false
 | 
			
		||||
permissions/set_alarm=false
 | 
			
		||||
permissions/set_always_finish=false
 | 
			
		||||
permissions/set_animation_scale=false
 | 
			
		||||
permissions/set_debug_app=false
 | 
			
		||||
permissions/set_orientation=false
 | 
			
		||||
permissions/set_pointer_speed=false
 | 
			
		||||
permissions/set_preferred_applications=false
 | 
			
		||||
permissions/set_process_limit=false
 | 
			
		||||
permissions/set_time=false
 | 
			
		||||
permissions/set_time_zone=false
 | 
			
		||||
permissions/set_wallpaper=false
 | 
			
		||||
permissions/set_wallpaper_hints=false
 | 
			
		||||
permissions/signal_persistent_processes=false
 | 
			
		||||
permissions/status_bar=false
 | 
			
		||||
permissions/subscribed_feeds_read=false
 | 
			
		||||
permissions/subscribed_feeds_write=false
 | 
			
		||||
permissions/system_alert_window=false
 | 
			
		||||
permissions/transmit_ir=false
 | 
			
		||||
permissions/uninstall_shortcut=false
 | 
			
		||||
permissions/update_device_stats=false
 | 
			
		||||
permissions/use_credentials=false
 | 
			
		||||
permissions/use_sip=false
 | 
			
		||||
permissions/vibrate=false
 | 
			
		||||
permissions/wake_lock=false
 | 
			
		||||
permissions/write_apn_settings=false
 | 
			
		||||
permissions/write_calendar=false
 | 
			
		||||
permissions/write_call_log=false
 | 
			
		||||
permissions/write_contacts=false
 | 
			
		||||
permissions/write_external_storage=false
 | 
			
		||||
permissions/write_gservices=false
 | 
			
		||||
permissions/write_history_bookmarks=false
 | 
			
		||||
permissions/write_profile=false
 | 
			
		||||
permissions/write_secure_settings=false
 | 
			
		||||
permissions/write_settings=false
 | 
			
		||||
permissions/write_sms=false
 | 
			
		||||
permissions/write_social_stream=false
 | 
			
		||||
permissions/write_sync_settings=false
 | 
			
		||||
permissions/write_user_dictionary=false
 | 
			
		||||
							
								
								
									
										1
									
								
								icon.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								icon.svg
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="124" height="124" rx="14" fill="#363d52" stroke="#212532" stroke-width="4"/><g transform="scale(.101) translate(122 122)"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z" fill="#478cbf"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></g></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 949 B  | 
							
								
								
									
										37
									
								
								icon.svg.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								icon.svg.import
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
[remap]
 | 
			
		||||
 | 
			
		||||
importer="texture"
 | 
			
		||||
type="CompressedTexture2D"
 | 
			
		||||
uid="uid://dffe5x0coss4q"
 | 
			
		||||
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
 | 
			
		||||
metadata={
 | 
			
		||||
"vram_texture": false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
[deps]
 | 
			
		||||
 | 
			
		||||
source_file="res://icon.svg"
 | 
			
		||||
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.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
 | 
			
		||||
svg/scale=1.0
 | 
			
		||||
editor/scale_with_editor_scale=false
 | 
			
		||||
editor/convert_colors_with_editor_theme=false
 | 
			
		||||
							
								
								
									
										35
									
								
								project.godot
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								project.godot
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
; Engine configuration file.
 | 
			
		||||
; It's best edited using the editor UI and not directly,
 | 
			
		||||
; since the parameters that go here are not all obvious.
 | 
			
		||||
;
 | 
			
		||||
; Format:
 | 
			
		||||
;   [section] ; section goes between []
 | 
			
		||||
;   param=value ; assign values to parameters
 | 
			
		||||
 | 
			
		||||
config_version=5
 | 
			
		||||
 | 
			
		||||
[application]
 | 
			
		||||
 | 
			
		||||
config/name="Kniffel"
 | 
			
		||||
run/main_scene="res://MainMenu.tscn"
 | 
			
		||||
config/features=PackedStringArray("4.2", "Mobile")
 | 
			
		||||
run/low_processor_mode=true
 | 
			
		||||
config/icon="res://icon.svg"
 | 
			
		||||
 | 
			
		||||
[autoload]
 | 
			
		||||
 | 
			
		||||
Player_Manger="*res://PlayerManager.gd"
 | 
			
		||||
 | 
			
		||||
[display]
 | 
			
		||||
 | 
			
		||||
window/size/viewport_width=1080
 | 
			
		||||
window/size/viewport_height=1920
 | 
			
		||||
window/size/initial_position=Vector2i(1080, 1920)
 | 
			
		||||
window/stretch/mode="canvas_items"
 | 
			
		||||
window/stretch/aspect="ignore"
 | 
			
		||||
window/handheld/orientation=1
 | 
			
		||||
 | 
			
		||||
[rendering]
 | 
			
		||||
 | 
			
		||||
renderer/rendering_method="mobile"
 | 
			
		||||
textures/vram_compression/import_etc2_astc=true
 | 
			
		||||
		Reference in New Issue
	
	Block a user