From c8a99da3e1f2155c9c00a13600d2154974b7ecdc Mon Sep 17 00:00:00 2001 From: JayisonDevadas Date: Mon, 28 Jul 2025 21:19:32 -0400 Subject: [PATCH] bigfour, 3 teirs ,GC --- .editorconfig | 4 +++ .gitattributes | 2 ++ .gitignore | 3 ++ Class1notes.txt | 17 ++++++++++ icon.svg | 1 + icon.svg.import | 37 ++++++++++++++++++++ project.godot | 16 +++++++++ scenes/game.tscn | 63 +++++++++++++++++++++++++++++++++++ scenes/trigger.tscn | 16 +++++++++ scripts/gamecontroller.gd | 17 ++++++++++ scripts/gamecontroller.gd.uid | 1 + scripts/player.gd | 29 ++++++++++++++++ scripts/player.gd.uid | 1 + scripts/trigger.gd | 12 +++++++ scripts/trigger.gd.uid | 1 + 15 files changed, 220 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Class1notes.txt create mode 100644 icon.svg create mode 100644 icon.svg.import create mode 100644 project.godot create mode 100644 scenes/game.tscn create mode 100644 scenes/trigger.tscn create mode 100644 scripts/gamecontroller.gd create mode 100644 scripts/gamecontroller.gd.uid create mode 100644 scripts/player.gd create mode 100644 scripts/player.gd.uid create mode 100644 scripts/trigger.gd create mode 100644 scripts/trigger.gd.uid diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f28239b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,4 @@ +root = true + +[*] +charset = utf-8 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0af181c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Godot 4+ specific ignores +.godot/ +/android/ diff --git a/Class1notes.txt b/Class1notes.txt new file mode 100644 index 0000000..d2cb27b --- /dev/null +++ b/Class1notes.txt @@ -0,0 +1,17 @@ +big 4 static body rigid body character body trigger(area) + +architecture + +view ( big 4) actors + +Gamer controller writer +logic +requires data +contains functions + +scene manager +decides when things happen director + + +Signals +to connect signal go to main scene and select emmiter diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..9d8b7fa --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..796935a --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhyfi56uibye7" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..6f7bb8d --- /dev/null +++ b/project.godot @@ -0,0 +1,16 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="JulyGame" +run/main_scene="uid://doctwh8lc63y5" +config/features=PackedStringArray("4.4", "Forward Plus") +config/icon="res://icon.svg" diff --git a/scenes/game.tscn b/scenes/game.tscn new file mode 100644 index 0000000..7d4ab91 --- /dev/null +++ b/scenes/game.tscn @@ -0,0 +1,63 @@ +[gd_scene load_steps=8 format=3 uid="uid://doctwh8lc63y5"] + +[ext_resource type="Script" uid="uid://cpua8fr5bby78" path="res://scripts/gamecontroller.gd" id="1_lnu2h"] +[ext_resource type="Script" uid="uid://cnwga6l2btdbk" path="res://scripts/player.gd" id="1_uwrxv"] +[ext_resource type="PackedScene" uid="uid://6n3305pqp43a" path="res://scenes/trigger.tscn" id="2_yqjtg"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_8cj0n"] +size = Vector2(52, 20) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_uwrxv"] + +[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_8cj0n"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_8cj0n"] + +[node name="game" type="Node2D"] +script = ExtResource("1_lnu2h") + +[node name="StaticBody2D" type="StaticBody2D" parent="."] +position = Vector2(580, 413) +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"] +shape = SubResource("RectangleShape2D_8cj0n") + +[node name="RigidBody2D" type="RigidBody2D" parent="."] +position = Vector2(594, 335) +rotation = 0.767945 +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D"] +shape = SubResource("RectangleShape2D_uwrxv") +debug_color = Color(0.820447, 0.391315, 0.259417, 0.42) + +[node name="RigidBody2D2" type="RigidBody2D" parent="."] +position = Vector2(577, 256) +rotation = 0.602841 +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D2"] +shape = SubResource("RectangleShape2D_uwrxv") +debug_color = Color(0.820447, 0.391315, 0.259417, 0.42) + +[node name="ground" type="StaticBody2D" parent="."] +position = Vector2(583, 553) +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="ground"] +shape = SubResource("WorldBoundaryShape2D_8cj0n") + +[node name="CharacterBody2D" type="CharacterBody2D" parent="."] +position = Vector2(580, 392) +script = ExtResource("1_uwrxv") +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D"] +shape = SubResource("CircleShape2D_8cj0n") +debug_color = Color(0.256799, 0.626646, 0.294192, 0.42) + +[node name="Area2D" parent="." instance=ExtResource("2_yqjtg")] +position = Vector2(872, 521) + +[connection signal="areaTriggerSignal" from="Area2D" to="." method="_on_trigger"] diff --git a/scenes/trigger.tscn b/scenes/trigger.tscn new file mode 100644 index 0000000..74a77e0 --- /dev/null +++ b/scenes/trigger.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=3 format=3 uid="uid://6n3305pqp43a"] + +[ext_resource type="Script" uid="uid://c57chsew3r87y" path="res://scripts/trigger.gd" id="1_du5ex"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_uwrxv"] + +[node name="trigger" type="Area2D"] +scale = Vector2(3, 3) +script = ExtResource("1_du5ex") +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_uwrxv") +debug_color = Color(0.646097, 0.374776, 0.918255, 0.42) + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/scripts/gamecontroller.gd b/scripts/gamecontroller.gd new file mode 100644 index 0000000..3ea31da --- /dev/null +++ b/scripts/gamecontroller.gd @@ -0,0 +1,17 @@ +extends Node2D + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass + + +func _on_trigger(effect: Variant, body:Variant) -> void: + print("GC sees trigger "+effect) + if not body is Player: + body.queue_free() diff --git a/scripts/gamecontroller.gd.uid b/scripts/gamecontroller.gd.uid new file mode 100644 index 0000000..b2b04a9 --- /dev/null +++ b/scripts/gamecontroller.gd.uid @@ -0,0 +1 @@ +uid://cpua8fr5bby78 diff --git a/scripts/player.gd b/scripts/player.gd new file mode 100644 index 0000000..64400c1 --- /dev/null +++ b/scripts/player.gd @@ -0,0 +1,29 @@ +class_name Player extends CharacterBody2D + + +const SPEED = 300.0 +const JUMP_VELOCITY = -400.0 + + +func _physics_process(delta): + # Add the gravity. + if not is_on_floor(): + velocity += get_gravity() * delta + + # Handle jump. + if Input.is_action_just_pressed("ui_accept") and is_on_floor(): + velocity.y = JUMP_VELOCITY + + # Get the input direction and handle the movement/deceleration. + # As good practice, you should replace UI actions with custom gameplay actions. + var direction = Input.get_axis("ui_left", "ui_right") + if direction: + velocity.x = direction * SPEED + else: + velocity.x = move_toward(velocity.x, 0, SPEED) + + move_and_slide() + for i in get_slide_collision_count(): + var c = get_slide_collision(i) + if c.get_collider() is RigidBody2D: + c.get_collider().apply_central_impulse(-c.get_normal() * 100) diff --git a/scripts/player.gd.uid b/scripts/player.gd.uid new file mode 100644 index 0000000..a1ba301 --- /dev/null +++ b/scripts/player.gd.uid @@ -0,0 +1 @@ +uid://cnwga6l2btdbk diff --git a/scripts/trigger.gd b/scripts/trigger.gd new file mode 100644 index 0000000..4c41ece --- /dev/null +++ b/scripts/trigger.gd @@ -0,0 +1,12 @@ +extends Area2D + +@export var effect := "destroy" + +#custom signal +signal areaTriggerSignal(effect, Object) + + +func _on_body_entered(body: Node2D) -> void: + print("trigger sees a body") + areaTriggerSignal.emit(effect, body) + diff --git a/scripts/trigger.gd.uid b/scripts/trigger.gd.uid new file mode 100644 index 0000000..2c063aa --- /dev/null +++ b/scripts/trigger.gd.uid @@ -0,0 +1 @@ +uid://c57chsew3r87y