Juego de emparejar las sombras acabado(Falta mejorar un poco el diseño)

This commit is contained in:
Andrés Moran 2025-04-11 00:35:59 +02:00
parent 5277089667
commit cdcd56c794
109 changed files with 1958 additions and 257 deletions

View File

@ -0,0 +1,195 @@
[editor_states]
Anim={
"visible": false
}
2D={
"grid_offset": Vector2(0, 0),
"grid_snap_active": false,
"grid_step": Vector2(8, 8),
"grid_visibility": 1,
"ofs": Vector2(-115.402, 74.5408),
"primary_grid_step": Vector2i(8, 8),
"show_group_gizmos": true,
"show_guides": true,
"show_helpers": false,
"show_lock_gizmos": true,
"show_origin": true,
"show_position_gizmos": true,
"show_rulers": true,
"show_transformation_gizmos": true,
"show_viewport": true,
"show_zoom_control": true,
"smart_snap_active": false,
"snap_guides": true,
"snap_node_anchors": true,
"snap_node_center": true,
"snap_node_parent": true,
"snap_node_sides": true,
"snap_other_nodes": true,
"snap_pixel": true,
"snap_relative": false,
"snap_rotation": false,
"snap_rotation_offset": 0.0,
"snap_rotation_step": 0.261799,
"snap_scale": false,
"snap_scale_step": 0.1,
"zoom": 0.683013
}
3D={
"fov": 70.01,
"gizmos_status": {
"AudioListener3D": 0,
"AudioStreamPlayer3D": 0,
"CPUParticles3D": 0,
"CSGShape3D": 0,
"Camera3D": 0,
"CollisionObject3D": 0,
"CollisionPolygon3D": 0,
"CollisionShape3D": 0,
"Decal": 0,
"FogVolume": 0,
"GPUParticles3D": 0,
"GPUParticlesCollision3D": 0,
"Joint3D": 0,
"Light3D": 0,
"LightmapGI": 0,
"LightmapProbe": 0,
"Marker3D": 0,
"MeshInstance3DCustomAABB": 0,
"NavigationLink3D": 0,
"NavigationObstacle3D": 0,
"NavigationRegion3D": 0,
"OccluderInstance3D": 0,
"Particles3DEmissionShape": 0,
"Path3D": 0,
"PhysicalBone3D": 0,
"RayCast3D": 0,
"ReflectionProbe": 0,
"ShapeCast3D": 0,
"Skeleton3D": 0,
"SoftBody3D": 0,
"SpringArm3D": 0,
"SpringBoneCollision3D": 0,
"SpringBoneSimulator3D": 0,
"VehicleWheel3D": 0,
"VisibleOnScreenNotifier3D": 0,
"VoxelGI": 0
},
"local_coords": false,
"preview_sun_env": {
"environ_ao_enabled": false,
"environ_enabled": true,
"environ_energy": 1.0,
"environ_gi_enabled": false,
"environ_glow_enabled": false,
"environ_ground_color": Color(0.2, 0.169, 0.133, 1),
"environ_sky_color": Color(0.385, 0.454, 0.55, 1),
"environ_tonemap_enabled": true,
"sun_color": Color(1, 1, 1, 1),
"sun_enabled": true,
"sun_energy": 1.0,
"sun_max_distance": 100.0,
"sun_rotation": Vector2(-1.0472, 2.61799)
},
"rotate_snap": 15.0,
"scale_snap": 10.0,
"show_grid": true,
"show_origin": true,
"snap_enabled": false,
"translate_snap": 1.0,
"viewport_mode": 1,
"viewports": [{
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": true,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}, {
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}, {
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}, {
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}],
"zfar": 4000.01,
"znear": 0.05
}
Game={
"camera_override_mode": 2,
"hide_selection": false,
"select_mode": 0
}
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Configuration/VBoxContainer/levels_menu")])

View File

