From bb8d2a7b9730e5e2dae43f8973bd143b3527284a Mon Sep 17 00:00:00 2001 From: Tabby <41929769+tabby-cat-nya@users.noreply.github.com> Date: Mon, 9 Jun 2025 14:43:22 +1000 Subject: [PATCH] score and lives partially implemented --- Sprites/SamLife.png | Bin 0 -> 3153 bytes Sprites/SamLife.png.import | 34 +++++++++++++++ Sprites/ScoreLife.png | Bin 0 -> 7573 bytes Sprites/ScoreLife.png.import | 34 +++++++++++++++ Sprites/hint00.png | Bin 0 -> 7395 bytes Sprites/hint00.png.import | 34 +++++++++++++++ Sprites/targetBG.png | Bin 0 -> 1999 bytes Sprites/targetBG.png.import | 34 +++++++++++++++ game.tscn | 81 ++++++++++++++++++++++++++++++++++- logic.gd | 35 ++++++++++++++- project.godot | 1 + 11 files changed, 250 insertions(+), 3 deletions(-) create mode 100644 Sprites/SamLife.png create mode 100644 Sprites/SamLife.png.import create mode 100644 Sprites/ScoreLife.png create mode 100644 Sprites/ScoreLife.png.import create mode 100644 Sprites/hint00.png create mode 100644 Sprites/hint00.png.import create mode 100644 Sprites/targetBG.png create mode 100644 Sprites/targetBG.png.import diff --git a/Sprites/SamLife.png b/Sprites/SamLife.png new file mode 100644 index 0000000000000000000000000000000000000000..d627a44461ac0e7e34381cf696621bfeeac35967 GIT binary patch literal 3153 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 literal 0 HcmV?d00001 diff --git a/Sprites/SamLife.png.import b/Sprites/SamLife.png.import new file mode 100644 index 0000000..52061fc --- /dev/null +++ b/Sprites/SamLife.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwq8fwuhoax4i" +path="res://.godot/imported/SamLife.png-2024cbca94d1577c1d36a8b5ca0d9656.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/SamLife.png" +dest_files=["res://.godot/imported/SamLife.png-2024cbca94d1577c1d36a8b5ca0d9656.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Sprites/ScoreLife.png b/Sprites/ScoreLife.png new file mode 100644 index 0000000000000000000000000000000000000000..0dd330b94ad88836ab71d44df1b0fd96f10fc845 GIT binary patch literal 7573 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 V+;)yYaDM;*002ovPDHLkV1mh5)TRIc literal 0 HcmV?d00001 diff --git a/Sprites/hint00.png.import b/Sprites/hint00.png.import new file mode 100644 index 0000000..1a090fe --- /dev/null +++ b/Sprites/hint00.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://n6rnl67gxggv" +path="res://.godot/imported/hint00.png-ad7451de35b2c48aeb0a011e3432342e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/hint00.png" +dest_files=["res://.godot/imported/hint00.png-ad7451de35b2c48aeb0a011e3432342e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Sprites/targetBG.png b/Sprites/targetBG.png new file mode 100644 index 0000000000000000000000000000000000000000..1535af3d701dfca8a9ed691907bb924809a7e13b GIT binary patch literal 1999 zcmV;=2Qc`FP)2~8P41hHzo^-B^%KJa;oVeeiXuL@Aao9 zz&--?Z|Oz=@iP?5*a7LZpR1mS&`DdQ9=0Ts3x&FMOpr$pk+KiiYldFfMTAksy>(R28Btd?+hI44~IK zthFaq2!YQ|S1^*^LmEn}TbV;-& z5Twh$dL{%a_gp=}_sa>u+RbbY)e(X~kZP*X5vbSq!K}_#jo^Fq1eHC4@O=Phdf_~Q z@zJY&@GUSQ5Xn;_TGCD+z~R~Jej653GHkcYv#IsreJeah!VzWFSa=-b_vVam`iRinH8J(AMFI+h00- zUB>BHA2b`Z)4}(fqhe2W?@TWJm|Xp)Kbd^NPM}PEZIy<5t*J~K%uLwOm|d>slVu9jkM&LU9_XzII$V`Npx%gJ zGgz3I;MWo4hCL$Kn#v*etz$+nB2Yq_6*ahsA&xt4^_Jfm8NZ0+D+s`E{A~;(B9McL zzqJXR7l7ex-R$Oc6j1#r0o4fX;iFnHp+qe-&kzXOBxr4Rmd%jsK<8Y8 zu-kJ=BQkf+WE*O*1b!aGq3G7&_Loc|0_FPj#|ZQhxgpSzo^OGXi@Qz`bwePqeR?SL z1?rdpnNbWjWLKPP!|Jv=yVP_N93NdHv-6AA{a|3O^@&4>>ck(Oq72#>W)dU?c#*p?obfuPZPX-IDK=0U1^{@p%;sFXYe zVnOu!p$VefK(&hy?HdT`-)q&Bg!^Mlo0kIgy0Z{mdq1M%&P)8IBi9;^5L|I31nVR6 zJOS>lZxA62o1g{~W55dd*1EO?ICVm90J)GY`fcy!FKS6AZ+$kU16>a(u zynGZfB_Os0kJ6g5B%qp?30w%mL`VtXL-6ug1v7$VSHZpykQmP7-$j6kAA)xoMSNm* z{?LZ)8O{`jO+vtE6r}{nj=)}>EpLW!>H}g<5M?njCa@c!(6 zlKV_9Ztrulru+#o%K>3Xuw?kNCeW$Hz<4HGjWcU1>G|i+pXc)9odw$j*pu`*y;SN1 z)REsyMTYOn%f>E$JA8#;2Y}D0T}we+%P&3iKKne;u}-kns8=M*t_(-4zQ?awlqHCB z0twSrz4|5M%`{Q0=TC2xQ{)65NI9l@a`lDpgKzw=0>(*>3EZ*NRtj%A4XQ&7cVzdv z*Ld&zPX(&oMu-`K8%0HSZ`7`s<-1lAaSvqoo{=z$&}RH%l--M`vU@3~t)wBZW%usN z67>WarS=xDo3G^_zm;f$;x&z-CGV*ft|dU~PtGmh(_X&4eKolkt|Xu`^LQ({_zJnI hI~9`+^@{v2zyKa#Oa0$)NY?-W002ovPDHLkV1kP5pV$BZ literal 0 HcmV?d00001 diff --git a/Sprites/targetBG.png.import b/Sprites/targetBG.png.import new file mode 100644 index 0000000..a93c0de --- /dev/null +++ b/Sprites/targetBG.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8u0xx3dnbcwq" +path="res://.godot/imported/targetBG.png-32fdb92588e5d2db60a3d201162c9609.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/targetBG.png" +dest_files=["res://.godot/imported/targetBG.png-32fdb92588e5d2db60a3d201162c9609.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/game.tscn b/game.tscn index 8a6d7d2..1fa5b29 100644 --- a/game.tscn +++ b/game.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=7 format=3 uid="uid://sntwtley2f7d"] +[gd_scene load_steps=13 format=3 uid="uid://sntwtley2f7d"] [ext_resource type="Texture2D" uid="uid://dj6mkweo8kgcs" path="res://Sprites/smol-up.png" id="1_80nbo"] [ext_resource type="Script" uid="uid://c7c1yy0hv1u3r" path="res://logic.gd" id="1_e2o6t"] @@ -6,13 +6,26 @@ [ext_resource type="Texture2D" uid="uid://ducbe6ucctlr6" path="res://Sprites/smol-down.png" id="4_ryrav"] [ext_resource type="Texture2D" uid="uid://25g6athehh1s" path="res://Sprites/smol-left.png" id="5_eow3j"] [ext_resource type="Texture2D" uid="uid://y2ytspjqefbk" path="res://Sprites/smol-blank.png" id="6_ryrav"] +[ext_resource type="Texture2D" uid="uid://n6rnl67gxggv" path="res://Sprites/hint00.png" id="7_hve3p"] +[ext_resource type="Texture2D" uid="uid://drtw5y8tfkxp8" path="res://Sprites/ScoreLife.png" id="8_mfdv2"] +[ext_resource type="Texture2D" uid="uid://bwq8fwuhoax4i" path="res://Sprites/SamLife.png" id="9_iotsf"] +[ext_resource type="Texture2D" uid="uid://c8u0xx3dnbcwq" path="res://Sprites/targetBG.png" id="10_lc2xo"] -[node name="Node2D" type="Node2D" node_paths=PackedStringArray("icon_container", "progress_bar", "scroll_container")] +[sub_resource type="LabelSettings" id="LabelSettings_215e1"] +font_size = 30 + +[sub_resource type="LabelSettings" id="LabelSettings_7sc4i"] +font_size = 30 + +[node name="Node2D" type="Node2D" node_paths=PackedStringArray("icon_container", "progress_bar", "scroll_container", "score_label", "life_container")] script = ExtResource("1_e2o6t") icon_container = NodePath("CanvasLayer/VBoxContainer/HFlowContainer/HBoxContainer") icons = Array[Texture]([ExtResource("1_80nbo"), ExtResource("3_7jktm"), ExtResource("4_ryrav"), ExtResource("5_eow3j"), ExtResource("6_ryrav")]) progress_bar = NodePath("CanvasLayer/VBoxContainer/ProgressBar") scroll_container = NodePath("CanvasLayer/VBoxContainer/HFlowContainer") +score_label = NodePath("CanvasLayer/Score_Lives Display/ScoreLabel") +life_container = NodePath("CanvasLayer/Score_Lives Display/Lives") +life_texture = ExtResource("9_iotsf") [node name="CanvasLayer" type="CanvasLayer" parent="."] @@ -209,3 +222,67 @@ texture = ExtResource("6_ryrav") layout_mode = 2 max_value = 1.0 step = 0.0 + +[node name="Hint" type="TextureRect" parent="CanvasLayer"] +offset_left = 47.0 +offset_top = 47.0 +offset_right = 240.0 +offset_bottom = 307.0 +texture = ExtResource("7_hve3p") + +[node name="Score_Lives Display" type="TextureRect" parent="CanvasLayer"] +offset_left = 902.0 +offset_top = 51.0 +offset_right = 1095.0 +offset_bottom = 311.0 +texture = ExtResource("8_mfdv2") + +[node name="ScoreLabel" type="Label" parent="CanvasLayer/Score_Lives Display"] +layout_mode = 0 +offset_left = 36.0 +offset_top = 111.0 +offset_right = 156.0 +offset_bottom = 153.0 +text = "8888888" +label_settings = SubResource("LabelSettings_215e1") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="Lives" type="HBoxContainer" parent="CanvasLayer/Score_Lives Display"] +layout_mode = 0 +offset_left = 37.0 +offset_top = 197.0 +offset_right = 153.0 +offset_bottom = 241.0 + +[node name="TextureRect" type="TextureRect" parent="CanvasLayer/Score_Lives Display/Lives"] +visible = false +layout_mode = 2 +texture = ExtResource("9_iotsf") + +[node name="TextureRect2" type="TextureRect" parent="CanvasLayer/Score_Lives Display/Lives"] +visible = false +layout_mode = 2 +texture = ExtResource("9_iotsf") + +[node name="TextureRect3" type="TextureRect" parent="CanvasLayer/Score_Lives Display/Lives"] +visible = false +layout_mode = 2 +texture = ExtResource("9_iotsf") + +[node name="RoundDisplay" type="TextureRect" parent="."] +offset_left = 902.0 +offset_top = 338.0 +offset_right = 1095.0 +offset_bottom = 488.0 +texture = ExtResource("10_lc2xo") + +[node name="Label" type="Label" parent="RoundDisplay"] +layout_mode = 0 +offset_left = 57.0 +offset_top = 81.0 +offset_right = 136.0 +offset_bottom = 123.0 +text = "8 of 8" +label_settings = SubResource("LabelSettings_7sc4i") +horizontal_alignment = 1 diff --git a/logic.gd b/logic.gd index a221d23..c4c9ac4 100644 --- a/logic.gd +++ b/logic.gd @@ -8,6 +8,9 @@ extends Node2D @export var icons : Array[Texture] @export var progress_bar : ProgressBar @export var scroll_container : ScrollContainer +@export var score_label : Label +@export var life_container : HBoxContainer +@export var life_texture : Texture var current_time : float = 5 var score : int = 0 var lives : int = 3 @@ -23,14 +26,29 @@ var target_scroll : float # Called when the node enters the scene tree for the first time. func _ready() -> void: #start_round() + draw_lives() pass # Replace with function body. +func draw_lives(): + for child in life_container.get_children(): + child.queue_free() + for i in range(lives): + var new_tex = TextureRect.new() + new_tex.texture = life_texture + life_container.add_child(new_tex) + +func lose_life(): + lives -= 1 + draw_lives() + if lives <= 0: + #end game + pass # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: target_scroll = (codepos*50) - 550 scroll_container.scroll_horizontal = lerpf(scroll_container.scroll_horizontal,target_scroll,0.05) - + score_label.text = str(score) if gaming: current_time -= delta @@ -39,6 +57,10 @@ func _process(delta: float) -> void: test_break -= delta if test_break <= 0: start_round() + + if gaming and current_time <= 0: + lose_round() + if Input.is_action_just_pressed("up"): process_input(0) elif Input.is_action_just_pressed("right"): @@ -61,7 +83,9 @@ func process_input(direction : int): if(code[codepos] == direction): #correct input icon_container.get_child(codepos).modulate = Color(0,1,0) + score += codepos+1 codepos += 1 + if(codepos == code_len): win_round() else: @@ -72,15 +96,24 @@ func process_input(direction : int): icon_container.get_child(i).modulate = Color(1,1,1) func win_round(): + #todo: bous for remaining time? gaming = false codepos = 0 test_break = 1.5 # todo: replace with gamer samurai animation stuff if ghost_tokens > 0: ghost_tokens -= 1 code_len += 1 + else: ghost_tokens = 2 code_len -= 1 + score += 100 + +func lose_round(): + gaming = false + codepos = 0 + test_break = 1.5 + lose_life() func generate_code(): code.clear() diff --git a/project.godot b/project.godot index a112044..ccd3bc1 100644 --- a/project.godot +++ b/project.godot @@ -48,5 +48,6 @@ left={ [rendering] +textures/canvas_textures/default_texture_filter=0 renderer/rendering_method="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility"