Initial commit

This commit is contained in:
Yadciel 2024-08-19 09:33:32 +02:00
commit 930253e013
19 changed files with 1490 additions and 0 deletions

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
# Godot 4+ specific ignores
.godot/
.idea/

247
GameScene.gd Normal file
View 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
View 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

Binary file not shown.

BIN
Kniffel.apk.idsig Normal file

Binary file not shown.

66
MaiD4BD.tmp Normal file
View 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
View 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
View 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
View 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
View 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
View 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"

1
README.md Normal file
View File

@ -0,0 +1 @@
# Kniffel

18
ScrollContainer.gd Normal file
View 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)

Binary file not shown.

202
export_presets.cfg Normal file
View 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
View 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
View 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
View 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