@ -0,0 +1,5 @@
[folding]
node_unfolds=[NodePath("VBoxContainer/bg_color_picker"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("VBoxContainer/tiles_lines_color_picker"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("VBoxContainer/table_lines_color_picker"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("VBoxContainer/levels_menu"), PackedStringArray("item_count_array")]
resource_unfolds=[]
nodes_folded=[]

View File

@ -8,7 +8,7 @@ Anim={
"grid_snap_active": false, "grid_snap_active": false,
"grid_step": Vector2(8, 8), "grid_step": Vector2(8, 8),
"grid_visibility": 1, "grid_visibility": 1,
"ofs": Vector2(-1378.85, -673.121), "ofs": Vector2(-959.263, -180.807),
"primary_grid_step": Vector2i(8, 8), "primary_grid_step": Vector2i(8, 8),
"show_group_gizmos": true, "show_group_gizmos": true,
"show_guides": true, "show_guides": true,
@ -34,7 +34,7 @@ Anim={
"snap_rotation_step": 0.261799, "snap_rotation_step": 0.261799,
"snap_scale": false, "snap_scale": false,
"snap_scale_step": 0.1, "snap_scale_step": 0.1,
"zoom": 0.318631 "zoom": 0.424098
} }
3D={ 3D={
"fov": 70.01, "fov": 70.01,
@ -192,4 +192,4 @@ Game={
"hide_selection": false, "hide_selection": false,
"select_mode": 0 "select_mode": 0
} }
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Node2D/GameBoardContainer/GameBoard/GridContainer")]) selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Node2D/TilesContainer")])

View File

@ -0,0 +1,195 @@
[editor_states]
Anim={
"visible": false
}
2D={
"grid_offset": Vector2(0, 0),
"grid_snap_active": false,
"grid_step": Vector2(8, 8),
"grid_visibility": 1,
"ofs": Vector2(-2031.47, -666.878),
"primary_grid_step": Vector2i(8, 8),
"show_group_gizmos": true,
"show_guides": true,
"show_helpers": false,
"show_lock_gizmos": true,
"show_origin": true,
"show_position_gizmos": true,
"show_rulers": true,
"show_transformation_gizmos": true,
"show_viewport": true,
"show_zoom_control": true,
"smart_snap_active": false,
"snap_guides": true,
"snap_node_anchors": true,
"snap_node_center": true,
"snap_node_parent": true,
"snap_node_sides": true,
"snap_other_nodes": true,
"snap_pixel": true,
"snap_relative": false,
"snap_rotation": false,
"snap_rotation_offset": 0.0,
"snap_rotation_step": 0.261799,
"snap_scale": false,
"snap_scale_step": 0.1,
"zoom": 0.318631
}
3D={
"fov": 70.01,
"gizmos_status": {
"AudioListener3D": 0,
"AudioStreamPlayer3D": 0,
"CPUParticles3D": 0,
"CSGShape3D": 0,
"Camera3D": 0,
"CollisionObject3D": 0,
"CollisionPolygon3D": 0,
"CollisionShape3D": 0,
"Decal": 0,
"FogVolume": 0,
"GPUParticles3D": 0,
"GPUParticlesCollision3D": 0,
"Joint3D": 0,
"Light3D": 0,
"LightmapGI": 0,
"LightmapProbe": 0,
"Marker3D": 0,
"MeshInstance3DCustomAABB": 0,
"NavigationLink3D": 0,
"NavigationObstacle3D": 0,
"NavigationRegion3D": 0,
"OccluderInstance3D": 0,
"Particles3DEmissionShape": 0,
"Path3D": 0,
"PhysicalBone3D": 0,
"RayCast3D": 0,
"ReflectionProbe": 0,
"ShapeCast3D": 0,
"Skeleton3D": 0,
"SoftBody3D": 0,
"SpringArm3D": 0,
"SpringBoneCollision3D": 0,
"SpringBoneSimulator3D": 0,
"VehicleWheel3D": 0,
"VisibleOnScreenNotifier3D": 0,
"VoxelGI": 0
},
"local_coords": false,
"preview_sun_env": {
"environ_ao_enabled": false,
"environ_enabled": true,
"environ_energy": 1.0,
"environ_gi_enabled": false,
"environ_glow_enabled": false,
"environ_ground_color": Color(0.2, 0.169, 0.133, 1),
"environ_sky_color": Color(0.385, 0.454, 0.55, 1),
"environ_tonemap_enabled": true,
"sun_color": Color(1, 1, 1, 1),
"sun_enabled": true,
"sun_energy": 1.0,
"sun_max_distance": 100.0,
"sun_rotation": Vector2(-1.0472, 2.61799)
},
"rotate_snap": 15.0,
"scale_snap": 10.0,
"show_grid": true,
"show_origin": true,
"snap_enabled": false,
"translate_snap": 1.0,
"viewport_mode": 1,
"viewports": [{
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": true,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}, {
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}, {
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}, {
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}],
"zfar": 4000.01,
"znear": 0.05
}
Game={
"camera_override_mode": 2,
"hide_selection": false,
"select_mode": 0
}
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Configuration/VBoxContainer/levels_menu")])

View File

@ -1,5 +1,5 @@
[folding] [folding]
node_unfolds=[NodePath("GameBoardContainer"), PackedStringArray("Layout", "Layout/Transform"), NodePath("GameBoardContainer/GameBoard"), PackedStringArray("Layout", "Layout/Transform"), NodePath("GameBoardContainer/GameBoard/GridContainer"), PackedStringArray("Layout", "Layout/Container Sizing", "Layout/Transform"), NodePath("TilesContainer"), PackedStringArray("Layout", "Layout/Transform")] node_unfolds=[NodePath("GameBoardContainer"), PackedStringArray("Layout", "Layout/Transform"), NodePath("GameBoardContainer/GameBoard"), PackedStringArray("Layout", "Layout/Transform"), NodePath("GameBoardContainer/GameBoard/GridContainer"), PackedStringArray("Layout", "Layout/Container Sizing", "Layout/Transform"), NodePath("TilesContainer"), PackedStringArray("Layout", "Layout/Transform", "Texture")]
resource_unfolds=[] resource_unfolds=[]
nodes_folded=[] nodes_folded=[]

View File

@ -0,0 +1,5 @@
[folding]
node_unfolds=[NodePath("MenuButton"), PackedStringArray("Layout", "Layout/Transform", "icon"), NodePath("HBoxContainer"), PackedStringArray("Layout", "Theme Overrides", "Theme Overrides/constants"), NodePath("HBoxContainer/VBoxContainer"), PackedStringArray("Layout", "Layout/Transform", "Layout/Container Sizing"), NodePath("HBoxContainer/VBoxContainer/Label"), PackedStringArray("BiDi", "Theme Overrides", "Theme Overrides/font_sizes", "Theme Overrides/fonts"), NodePath("HBoxContainer/VBoxContainer/TilesContainer"), PackedStringArray("Layout", "Layout/Transform", "Texture", "Layout/Container Sizing"), NodePath("HBoxContainer/VBoxContainer2"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("HBoxContainer/VBoxContainer2/Label"), PackedStringArray("Theme Overrides", "Theme Overrides/font_sizes"), NodePath("HBoxContainer/VBoxContainer2/GameBoardContainer"), PackedStringArray("Layout", "Layout/Transform", "Layout/Container Sizing"), NodePath("HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard"), PackedStringArray("Layout", "Layout/Transform"), NodePath("HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard/GridContainer"), PackedStringArray("Layout", "Layout/Container Sizing", "Layout/Transform")]
resource_unfolds=[]
nodes_folded=[]

View File

@ -0,0 +1,195 @@
[editor_states]
Anim={
"visible": false
}
2D={
"grid_offset": Vector2(0, 0),
"grid_snap_active": false,
"grid_step": Vector2(8, 8),
"grid_visibility": 1,
"ofs": Vector2(-165, -110),
"primary_grid_step": Vector2i(8, 8),
"show_group_gizmos": true,
"show_guides": true,
"show_helpers": false,
"show_lock_gizmos": true,
"show_origin": true,
"show_position_gizmos": true,
"show_rulers": true,
"show_transformation_gizmos": true,
"show_viewport": true,
"show_zoom_control": true,
"smart_snap_active": false,
"snap_guides": true,
"snap_node_anchors": true,
"snap_node_center": true,
"snap_node_parent": true,
"snap_node_sides": true,
"snap_other_nodes": true,
"snap_pixel": true,
"snap_relative": false,
"snap_rotation": false,
"snap_rotation_offset": 0.0,
"snap_rotation_step": 0.261799,
"snap_scale": false,
"snap_scale_step": 0.1,
"zoom": 1.0
}
3D={
"fov": 70.01,
"gizmos_status": {
"AudioListener3D": 0,
"AudioStreamPlayer3D": 0,
"CPUParticles3D": 0,
"CSGShape3D": 0,
"Camera3D": 0,
"CollisionObject3D": 0,
"CollisionPolygon3D": 0,
"CollisionShape3D": 0,
"Decal": 0,
"FogVolume": 0,
"GPUParticles3D": 0,
"GPUParticlesCollision3D": 0,
"Joint3D": 0,
"Light3D": 0,
"LightmapGI": 0,
"LightmapProbe": 0,
"Marker3D": 0,
"MeshInstance3DCustomAABB": 0,
"NavigationLink3D": 0,
"NavigationObstacle3D": 0,
"NavigationRegion3D": 0,
"OccluderInstance3D": 0,
"Particles3DEmissionShape": 0,
"Path3D": 0,
"PhysicalBone3D": 0,
"RayCast3D": 0,
"ReflectionProbe": 0,
"ShapeCast3D": 0,
"Skeleton3D": 0,
"SoftBody3D": 0,
"SpringArm3D": 0,
"SpringBoneCollision3D": 0,
"SpringBoneSimulator3D": 0,
"VehicleWheel3D": 0,
"VisibleOnScreenNotifier3D": 0,
"VoxelGI": 0
},
"local_coords": false,
"preview_sun_env": {
"environ_ao_enabled": false,
"environ_enabled": true,
"environ_energy": 1.0,
"environ_gi_enabled": false,
"environ_glow_enabled": false,
"environ_ground_color": Color(0.2, 0.169, 0.133, 1),
"environ_sky_color": Color(0.385, 0.454, 0.55, 1),
"environ_tonemap_enabled": true,
"sun_color": Color(1, 1, 1, 1),
"sun_enabled": true,
"sun_energy": 1.0,
"sun_max_distance": 100.0,
"sun_rotation": Vector2(-1.0472, 2.61799)
},
"rotate_snap": 15.0,
"scale_snap": 10.0,
"show_grid": true,
"show_origin": true,
"snap_enabled": false,
"translate_snap": 1.0,
"viewport_mode": 1,
"viewports": [{
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": true,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}, {
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}, {
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}, {
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}],
"zfar": 4000.01,
"znear": 0.05
}
Game={
"camera_override_mode": 2,
"hide_selection": false,
"select_mode": 0
}
selected_nodes=Array[NodePath]([])

View File

@ -0,0 +1,5 @@
[folding]
node_unfolds=[]
resource_unfolds=[]
nodes_folded=[]

View File

@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()

View File

@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()

View File

@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()

View File

@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()

View File

@ -1,6 +1,11 @@
GridContainer Button
HBoxContainer
VBoxContainer
Label Label
MenuButton
ColorPickerButton
VBoxContainer
Control Control
HBoxContainer
AudioStreamPlayer
TextureRect
GridContainer
PanelContainer PanelContainer

View File

@ -0,0 +1 @@
Image

View File

@ -9,8 +9,8 @@ dock_filesystem_v_split_offset=0
dock_filesystem_display_mode=0 dock_filesystem_display_mode=0
dock_filesystem_file_sort=0 dock_filesystem_file_sort=0
dock_filesystem_file_list_display_mode=1 dock_filesystem_file_list_display_mode=1
dock_filesystem_selected_paths=PackedStringArray("res://images/") dock_filesystem_selected_paths=PackedStringArray("res://scenes/Configuration.tscn")
dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://images/") dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scenes/")
dock_node_current_tab=0 dock_node_current_tab=0
dock_history_include_scene=true dock_history_include_scene=true
dock_history_include_global=true dock_history_include_global=true
@ -28,8 +28,8 @@ dock_5="Inspector,Node,History"
[EditorNode] [EditorNode]
open_scenes=PackedStringArray("res://Game.tscn") open_scenes=PackedStringArray("res://scenes/Game.tscn", "res://scripts/screen_manager.tscn", "res://scenes/Configuration.tscn")
current_scene="res://Game.tscn" current_scene="res://scenes/Configuration.tscn"
center_split_offset=0 center_split_offset=0
selected_default_debugger_tab_idx=0 selected_default_debugger_tab_idx=0
selected_main_editor_idx=2 selected_main_editor_idx=2
@ -40,11 +40,12 @@ selected_bottom_panel_item=0
screen=0 screen=0
mode="maximized" mode="maximized"
position=Vector2i(0, 23) position=Vector2i(0, 23)
size=Vector2i(1024, 1000)
[ScriptEditor] [ScriptEditor]
open_scripts=["res://node_2d.gd", "res://number_tile.gd"] open_scripts=["res://scripts/animal_tile.gd", "res://scenes/configuration.gd", "res://scripts/game_data.gd", "res://scripts/image_loader.gd", "res://scripts/node_2d.gd", "res://scripts/screen_manager.gd"]
selected_script="res://number_tile.gd" selected_script="res://scenes/configuration.gd"
open_help=[] open_help=[]
script_split_offset=200 script_split_offset=200
list_split_offset=0 list_split_offset=0

View File

@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()

View File

@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()

View File

@ -1,11 +1,12 @@
fc8a56933c4b1c8d796fdb8f7a9f9475 fc8a56933c4b1c8d796fdb8f7a9f9475
::res://::1744226676 ::res://::1744315176
export_presets.cfg::TextFile/TextFile::-1::1744213489::0::1::::<><><>0<>0<><>:: export_presets.cfg::TextFile/TextFile::-1::1744298367::0::1::::<><><>0<>0<><>::
Game.tscn::PackedScene::7300647384769136354::1744224700::0::1::::<><><>0<>0<><>::uid://3qvb4d882mqd::::res://node_2d.gd
icon.svg::CompressedTexture2D/CompressedTexture2D::4846091670585274137::1744195706::1744195716::1::::<><><>0<>0<>a6ef899d0bda3cdd63eaa6b079d03aca<>res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex:: icon.svg::CompressedTexture2D/CompressedTexture2D::4846091670585274137::1744195706::1744195716::1::::<><><>0<>0<>a6ef899d0bda3cdd63eaa6b079d03aca<>res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex::
node_2d.gd::GDScript::1999596037927974939::1744224700::0::1::::<>Node2D<><>0<>0<><>:: ::res://audios/::1744295153
number_tile.gd::GDScript/GDScript::4714635075097887840::1744213386::0::1::::NumberTile<>Label<><>0<>0<><>:: instrucciones.mp3::AudioStreamMP3/AudioStreamMP3::7110748935779360531::1744295152::1744295153::1::::<><><>0<>0<>907b78c75c0c4deb72d14e7a74dd7acf<>res://.godot/imported/instrucciones.mp3-3e910247f8d0baa2378a660539fef5b4.mp3str::
::res://images/::1744226647 ::res://images/::1744296302
avestruz_color.png::CompressedTexture2D/CompressedTexture2D::3162910814719401775::1744279147::1744287984::1::::<><><>0<>0<>3781a137c84d657b8065017cae00bd79<>res://.godot/imported/avestruz_color.png-3f69f303f77de3342cde05d1d503cb99.ctex::
avestruz_sombra.png::CompressedTexture2D/CompressedTexture2D::475362383335148737::1744279158::1744287984::1::::<><><>0<>0<>30c0363535f6d4a411fa3ebe257d7aeb<>res://.godot/imported/avestruz_sombra.png-27c53728a9a2833023079703077ab874.ctex::
caballo_color.png::CompressedTexture2D/CompressedTexture2D::8473734775130241537::1744220234::1744222652::1::::<><><>0<>0<>197affc76d0bd4a64d5f3a1b90d41b32<>res://.godot/imported/caballo_color.png-602665712a7bc77e0e1883c37c657826.ctex:: caballo_color.png::CompressedTexture2D/CompressedTexture2D::8473734775130241537::1744220234::1744222652::1::::<><><>0<>0<>197affc76d0bd4a64d5f3a1b90d41b32<>res://.godot/imported/caballo_color.png-602665712a7bc77e0e1883c37c657826.ctex::
caballo_sombra.png::CompressedTexture2D/CompressedTexture2D::3492411085616894358::1744225876::1744226677::1::::<><><>0<>0<>40d31dd55bb4325171dc55eb5368b42c<>res://.godot/imported/caballo_sombra.png-f768834c891280ae09fc9fd9dda6c592.ctex:: caballo_sombra.png::CompressedTexture2D/CompressedTexture2D::3492411085616894358::1744225876::1744226677::1::::<><><>0<>0<>40d31dd55bb4325171dc55eb5368b42c<>res://.godot/imported/caballo_sombra.png-f768834c891280ae09fc9fd9dda6c592.ctex::
cangrejo_color.png::CompressedTexture2D/CompressedTexture2D::6110158699050305177::1744220079::1744222652::1::::<><><>0<>0<>431b4fa26cdd1a1ee1c94c654695cebc<>res://.godot/imported/cangrejo_color.png-04588f7d2875eeeb8ab3b5de32a6af8b.ctex:: cangrejo_color.png::CompressedTexture2D/CompressedTexture2D::6110158699050305177::1744220079::1744222652::1::::<><><>0<>0<>431b4fa26cdd1a1ee1c94c654695cebc<>res://.godot/imported/cangrejo_color.png-04588f7d2875eeeb8ab3b5de32a6af8b.ctex::
@ -14,6 +15,8 @@ cerdo_color.png::CompressedTexture2D/CompressedTexture2D::285705520226339992::17
cerdo_sombra.png::CompressedTexture2D/CompressedTexture2D::8798720859308399516::1744225923::1744226677::1::::<><><>0<>0<>bc72131c2fc946ef0ba6b5c4238b50d4<>res://.godot/imported/cerdo_sombra.png-d653fb508aeb63b8c1b70ebfd823101b.ctex:: cerdo_sombra.png::CompressedTexture2D/CompressedTexture2D::8798720859308399516::1744225923::1744226677::1::::<><><>0<>0<>bc72131c2fc946ef0ba6b5c4238b50d4<>res://.godot/imported/cerdo_sombra.png-d653fb508aeb63b8c1b70ebfd823101b.ctex::
cocodrilo_color.png::CompressedTexture2D/CompressedTexture2D::7436323645670304761::1744220182::1744222652::1::::<><><>0<>0<>de09daa0bdd00100f8e0bbec5854713c<>res://.godot/imported/cocodrilo_color.png-d0f577c662115b36ceae5a17f04e8c34.ctex:: cocodrilo_color.png::CompressedTexture2D/CompressedTexture2D::7436323645670304761::1744220182::1744222652::1::::<><><>0<>0<>de09daa0bdd00100f8e0bbec5854713c<>res://.godot/imported/cocodrilo_color.png-d0f577c662115b36ceae5a17f04e8c34.ctex::
cocodrilo_sombra.png::CompressedTexture2D/CompressedTexture2D::4299605495710283651::1744225936::1744226677::1::::<><><>0<>0<>67bd68267eca98104251faca69a1f9b4<>res://.godot/imported/cocodrilo_sombra.png-934c3c0f9f84e5ee39521d6ef3e5063d.ctex:: cocodrilo_sombra.png::CompressedTexture2D/CompressedTexture2D::4299605495710283651::1744225936::1744226677::1::::<><><>0<>0<>67bd68267eca98104251faca69a1f9b4<>res://.godot/imported/cocodrilo_sombra.png-934c3c0f9f84e5ee39521d6ef3e5063d.ctex::
dinosaurio_color.png::CompressedTexture2D/CompressedTexture2D::3458968233372388559::1744279111::1744279235::1::::<><><>0<>0<>331c97c2d8387f0da75465b638edab87<>res://.godot/imported/dinosaurio_color.png-7f5e8e5042364afc8b4554c4eea0023b.ctex::
dinosaurio_sombra.png::CompressedTexture2D/CompressedTexture2D::4689463975390748738::1744279122::1744279235::1::::<><><>0<>0<>f4ba9b1dfd22f549ef77a3c3af8d6268<>res://.godot/imported/dinosaurio_sombra.png-76fa08eaaacf862b13f351da7b69b553.ctex::
elefante_color.png::CompressedTexture2D/CompressedTexture2D::3031725096410833739::1744220318::1744222652::1::::<><><>0<>0<>1b1be38f51786b73f3c25ba8c886110c<>res://.godot/imported/elefante_color.png-db2866d68b2f6353eb467ac34b08fc0a.ctex:: elefante_color.png::CompressedTexture2D/CompressedTexture2D::3031725096410833739::1744220318::1744222652::1::::<><><>0<>0<>1b1be38f51786b73f3c25ba8c886110c<>res://.godot/imported/elefante_color.png-db2866d68b2f6353eb467ac34b08fc0a.ctex::
elefante_sombra.png::CompressedTexture2D/CompressedTexture2D::1651516788414009483::1744225947::1744226677::1::::<><><>0<>0<>ca4e59a8676e0c260e694123fb7021ce<>res://.godot/imported/elefante_sombra.png-7a76c5696ccd170dc47ca2c00e7d7716.ctex:: elefante_sombra.png::CompressedTexture2D/CompressedTexture2D::1651516788414009483::1744225947::1744226677::1::::<><><>0<>0<>ca4e59a8676e0c260e694123fb7021ce<>res://.godot/imported/elefante_sombra.png-7a76c5696ccd170dc47ca2c00e7d7716.ctex::
gallina_color.png::CompressedTexture2D/CompressedTexture2D::1830757791384870698::1744220255::1744222652::1::::<><><>0<>0<>3e4b56a91fce4215339bb127fab5a157<>res://.godot/imported/gallina_color.png-592534afcca3c39c8b73e0ce78aebd87.ctex:: gallina_color.png::CompressedTexture2D/CompressedTexture2D::1830757791384870698::1744220255::1744222652::1::::<><><>0<>0<>3e4b56a91fce4215339bb127fab5a157<>res://.godot/imported/gallina_color.png-592534afcca3c39c8b73e0ce78aebd87.ctex::
@ -22,8 +25,11 @@ gamba_color.png::CompressedTexture2D/CompressedTexture2D::8542763710564017904::1
gamba_sombra.png::CompressedTexture2D/CompressedTexture2D::5589314566274709642::1744225976::1744226677::1::::<><><>0<>0<>b0a610080f45e6996a1db222aee14ae2<>res://.godot/imported/gamba_sombra.png-7e109f7fb2c329beac5389fa36346033.ctex:: gamba_sombra.png::CompressedTexture2D/CompressedTexture2D::5589314566274709642::1744225976::1744226677::1::::<><><>0<>0<>b0a610080f45e6996a1db222aee14ae2<>res://.godot/imported/gamba_sombra.png-7e109f7fb2c329beac5389fa36346033.ctex::
hipopotamo_color.png::CompressedTexture2D/CompressedTexture2D::7665223179969804812::1744220133::1744222652::1::::<><><>0<>0<>854177d5d2d3d714a9cf86e34873e789<>res://.godot/imported/hipopotamo_color.png-49e01c6b347abfb7ba8c78e9e82ef82b.ctex:: hipopotamo_color.png::CompressedTexture2D/CompressedTexture2D::7665223179969804812::1744220133::1744222652::1::::<><><>0<>0<>854177d5d2d3d714a9cf86e34873e789<>res://.godot/imported/hipopotamo_color.png-49e01c6b347abfb7ba8c78e9e82ef82b.ctex::
hipopotamo_sombra.png::CompressedTexture2D/CompressedTexture2D::7611152152192600638::1744225987::1744226677::1::::<><><>0<>0<>e7211e83db5f4272797720f93baec31d<>res://.godot/imported/hipopotamo_sombra.png-fc7a71c443e429a68dc2ebf5de1bb538.ctex:: hipopotamo_sombra.png::CompressedTexture2D/CompressedTexture2D::7611152152192600638::1744225987::1744226677::1::::<><><>0<>0<>e7211e83db5f4272797720f93baec31d<>res://.godot/imported/hipopotamo_sombra.png-fc7a71c443e429a68dc2ebf5de1bb538.ctex::
jirafa_color.png::CompressedTexture2D/CompressedTexture2D::3923966585193868526::1744279075::1744279235::1::::<><><>0<>0<>a45d2b702cbd47e71de65b3386de7dc9<>res://.godot/imported/jirafa_color.png-f9c335fe92befcd1f5c3e1b8b5c123ec.ctex::
jirafa_sombra.png::CompressedTexture2D/CompressedTexture2D::3520819679160236225::1744279100::1744279235::1::::<><><>0<>0<>38e2d3d336fc1929567130840b90979d<>res://.godot/imported/jirafa_sombra.png-55bb4875e952a8cb05ce83d1208c6fcd.ctex::
mariposa_color.png::CompressedTexture2D/CompressedTexture2D::6990360715114410506::1744220155::1744222653::1::::<><><>0<>0<>9dd801d0c646c7fbd57099b98fc2c205<>res://.godot/imported/mariposa_color.png-a42384d3ebf09236aa5a1d0bda18d93c.ctex:: mariposa_color.png::CompressedTexture2D/CompressedTexture2D::6990360715114410506::1744220155::1744222653::1::::<><><>0<>0<>9dd801d0c646c7fbd57099b98fc2c205<>res://.godot/imported/mariposa_color.png-a42384d3ebf09236aa5a1d0bda18d93c.ctex::
mariposa_sombra.png::CompressedTexture2D/CompressedTexture2D::5606577655618116850::1744226002::1744226677::1::::<><><>0<>0<>4f4992c511542cbf60f7127423b92395<>res://.godot/imported/mariposa_sombra.png-9a3b32bcc71f4836f8de891072f08c46.ctex:: mariposa_sombra.png::CompressedTexture2D/CompressedTexture2D::5606577655618116850::1744226002::1744226677::1::::<><><>0<>0<>4f4992c511542cbf60f7127423b92395<>res://.godot/imported/mariposa_sombra.png-9a3b32bcc71f4836f8de891072f08c46.ctex::
menu_logo.png::CompressedTexture2D/CompressedTexture2D::3133948200538939481::1744296225::1744296302::1::::<><><>0<>0<>571418cc686cefe4a2293b6b1e4e60ea<>res://.godot/imported/menu_logo.png-326be22817043ae765a9aaa1fb96c9c5.ctex::
mono_color.png::CompressedTexture2D/CompressedTexture2D::7355897392791008880::1744220295::1744222653::1::::<><><>0<>0<>8c8730b95daf22e58adcd062eb77be4f<>res://.godot/imported/mono_color.png-5d1123111e67c03e0886264540725ea2.ctex:: mono_color.png::CompressedTexture2D/CompressedTexture2D::7355897392791008880::1744220295::1744222653::1::::<><><>0<>0<>8c8730b95daf22e58adcd062eb77be4f<>res://.godot/imported/mono_color.png-5d1123111e67c03e0886264540725ea2.ctex::
mono_sombra.png::CompressedTexture2D/CompressedTexture2D::3388575062005333880::1744226050::1744226677::1::::<><><>0<>0<>d275c8576ae398321445f8d8b6e6516b<>res://.godot/imported/mono_sombra.png-7aa5040002cd5c23489d65fe2af6be7e.ctex:: mono_sombra.png::CompressedTexture2D/CompressedTexture2D::3388575062005333880::1744226050::1744226677::1::::<><><>0<>0<>d275c8576ae398321445f8d8b6e6516b<>res://.godot/imported/mono_sombra.png-7aa5040002cd5c23489d65fe2af6be7e.ctex::
oso_color.png::CompressedTexture2D/CompressedTexture2D::3652616130888450749::1744220586::1744222653::1::::<><><>0<>0<>a5064cf8bd506a349cfe082da93c3467<>res://.godot/imported/oso_color.png-5fe4f8d036393b59fb59b9378673e789.ctex:: oso_color.png::CompressedTexture2D/CompressedTexture2D::3652616130888450749::1744220586::1744222653::1::::<><><>0<>0<>a5064cf8bd506a349cfe082da93c3467<>res://.godot/imported/oso_color.png-5fe4f8d036393b59fb59b9378673e789.ctex::
@ -54,3 +60,10 @@ vaca_color.png::CompressedTexture2D/CompressedTexture2D::1639453517109408540::17
vaca_sombra.png::CompressedTexture2D/CompressedTexture2D::4137840386567035395::1744226338::1744226677::1::::<><><>0<>0<>8b8f93705ab813c8fda24891062e2b93<>res://.godot/imported/vaca_sombra.png-87bf77b3bedacf2de6553221767d8158.ctex:: vaca_sombra.png::CompressedTexture2D/CompressedTexture2D::4137840386567035395::1744226338::1744226677::1::::<><><>0<>0<>8b8f93705ab813c8fda24891062e2b93<>res://.godot/imported/vaca_sombra.png-87bf77b3bedacf2de6553221767d8158.ctex::
zorro_color.png::CompressedTexture2D/CompressedTexture2D::1666546973926131984::1744220372::1744222652::1::::<><><>0<>0<>507db7ef7a8e54c877af1f7c2e943778<>res://.godot/imported/zorro_color.png-9357deebbe773a59422357e0f482914f.ctex:: zorro_color.png::CompressedTexture2D/CompressedTexture2D::1666546973926131984::1744220372::1744222652::1::::<><><>0<>0<>507db7ef7a8e54c877af1f7c2e943778<>res://.godot/imported/zorro_color.png-9357deebbe773a59422357e0f482914f.ctex::
zorro_sombra.png::CompressedTexture2D/CompressedTexture2D::6252548807644359177::1744226356::1744226677::1::::<><><>0<>0<>dd376ca5b7be9cc4c9ab8247eb78f99a<>res://.godot/imported/zorro_sombra.png-a7d9fb62668d52352c13e90c900ac2bc.ctex:: zorro_sombra.png::CompressedTexture2D/CompressedTexture2D::6252548807644359177::1744226356::1744226677::1::::<><><>0<>0<>dd376ca5b7be9cc4c9ab8247eb78f99a<>res://.godot/imported/zorro_sombra.png-a7d9fb62668d52352c13e90c900ac2bc.ctex::
::res://scenes/::1744307544
Game.tscn::PackedScene::7300647384769136354::1744307544::0::1::::<><><>0<>0<><>::uid://3qvb4d882mqd::::res://scripts/node_2d.gd<>uid://c8kq84p5btav8::::res://audios/instrucciones.mp3<>uid://bkwdw0l43i15v::::res://images/menu_logo.png
::res://scripts/::1744307516
animal_tile.gd::GDScript::4714635075097887840::1744307516::0::1::::AnimalTile<>Node2D<><>0<>0<><>::
game_data.gd::GDScript/GDScript::1767393862001390866::1744292186::0::1::::GameData<>Node<><>0<>0<><>::
image_loader.gd::GDScript/GDScript::4945911806681378795::1744289398::0::1::::ImageLoader<>Node<><>0<>0<><>::
node_2d.gd::GDScript/GDScript::1999596037927974939::1744304959::0::1::::<>Node2D<><>0<>0<><>::

View File

@ -1,3 +1,6 @@
res://Game.tscn res://scenes/Game.tscn
res://node_2d.gd res://scripts/screen_manager.gd
res://number_tile.gd res://scenes/configuration.gd
res://scenes/Configuration.tscn
res://scripts/node_2d.gd
res://scripts/screen_manager.tscn

View File

@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()

View File

@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()

View File

@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()

View File

@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()

View File

@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()

View File

@ -1,11 +1,12 @@
[editor_metadata] [editor_metadata]
executable_path="C:/Users/moran/Downloads/Godot_v4.4.1-stable_win64.exe/Godot_v4.4.1-stable_win64.exe" executable_path="C:/Users/moran/Downloads/Godot_v4.4.1-stable_win64.exe/Godot_v4.4.1-stable_win64.exe"
use_advanced_connections=false
[dialog_bounds] [dialog_bounds]
create_new_node=Rect2(510, 190, 900, 700) create_new_node=Rect2(510, 190, 900, 700)
export=Rect2(510, 290, 921, 500) export=Rect2(795, 113, 921, 850)
project_settings=Rect2(360, 190, 1200, 700) project_settings=Rect2(360, 190, 1200, 700)
editor_settings=Rect2(510, 190, 900, 700) editor_settings=Rect2(510, 190, 900, 700)
@ -15,7 +16,8 @@ last_selected_language="GDScript"
[recent_files] [recent_files]
scripts=["res://number_title.gd", "res://node_2d.gd"] scripts=["res://scenes/configuration.gd", "res://scripts/screen_manager.gd", "res://scripts/game_data.gd", "res://image_loader.gd", "res://export_presets.cfg", "res://number_title.gd", "res://node_2d.gd"]
scenes=["res://scenes/Game.tscn"]
[export_options] [export_options]

View File

@ -1,2 +1,4 @@
C:/Users/moran/Documents/2_DAM/Proyecto final/App-Residencia/empareja-las-sombras C:/Users/moran/Documents/2_DAM/Proyecto final/App-Residencia/empareja-las-sombras
res://scripts
res://images
res:// res://

View File

@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()

View File

@ -0,0 +1,195 @@
[editor_states]
Anim={
"visible": false
}
2D={
"grid_offset": Vector2(0, 0),
"grid_snap_active": false,
"grid_step": Vector2(8, 8),
"grid_visibility": 1,
"ofs": Vector2(-165, -110),
"primary_grid_step": Vector2i(8, 8),
"show_group_gizmos": true,
"show_guides": true,
"show_helpers": false,
"show_lock_gizmos": true,
"show_origin": true,
"show_position_gizmos": true,
"show_rulers": true,
"show_transformation_gizmos": true,
"show_viewport": true,
"show_zoom_control": true,
"smart_snap_active": false,
"snap_guides": true,
"snap_node_anchors": true,
"snap_node_center": true,
"snap_node_parent": true,
"snap_node_sides": true,
"snap_other_nodes": true,
"snap_pixel": true,
"snap_relative": false,
"snap_rotation": false,
"snap_rotation_offset": 0.0,
"snap_rotation_step": 0.261799,
"snap_scale": false,
"snap_scale_step": 0.1,
"zoom": 1.0
}
3D={
"fov": 70.01,
"gizmos_status": {
"AudioListener3D": 0,
"AudioStreamPlayer3D": 0,
"CPUParticles3D": 0,
"CSGShape3D": 0,
"Camera3D": 0,
"CollisionObject3D": 0,
"CollisionPolygon3D": 0,
"CollisionShape3D": 0,
"Decal": 0,
"FogVolume": 0,
"GPUParticles3D": 0,
"GPUParticlesCollision3D": 0,
"Joint3D": 0,
"Light3D": 0,
"LightmapGI": 0,
"LightmapProbe": 0,
"Marker3D": 0,
"MeshInstance3DCustomAABB": 0,
"NavigationLink3D": 0,
"NavigationObstacle3D": 0,
"NavigationRegion3D": 0,
"OccluderInstance3D": 0,
"Particles3DEmissionShape": 0,
"Path3D": 0,
"PhysicalBone3D": 0,
"RayCast3D": 0,
"ReflectionProbe": 0,
"ShapeCast3D": 0,
"Skeleton3D": 0,
"SoftBody3D": 0,
"SpringArm3D": 0,
"SpringBoneCollision3D": 0,
"SpringBoneSimulator3D": 0,
"VehicleWheel3D": 0,
"VisibleOnScreenNotifier3D": 0,
"VoxelGI": 0
},
"local_coords": false,
"preview_sun_env": {
"environ_ao_enabled": false,
"environ_enabled": true,
"environ_energy": 1.0,
"environ_gi_enabled": false,
"environ_glow_enabled": false,
"environ_ground_color": Color(0.2, 0.169, 0.133, 1),
"environ_sky_color": Color(0.385, 0.454, 0.55, 1),
"environ_tonemap_enabled": true,
"sun_color": Color(1, 1, 1, 1),
"sun_enabled": true,
"sun_energy": 1.0,
"sun_max_distance": 100.0,
"sun_rotation": Vector2(-1.0472, 2.61799)
},
"rotate_snap": 15.0,
"scale_snap": 10.0,
"show_grid": true,
"show_origin": true,
"snap_enabled": false,
"translate_snap": 1.0,
"viewport_mode": 1,
"viewports": [{
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": true,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}, {
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}, {
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}, {
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 22,
"distance": 4.0,
"doppler": false,
"frame_time": false,
"gizmos": true,
"grid": true,
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"transform_gizmo": true,
"use_environment": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}],
"zfar": 4000.01,
"znear": 0.05
}
Game={
"camera_override_mode": 2,
"hide_selection": false,
"select_mode": 0
}
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Configuration/VBoxContainer/levels_menu")])

View File

@ -0,0 +1,5 @@
[folding]
node_unfolds=[]
resource_unfolds=[]
nodes_folded=[]

View File

@ -1,27 +1,97 @@
[res://node_2d.gd] [res://export_presets.cfg]
state={ state={
"bookmarks": PackedInt32Array(), "bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(), "breakpoints": PackedInt32Array(),
"column": 14, "column": 32,
"folded_lines": Array[int]([]), "folded_lines": Array[int]([]),
"h_scroll_position": 0, "h_scroll_position": 0,
"row": 12, "row": 206,
"scroll_position": 0.0,
"selection": false,
"syntax_highlighter": "Texto Sin Formato"
}
[res://scripts/animal_tile.gd]
state={
"bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(),
"column": 33,
"folded_lines": Array[int]([]),
"h_scroll_position": 0,
"row": 61,
"scroll_position": 48.0,
"selection": false,
"syntax_highlighter": "GDScript"
}
[res://scripts/image_loader.gd]
state={
"bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(),
"column": 2,
"folded_lines": Array[int]([]),
"h_scroll_position": 0,
"row": 32,
"scroll_position": 19.0,
"selection": false,
"syntax_highlighter": "GDScript"
}
[res://scripts/node_2d.gd]
state={
"bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(),
"column": 32,
"folded_lines": Array[int]([]),
"h_scroll_position": 0,
"row": 36,
"scroll_position": 16.0,
"selection": false,
"syntax_highlighter": "GDScript"
}
[res://scripts/game_data.gd]
state={
"bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(),
"column": 23,
"folded_lines": Array[int]([]),
"h_scroll_position": 0,
"row": 18,
"scroll_position": 0.0, "scroll_position": 0.0,
"selection": false, "selection": false,
"syntax_highlighter": "GDScript" "syntax_highlighter": "GDScript"
} }
[res://number_tile.gd] [res://scripts/screen_manager.gd]
state={ state={
"bookmarks": PackedInt32Array(), "bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(), "breakpoints": PackedInt32Array(),
"column": 25, "column": 0,
"folded_lines": Array[int]([]), "folded_lines": Array[int]([]),
"h_scroll_position": 0, "h_scroll_position": 0,
"row": 6, "row": 11,
"scroll_position": 42.0, "scroll_position": 0.0,
"selection": false,
"syntax_highlighter": "GDScript"
}
[res://scenes/configuration.gd]
state={
"bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(),
"column": 12,
"folded_lines": Array[int]([]),
"h_scroll_position": 0,
"row": 13,
"scroll_position": 0.0,
"selection": false, "selection": false,
"syntax_highlighter": "GDScript" "syntax_highlighter": "GDScript"
} }

View File

@ -1 +1,3 @@
res://Game.tscn::aab107cb048abe93d4f50fad150b37b8::1744213386::res://.godot/exported/133200997/export-6455994a605b35b7d96f8362f3055c4a-Game.scn res://scenes/Game.tscn::470d2ca5918c266d5f5ad41f90064b19::1744318189::res://.godot/exported/133200997/export-ff8ceb9b2bd5b48777d3d52e811276ab-Game.scn
res://scenes/Configuration.tscn::34869c88940d35a567f149b338aa43c1::1744318190::res://.godot/exported/133200997/export-9342d86e93843c4fab70a2c0224d3fd3-Configuration.scn
res://scripts/screen_manager.tscn::9988fbb1a6b9e1613010f5ccda4bc922::1744318189::res://.godot/exported/133200997/export-d70c5745a12c569d3ecc03f08fad1e89-screen_manager.scn

View File

@ -1,9 +1,25 @@
list=[{ list=[{
"base": &"Label", "base": &"Node2D",
"class": &"NumberTile", "class": &"AnimalTile",
"icon": "", "icon": "",
"is_abstract": false, "is_abstract": false,
"is_tool": false, "is_tool": false,
"language": &"GDScript", "language": &"GDScript",
"path": "res://number_tile.gd" "path": "res://scripts/animal_tile.gd"
}, {
"base": &"Node",
"class": &"GameData",
"icon": "",
"is_abstract": false,
"is_tool": false,
"language": &"GDScript",
"path": "res://scripts/game_data.gd"
}, {
"base": &"Node",
"class": &"ImageLoader",
"icon": "",
"is_abstract": false,
"is_tool": false,
"language": &"GDScript",
"path": "res://scripts/image_loader.gd"
}] }]

View File

@ -0,0 +1,3 @@
source_md5="69a3304b1be0d07530795c6ad2ef1d5c"
dest_md5="3790ae886ef67ea284c9d3fbfff93ca0"

View File

@ -0,0 +1,3 @@
source_md5="2bf3363d8e4c4a35377a7f8123f62fec"
dest_md5="b5ddf49589daec092c87a06c64e0e072"

View File

@ -0,0 +1,3 @@
source_md5="7ed8b9371a9d9ed1e762e1f63ab5f166"
dest_md5="6512b320f5616c8b728e1610094910e1"

View File

@ -0,0 +1,3 @@
source_md5="02e65b7ddd3ec1a99eae876b39ca9c0f"
dest_md5="c8ced825d048b3c18f160c227bb117e2"

View File

@ -0,0 +1,3 @@
source_md5="e42238631a335f436df2ca9d0eb48380"
dest_md5="2b70707e494d7dbefca7699a74ce1733"

View File

@ -0,0 +1,3 @@
source_md5="75cbe0ed2dbe905bd070d84aed3e7910"
dest_md5="2a74d6a981ed6aa321171d4b0660b466"

View File

@ -0,0 +1,3 @@
source_md5="6bdde197b08243a5f6da3b03f8521bf4"
dest_md5="c5fc38d1b4f14f4c752f0deee537bf41"

View File

@ -0,0 +1,3 @@
source_md5="bc626fda924a33ed8b82bbd8a58abcbb"
dest_md5="1532c57f6a119f83a83f0a68081cee58"

View File

@ -0,0 +1,3 @@
source_md5="cb70d59d5aa982adbe9007839bf50356"
dest_md5="d1f13017b8a11f458bcbe65b30306e8d"

View File

@ -0,0 +1,3 @@
source_md5="4da6dfa7ebe05fb1092b0585603a99d6"
dest_md5="7eb08b294c36ef032d375e8ab8f4a59b"

View File

@ -0,0 +1,3 @@
source_md5="74a4dcd689e7d1169ca6b16e1f89afbe"
dest_md5="8ce27df90db123bd33a627ff694e52b9"

View File

@ -0,0 +1,3 @@
source_md5="00605785fa59b8a18564426039954ee1"
dest_md5="47fd7d8fbeb12f168fd63edb3007ed3b"

View File

@ -0,0 +1,3 @@
source_md5="4da6dfa7ebe05fb1092b0585603a99d6"
dest_md5="7eb08b294c36ef032d375e8ab8f4a59b"

Binary file not shown.

View File

@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://c8kq84p5btav8"
path="res://.godot/imported/instrucciones.mp3-3e910247f8d0baa2378a660539fef5b4.mp3str"
[deps]
source_file="res://audios/instrucciones.mp3"
dest_files=["res://.godot/imported/instrucciones.mp3-3e910247f8d0baa2378a660539fef5b4.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@ -1,6 +1,6 @@
[preset.0] [preset.0]
name="Empareja las sombras" name="Emparejar las sombras"
platform="Android" platform="Android"
runnable=true runnable=true
advanced_options=false advanced_options=false
@ -36,7 +36,7 @@ architectures/x86_64=false
version/code=1 version/code=1
version/name="" version/name=""
package/unique_name="com.andresgmoran.$genname" package/unique_name="com.andresgmoran.$genname"
package/name="Empareja las sombreas" package/name="g g"
package/signed=true package/signed=true
package/app_category=2 package/app_category=2
package/retain_data_on_uninstall=false package/retain_data_on_uninstall=false

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://blcexc64ly80j"
path="res://.godot/imported/avestruz_color.png-3f69f303f77de3342cde05d1d503cb99.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://images/avestruz_color.png"
dest_files=["res://.godot/imported/avestruz_color.png-3f69f303f77de3342cde05d1d503cb99.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://g1jfcina5cbh"
path="res://.godot/imported/avestruz_sombra.png-27c53728a9a2833023079703077ab874.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://images/avestruz_sombra.png"
dest_files=["res://.godot/imported/avestruz_sombra.png-27c53728a9a2833023079703077ab874.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bpjsx34qjnpr0"
path="res://.godot/imported/dinosaurio_color.png-7f5e8e5042364afc8b4554c4eea0023b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://images/dinosaurio_color.png"
dest_files=["res://.godot/imported/dinosaurio_color.png-7f5e8e5042364afc8b4554c4eea0023b.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b72u10h8uq2qw"
path="res://.godot/imported/dinosaurio_sombra.png-76fa08eaaacf862b13f351da7b69b553.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://images/dinosaurio_sombra.png"
dest_files=["res://.godot/imported/dinosaurio_sombra.png-76fa08eaaacf862b13f351da7b69b553.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bv52fk0s0578m"
path="res://.godot/imported/jirafa_color.png-f9c335fe92befcd1f5c3e1b8b5c123ec.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://images/jirafa_color.png"
dest_files=["res://.godot/imported/jirafa_color.png-f9c335fe92befcd1f5c3e1b8b5c123ec.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bqfrnd5ijvfdp"
path="res://.godot/imported/jirafa_sombra.png-55bb4875e952a8cb05ce83d1208c6fcd.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://images/jirafa_sombra.png"
dest_files=["res://.godot/imported/jirafa_sombra.png-55bb4875e952a8cb05ce83d1208c6fcd.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bkwdw0l43i15v"
path="res://.godot/imported/menu_logo.png-326be22817043ae765a9aaa1fb96c9c5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://images/menu_logo.png"
dest_files=["res://.godot/imported/menu_logo.png-326be22817043ae765a9aaa1fb96c9c5.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

View File

@ -1,126 +0,0 @@
extends Node2D
@onready var game_board_container = $GameBoardContainer
@onready var number_holder = $Holder
@onready var game_board = $GameBoardContainer/GameBoard
var difficulty = 1 # 1: Fácil, 2: Medio, 3: Difícil
var board_size = Vector2i(5, 5)
var game_numbers = []
var number_tiles = []
var correct_matches = {}
func _ready():
setup_game()
func setup_game():
game_board.get_node("GridContainer").columns = board_size.x
game_numbers = generate_unique_numbers(board_size.x * board_size.y)
game_numbers.shuffle()
create_board_labels()
create_number_tiles()
func generate_unique_numbers(count: int) -> Array[int]:
var numbers: Array[int] = []
for i in range(1, count + 1):
numbers.append(i)
return numbers
func create_board_labels():
var animal_images = get_all_animal_shadow_images()
animal_images.shuffle()
var board_slots_count = game_numbers.size()
var fixed_cell_size = Vector2(152, 176) # Establece un tamaño fijo de 152x176 para cada celda
for i in range(board_slots_count):
var image_path = animal_images[i % animal_images.size()]
var texture = load(image_path)
var sprite = Sprite2D.new()
sprite.texture = texture
sprite.scale = Vector2(fixed_cell_size.x / sprite.texture.get_width(), fixed_cell_size.y / sprite.texture.get_height())
sprite.position = Vector2(fixed_cell_size.x / 2, fixed_cell_size.y / 2)
var cell = Node2D.new()
cell.position = Vector2(i % board_size.x * fixed_cell_size.x, int(i / board_size.x) * fixed_cell_size.y)
var border = Line2D.new()
border.add_point(Vector2(0, 0))
border.add_point(Vector2(fixed_cell_size.x, 0))
border.add_point(Vector2(fixed_cell_size.x, fixed_cell_size.y))
border.add_point(Vector2(0, fixed_cell_size.y))
border.add_point(Vector2(0, 0))
border.width = 4
border.default_color = Color(1, 0, 0)
cell.add_child(border)
cell.add_child(sprite)
var animal_name = image_path.get_file().replace("_sombra.png", "")
cell.set("target_animal", animal_name)
cell.set("is_target", true)
cell.set("is_occupied", false)
cell.name = "BoardCell_" + str(i)
game_board.get_node("GridContainer").add_child(cell)
var static_body = StaticBody2D.new()
cell.add_child(static_body)
var collision_shape = CollisionShape2D.new()
var rectangle_shape = RectangleShape2D.new()
rectangle_shape.size = fixed_cell_size
collision_shape.shape = rectangle_shape
static_body.add_child(collision_shape)
correct_matches[str(i)] = animal_name
func get_all_animal_shadow_images() -> Array[String]:
var dir = DirAccess.open("res://images")
var images: Array[String] = []
if dir:
dir.list_dir_begin()
var file_name = dir.get_next()
while file_name != "":
if file_name.ends_with("_sombra.png"):
images.append("res://images/" + file_name)
file_name = dir.get_next()
dir.list_dir_end()
else:
print("¡No se pudo abrir el directorio de imágenes!")
return images
func create_number_tiles():
var shuffled_numbers = game_numbers.duplicate()
shuffled_numbers.shuffle()
var tiles_container = $TilesContainer
for i in range(shuffled_numbers.size()):
var tile = Label.new()
tile.text = str(shuffled_numbers[i])
tile.name = "NumberTile_" + str(shuffled_numbers[i])
tile.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
tile.vertical_alignment = VERTICAL_ALIGNMENT_CENTER
tile.custom_minimum_size = Vector2(152, 176)
tile.add_theme_font_size_override("font_size", 40)
tile.add_theme_stylebox_override("normal", StyleBoxFlat.new())
tile.get_theme_stylebox("normal").bg_color = Color(0.8, 0.8, 1.0)
tile.script = preload("res://number_tile.gd")
tiles_container.add_child(tile)
number_tiles.append(tile)
var area = Area2D.new()
tile.add_child(area)
var collision_shape = CollisionShape2D.new()
var rectangle_shape = RectangleShape2D.new()
rectangle_shape.size = tile.get_rect().size
collision_shape.shape = rectangle_shape
area.add_child(collision_shape)
func check_win():
var all_matched = true
for child in game_board.get_children():
if child is NumberTile and child.correct_slot == null:
all_matched = false
break
if all_matched:
print("¡Has ganado!")

View File

@ -1,63 +0,0 @@
class_name NumberTile
extends Label
var dragging = false
var drag_offset = Vector2()
var original_position = Vector2()
var correct_slot = null
func _input(event):
var is_touch = event is InputEventScreenTouch
var is_mouse_button = event is InputEventMouseButton
var is_mouse_motion = event is InputEventMouseMotion
var is_screen_drag = event is InputEventScreenDrag
# Iniciar arrastre (táctil o ratón)
if (is_touch and event.pressed) or (is_mouse_button and event.button_index == MOUSE_BUTTON_LEFT and event.pressed):
if not dragging:
var viewport_rect = get_viewport_rect()
var input_pos = event.position
if get_global_rect().intersects(Rect2(input_pos, Vector2(1, 1))):
dragging = true
drag_offset = global_position - input_pos
original_position = global_position
z_index = 10
# Soltar (táctil o ratón)
if (is_touch and not event.pressed and dragging) or (is_mouse_button and event.button_index == MOUSE_BUTTON_LEFT and not event.pressed and dragging):
if dragging:
dragging = false
z_index = 0
check_drop_on_board()
# Arrastrar (táctil o ratón)
if (is_screen_drag and dragging) or (is_mouse_motion and dragging and Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT)):
global_position = event.position + drag_offset
func check_drop_on_board():
if not get_parent() or not get_parent().get_parent() or not get_parent().get_parent().has_node("GameBoardContainer"):
return
var game_board = get_parent().get_parent().get_node("GameBoardContainer").get_node("GameBoard/GridContainer")
var tile_rect = get_global_rect()
var placed_on_board = false
for i in range(game_board.get_child_count()):
var slot = game_board.get_child(i)
if slot is Label:
var slot_rect = slot.get_global_rect()
if tile_rect.intersects(slot_rect) and text == slot.text and not slot.get("is_occupied"):
global_position = slot.global_position
slot.add_theme_stylebox_override("normal", StyleBoxFlat.new())
slot.get_theme_stylebox("normal").bg_color = Color(0.6, 0.9, 0.6)
set_process_input(false)
dragging = false
slot.set("is_occupied", true)
queue_free()
placed_on_board = true
break
if not placed_on_board:
global_position = original_position

View File

@ -11,10 +11,14 @@ config_version=5
[application] [application]
config/name="Empareja las sombras" config/name="Empareja las sombras"
run/main_scene="res://Game.tscn" run/main_scene="uid://c25au08um2kxt"
config/features=PackedStringArray("4.4", "GL Compatibility") config/features=PackedStringArray("4.4", "GL Compatibility")
config/icon="res://icon.svg" config/icon="res://icon.svg"
[autoload]
ScreenManager="*res://scripts/screen_manager.gd"
[display] [display]
window/size/viewport_width=1920 window/size/viewport_width=1920

View File

@ -0,0 +1,73 @@
[gd_scene load_steps=2 format=3 uid="uid://c25au08um2kxt"]
[ext_resource type="Script" uid="uid://ctge47k34s7yi" path="res://scenes/configuration.gd" id="1_d6xro"]
[node name="Configuration" type="Control"]
layout_mode = 3
anchors_preset = 0
script = ExtResource("1_d6xro")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 0
offset_left = 180.0
offset_top = 344.0
offset_right = 1794.0
offset_bottom = 731.0
[node name="Label" type="Label" parent="VBoxContainer"]
layout_mode = 2
text = "Selecciona un jugador"
[node name="MenuButton" type="MenuButton" parent="VBoxContainer"]
layout_mode = 2
text = "Residentes"
flat = false
[node name="Label2" type="Label" parent="VBoxContainer"]
layout_mode = 2
text = "Selecciona el color de fondo"
[node name="bg_color_picker" type="ColorPickerButton" parent="VBoxContainer"]
custom_minimum_size = Vector2(200, 70)
layout_mode = 2
size_flags_horizontal = 0
[node name="Label3" type="Label" parent="VBoxContainer"]
layout_mode = 2
text = "Selecciona el color de las líneas de las fichas"
[node name="tiles_lines_color_picker" type="ColorPickerButton" parent="VBoxContainer"]
custom_minimum_size = Vector2(200, 70)
layout_mode = 2
size_flags_horizontal = 0
[node name="Label4" type="Label" parent="VBoxContainer"]
layout_mode = 2
text = "Selecciona el color de las líneas del tablero"
[node name="table_lines_color_picker" type="ColorPickerButton" parent="VBoxContainer"]
custom_minimum_size = Vector2(200, 70)
layout_mode = 2
size_flags_horizontal = 0
[node name="Label5" type="Label" parent="VBoxContainer"]
layout_mode = 2
text = "Selecciona el nivel"
[node name="levels_menu" type="MenuButton" parent="VBoxContainer"]
layout_mode = 2
text = "Niveles"
flat = false
item_count = 3
popup/item_0/text = "Facil"
popup/item_0/id = 0
popup/item_1/text = "Medio"
popup/item_1/id = 1
popup/item_2/text = "Dificil"
popup/item_2/id = 2
[node name="Button" type="Button" parent="VBoxContainer"]
layout_mode = 2
text = "EMPEZAR JUEGO"
[connection signal="pressed" from="VBoxContainer/Button" to="." method="_on_button_pressed"]

View File

@ -0,0 +1,72 @@
[gd_scene load_steps=4 format=3 uid="uid://dcaquiy5tvss5"]
[ext_resource type="Script" uid="uid://3qvb4d882mqd" path="res://scripts/node_2d.gd" id="1_ibkli"]
[ext_resource type="AudioStream" uid="uid://c8kq84p5btav8" path="res://audios/instrucciones.mp3" id="2_qbsmt"]
[ext_resource type="Texture2D" uid="uid://bkwdw0l43i15v" path="res://images/menu_logo.png" id="3_cpr0p"]
[node name="Node2D" type="Node2D"]
script = ExtResource("1_ibkli")
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("2_qbsmt")
[node name="MenuButton" type="MenuButton" parent="."]
offset_left = 11.0
offset_top = 3.0
offset_right = 88.0
offset_bottom = 87.0
icon = ExtResource("3_cpr0p")
[node name="HBoxContainer" type="HBoxContainer" parent="."]
layout_direction = 2
offset_left = 53.0
offset_right = 1872.0
offset_bottom = 1073.0
theme_override_constants/separation = 100
alignment = 1
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"]
layout_mode = 2
alignment = 1
[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 44
text = "FICHAS"
horizontal_alignment = 1
vertical_alignment = 1
[node name="TilesContainer" type="GridContainer" parent="HBoxContainer/VBoxContainer"]
custom_minimum_size = Vector2(760, 880)
layout_direction = 2
layout_mode = 2
columns = 5
[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer"]
layout_mode = 2
alignment = 1
[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 44
text = "TABLERO"
horizontal_alignment = 1
vertical_alignment = 1
[node name="GameBoardContainer" type="Control" parent="HBoxContainer/VBoxContainer2"]
custom_minimum_size = Vector2(760, 880)
layout_mode = 2
[node name="GameBoard" type="PanelContainer" parent="HBoxContainer/VBoxContainer2/GameBoardContainer"]
layout_mode = 0
offset_left = 6.0
offset_top = 3.0
offset_right = 766.0
offset_bottom = 883.0
[node name="GridContainer" type="GridContainer" parent="HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard"]
custom_minimum_size = Vector2(760, 880)
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 0
columns = 5

View File

@ -1,25 +1,26 @@
[gd_scene load_steps=2 format=3 uid="uid://dcaquiy5tvss5"] [gd_scene load_steps=2 format=3 uid="uid://dcaquiy5tvss5"]
[ext_resource type="Script" uid="uid://3qvb4d882mqd" path="res://node_2d.gd" id="1_wbfu4"] [ext_resource type="Script" uid="uid://3qvb4d882mqd" path="res://scripts/node_2d.gd" id="1_ibkli"]
[node name="Node2D" type="Node2D"] [node name="Node2D" type="Node2D"]
script = ExtResource("1_wbfu4") script = ExtResource("1_ibkli")
[node name="GameBoardContainer" type="Control" parent="."] [node name="GameBoardContainer" type="Control" parent="."]
custom_minimum_size = Vector2(760, 880) custom_minimum_size = Vector2(760, 880)
layout_mode = 3 layout_mode = 3
anchors_preset = 0 anchors_preset = 0
offset_left = 1089.0 offset_left = 1089.0
offset_top = 87.0 offset_top = 147.0
offset_right = 1849.0 offset_right = 1849.0
offset_bottom = 967.0 offset_bottom = 1027.0
[node name="GameBoard" type="PanelContainer" parent="GameBoardContainer"] [node name="GameBoard" type="PanelContainer" parent="GameBoardContainer"]
custom_minimum_size = Vector2(760, 880) custom_minimum_size = Vector2(760, 880)
layout_mode = 0 layout_mode = 0
offset_left = 6.0 offset_left = 6.0
offset_top = 3.0
offset_right = 766.0 offset_right = 766.0
offset_bottom = 880.0 offset_bottom = 883.0
[node name="GridContainer" type="GridContainer" parent="GameBoardContainer/GameBoard"] [node name="GridContainer" type="GridContainer" parent="GameBoardContainer/GameBoard"]
custom_minimum_size = Vector2(760, 880) custom_minimum_size = Vector2(760, 880)
@ -30,8 +31,8 @@ columns = 5
[node name="TilesContainer" type="GridContainer" parent="."] [node name="TilesContainer" type="GridContainer" parent="."]
layout_direction = 2 layout_direction = 2
offset_left = 141.0 offset_left = 174.0
offset_top = 87.0 offset_top = 149.0
offset_right = 1060.0 offset_right = 1093.0
offset_bottom = 967.0 offset_bottom = 1029.0
columns = 5 columns = 5

View File

@ -0,0 +1,38 @@
[gd_scene load_steps=2 format=3 uid="uid://dcaquiy5tvss5"]
[ext_resource type="Script" uid="uid://3qvb4d882mqd" path="res://scripts/node_2d.gd" id="1_ibkli"]
[node name="Node2D" type="Node2D"]
script = ExtResource("1_ibkli")
[node name="GameBoardContainer" type="Control" parent="."]
custom_minimum_size = Vector2(760, 880)
layout_mode = 3
anchors_preset = 0
offset_left = 1089.0
offset_top = 147.0
offset_right = 1849.0
offset_bottom = 1027.0
[node name="GameBoard" type="PanelContainer" parent="GameBoardContainer"]
custom_minimum_size = Vector2(760, 880)
layout_mode = 0
offset_left = 6.0
offset_top = 3.0
offset_right = 766.0
offset_bottom = 883.0
[node name="GridContainer" type="GridContainer" parent="GameBoardContainer/GameBoard"]
custom_minimum_size = Vector2(760, 880)
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 0
columns = 5
[node name="TilesContainer" type="GridContainer" parent="."]
layout_direction = 2
offset_left = 174.0
offset_top = 149.0
offset_right = 1093.0
offset_bottom = 1029.0
columns = 5

View File

@ -0,0 +1,32 @@
extends Control
@onready var levels_menu = $VBoxContainer/levels_menu
var level = -1
func _ready():
RenderingServer.set_default_clear_color(Color.SKY_BLUE)
levels_menu.get_popup().connect("id_pressed", self._on_level_selected)
func _on_level_selected(id):
match id:
0:
level = 1
1:
level = 2
2:
level = 3
func _on_button_pressed() -> void:
var bg_color = $VBoxContainer/bg_color_picker.color
var tiles_lines_color = $VBoxContainer/tiles_lines_color_picker.color
var table_lines_color = $VBoxContainer/table_lines_color_picker.color
var game_scene = preload("res://scenes/Game.tscn").instantiate()
game_scene.bg_color = bg_color
game_scene.tiles_lines_color = tiles_lines_color
game_scene.table_lines_color = table_lines_color
game_scene.difficulty = level
ScreenManager.change_scene(game_scene, self)

View File

@ -0,0 +1 @@
uid://ctge47k34s7yi

View File

@ -0,0 +1,93 @@
class_name AnimalTile
extends Node2D
var dragging = false
var drag_offset = Vector2()
var original_position = Vector2()
func _ready():
original_position = global_position
func _input(event):
var is_touch = event is InputEventScreenTouch
var is_mouse_button = event is InputEventMouseButton
var is_mouse_motion = event is InputEventMouseMotion
var is_screen_drag = event is InputEventScreenDrag
# Iniciar arrastre
if (is_touch and event.pressed) or (is_mouse_button and event.button_index == MOUSE_BUTTON_LEFT and event.pressed):
if not dragging:
var input_pos = event.position
if get_tile_rect().has_point(input_pos):
dragging = true
drag_offset = global_position - input_pos
original_position = global_position
z_index = 10
# Soltar
if (is_touch and not event.pressed and dragging) or (is_mouse_button and event.button_index == MOUSE_BUTTON_LEFT and not event.pressed and dragging):
if dragging:
dragging = false
z_index = 0
check_drop_on_board()
# Arrastrar
if (is_screen_drag and dragging) or (is_mouse_motion and dragging and Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT)):
global_position = event.position + drag_offset
func get_tile_rect() -> Rect2:
var sprite = get_node_or_null("Sprite2D")
if sprite:
var size = sprite.texture.get_size() * sprite.scale
return Rect2(global_position - size / 2, size)
return Rect2(global_position, Vector2(152, 176))
func check_drop_on_board():
# Ruta actualizada según jerarquía corregida
if not get_tree().get_root().has_node("Node2D/HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard/GridContainer"):
return
var game_board = get_tree().get_root().get_node("Node2D/HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard/GridContainer")
var tile_rect = get_tile_rect()
var placed_on_board = false
for i in range(game_board.get_child_count()):
var slot = game_board.get_child(i)
if slot is Node:
var slot_rect = Rect2(slot.global_position, Vector2(152, 176))
if slot_rect.has_point(tile_rect.get_center()) and self.name == slot.name and not slot.get("is_occupied"):
global_position = slot.global_position
var fixed_cell_size = Vector2(152, 176)
if slot.has_node("Sprite2D"):
var color_images = ImageLoader.get_all_animal_color_images()
var dibujo_texture = color_images.get(self.name, null)
if dibujo_texture:
var sprite = slot.get_node("Sprite2D")
var slot_size = sprite.texture.get_size() * sprite.scale # Tamaño real visible del slot
sprite.texture = dibujo_texture
var new_size = dibujo_texture.get_size()
sprite.scale = slot_size / new_size
sprite.position = slot_size / 2
else:
push_warning("No se encontró textura color para: " + self.name)
set_process_input(false)
dragging = false
slot.set("is_occupied", true)
queue_free() # Destruimos el tile porque ya está colocado
var tiles_container = get_tree().get_root().get_node("Node2D/HBoxContainer/VBoxContainer/TilesContainer")
if tiles_container.get_child_count() <= 1:
tiles_container.get_parent().call_deferred("check_win")
placed_on_board = true
break
if not placed_on_board:
global_position = original_position
GameData.add_fail()

View File

@ -0,0 +1,23 @@
class_name GameData
extends Node
#Este script se encarga de comunicarse con la api
var all_residents = []
static var resident_playing = " "
static var start_time: int = 0
static var end_time: int = 0
static var fail_count: int = 0
static func start_game():
start_time = Time.get_unix_time_from_system()
fail_count = 0
static func end_game():
end_time = Time.get_unix_time_from_system()
static func add_fail():
fail_count += 1
static func get_duration() -> int:
return end_time - start_time

View File

@ -0,0 +1 @@
uid://0geyo2kh3hxy

View File

@ -0,0 +1,64 @@
class_name ImageLoader
extends Node
static func get_all_animal_shadow_images() -> Array[Texture2D]:
return [
preload("res://images/avestruz_sombra.png"),
preload("res://images/caballo_sombra.png"),
preload("res://images/cangrejo_sombra.png"),
preload("res://images/cerdo_sombra.png"),
preload("res://images/cocodrilo_sombra.png"),
preload("res://images/dinosaurio_sombra.png"),
preload("res://images/elefante_sombra.png"),
preload("res://images/gallina_sombra.png"),
preload("res://images/gamba_sombra.png"),
preload("res://images/hipopotamo_sombra.png"),
preload("res://images/jirafa_sombra.png"),
preload("res://images/mariposa_sombra.png"),
preload("res://images/mono_sombra.png"),
preload("res://images/oso_sombra.png"),
preload("res://images/oveja_sombra.png"),
preload("res://images/pajaro_sombra.png"),
preload("res://images/paloma_sombra.png"),
preload("res://images/pato_sombra.png"),
preload("res://images/perro_sombra.png"),
preload("res://images/pez_sombra.png"),
preload("res://images/pulpo_sombra.png"),
preload("res://images/rinoceronte_sombra.png"),
preload("res://images/serpiente_sombra.png"),
preload("res://images/tigre_sombra.png"),
preload("res://images/tortuga_sombra.png"),
preload("res://images/vaca_sombra.png"),
preload("res://images/zorro_sombra.png")
]
static func get_all_animal_color_images() -> Dictionary:
return {
"avestruz": preload("res://images/avestruz_color.png"),
"caballo": preload("res://images/caballo_color.png"),
"cangrejo": preload("res://images/cangrejo_color.png"),
"cerdo": preload("res://images/cerdo_color.png"),
"cocodrilo": preload("res://images/cocodrilo_color.png"),
"dinosaurio": preload("res://images/dinosaurio_color.png"),
"elefante": preload("res://images/elefante_color.png"),
"gallina": preload("res://images/gallina_color.png"),
"gamba": preload("res://images/gamba_color.png"),
"hipopotamo": preload("res://images/hipopotamo_color.png"),
"jirafa": preload("res://images/jirafa_color.png"),
"mariposa": preload("res://images/mariposa_color.png"),
"mono": preload("res://images/mono_color.png"),
"oso": preload("res://images/oso_color.png"),
"oveja": preload("res://images/oveja_color.png"),
"pajaro": preload("res://images/pajaro_color.png"),
"paloma": preload("res://images/paloma_color.png"),
"pato": preload("res://images/pato_color.png"),
"perro": preload("res://images/perro_color.png"),
"pez": preload("res://images/pez_color.png"),
"pulpo": preload("res://images/pulpo_color.png"),
"rinoceronte": preload("res://images/rinoceronte_color.png"),
"serpiente": preload("res://images/serpiente_color.png"),
"tigre": preload("res://images/tigre_color.png"),
"tortuga": preload("res://images/tortuga_color.png"),
"vaca": preload("res://images/vaca_color.png"),
"zorro": preload("res://images/zorro_color.png")
}

Some files were not shown because too many files have changed in this diff Show More