Update the turtles minigame to show only one stimulus at a time. Fixes the buttons of the gardens. Fixes the icons size on the minigames wheel.

This commit is contained in:
Dylan Sarrazyn
2024-12-10 13:23:56 +01:00
parent c36f44749c
commit f4444bfb56
10 changed files with 247 additions and 24 deletions
+211 -3
View File
@@ -546,7 +546,7 @@ notarization/apple_team_id=""
[preset.3]
name="Android Kalulu"
name="Android Kalulu AAB"
platform="Android"
runnable=true
advanced_options=true
@@ -577,9 +577,9 @@ architectures/armeabi-v7a=false
architectures/arm64-v8a=true
architectures/x86=false
architectures/x86_64=false
version/code=4
version/code=35
version/name=""
package/unique_name="org.excellolab.kalulu"
package/unique_name="org.godotengine.kalulu"
package/name=""
package/signed=true
package/app_category=2
@@ -980,3 +980,211 @@ portrait_launch_screens/iphone_1125x2436=""
portrait_launch_screens/ipad_768x1024=""
portrait_launch_screens/ipad_1536x2048=""
portrait_launch_screens/iphone_1242x2208=""
[preset.5]
name="Android Kalulu APK"
platform="Android"
runnable=false
advanced_options=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../Export/android/kalulu_app.apk"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.5.options]
custom_template/debug=""
custom_template/release=""
gradle_build/use_gradle_build=true
gradle_build/gradle_build_directory=""
gradle_build/android_source_template=""
gradle_build/compress_native_libraries=false
gradle_build/export_format=0
gradle_build/min_sdk=""
gradle_build/target_sdk=""
architectures/armeabi-v7a=false
architectures/arm64-v8a=true
architectures/x86=false
architectures/x86_64=false
version/code=35
version/name=""
package/unique_name="org.godotengine.kalulu"
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=true
permissions/clear_app_user_data=true
permissions/control_location_updates=false
permissions/delete_cache_files=true
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=true
permissions/kill_background_processes=false
permissions/location_hardware=false
permissions/manage_accounts=false
permissions/manage_app_tokens=false
permissions/manage_documents=true
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=true
permissions/read_frame_buffer=false
permissions/read_history_bookmarks=false
permissions/read_input_state=false
permissions/read_logs=true
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
File diff suppressed because one or more lines are too long
+6
View File
@@ -300,6 +300,8 @@ offset_bottom = 832.0
size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("10_5wvwc")
expand_mode = 1
stretch_mode = 5
[node name="Area2D" type="Area2D" parent="CanvasLayer/MinigameSelection/MinigameBackground1"]
@@ -326,6 +328,8 @@ offset_bottom = 832.0
size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("10_5wvwc")
expand_mode = 1
stretch_mode = 5
[node name="Area2D" type="Area2D" parent="CanvasLayer/MinigameSelection/MinigameBackground2"]
@@ -352,6 +356,8 @@ offset_bottom = 1504.0
size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("10_5wvwc")
expand_mode = 1
stretch_mode = 5
[node name="Area2D" type="Area2D" parent="CanvasLayer/MinigameSelection/MinigameBackground3"]
+1
View File
@@ -59,6 +59,7 @@ offset_left = 8.0
offset_top = 8.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 1
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 10
theme_override_font_sizes/font_size = 110
+1
View File
@@ -11,6 +11,7 @@ stretch_mode = 4
script = ExtResource("2_i7kke")
[node name="Background" type="TextureRect" parent="."]
self_modulate = Color(0, 0, 0, 1)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
@@ -17,7 +17,6 @@ var current_gp_distractors_queue: Array[Dictionary] = []
func _find_stimuli_and_distractions() -> void:
# Get the currently known words list
var words_list: = Database.get_words_for_lesson(lesson_nb, false, 2, max_number_of_GPs)
print(words_list)
if words_list.is_empty():
return
@@ -87,8 +86,6 @@ func _find_stimuli_and_distractions() -> void:
grapheme_distractions.append(Database.get_distractors_for_grapheme(GP.ID as int, lesson_nb))
distractions.append(grapheme_distractions)
print(stimuli)
# Launch the minigame
func _start() -> void:
@@ -157,7 +154,7 @@ func _get_current_distractors() -> Array:
# Get the current GP to find
func _get_GP() -> Dictionary:
var stimulus: = _get_current_stimulus()
if not stimulus or not stimulus.has("GPs"):
if not stimulus or not stimulus.has("GPs") or current_word_progression >= stimulus.GPs.size():
return {}
return stimulus.GPs[current_word_progression]
+3 -1
View File
@@ -17,8 +17,10 @@ signal animation_changed(position: Vector2)
var gp: Dictionary:
set(value):
gp = value
if gp.has("Grapheme"):
if gp and gp.has("Grapheme"):
label.text = gp.Grapheme
else:
label.text = ""
var velocity: float = 0.
var direction: Vector2 = Vector2(0,-1):
set = _set_direction
-1
View File
@@ -243,7 +243,6 @@ offset_top = -88.0
offset_right = 72.0
offset_bottom = 72.0
theme_override_font_sizes/font_size = 92
text = "ent"
label_settings = ExtResource("41_enfmr")
horizontal_alignment = 1
vertical_alignment = 1
+11 -2
View File
@@ -46,7 +46,7 @@ var turtle_count: int = 0:
if turtle_count >= max_turtle_count and value < max_turtle_count:
can_spawn_turtle.emit()
turtle_count = value
var stimulus_spawned: bool = false
# Find and set the parameters of the minigame, like the number of lives or the victory conditions.
func _setup_minigame() -> void:
@@ -63,6 +63,9 @@ func _setup_minigame() -> void:
# Setups the timer
spawn_timer.wait_time = settings.spawn_rate
for s in stimuli:
print(s.Word)
func _highlight() -> void:
for turtle: Turtle in turtles.get_children():
@@ -115,6 +118,8 @@ func _on_spawn_timer_timeout() -> void:
turtle.tree_exited.connect(
func() -> void:
turtle_count -= 1
if stimulus_spawned and _is_GP_right(turtle.gp):
stimulus_spawned = false
)
turtles.add_child(turtle)
@@ -123,11 +128,12 @@ func _on_spawn_timer_timeout() -> void:
turtle.direction = Vector2.DOWN.rotated(spawn_location.rotation).normalized()
# Define if the turtle is a stimulus or a distraction
var is_stimulus: = randf() < settings.stimuli_ratio
var is_stimulus: = not stimulus_spawned and randf() < settings.stimuli_ratio
if is_stimulus:
turtle.gp = _get_GP()
if is_highlighting:
turtle.highlight(true)
stimulus_spawned = true
else:
turtle.gp = _get_distractor()
@@ -152,6 +158,9 @@ func _on_island_area_entered(area: Area2D) -> void:
# Check if the turtle is a distractor or the awaited GP
if _is_GP_right(turtle.gp):
# Handles the stimulus spawned status
stimulus_spawned = false
# Stop the spawning
spawn_timer.stop()
@@ -16,7 +16,7 @@ point_count = 6
[node name="TurtlesMinigame" instance=ExtResource("1_geqym")]
script = ExtResource("2_f5de7")
minigame_name = 6
lesson_nb = 10
lesson_nb = 24
difficulty = 4
max_number_of_lives = 5
max_progression = 5