commit af7ecc10e3f93a8d45790d8b72f72043ffcd0a9a Author: Zsolt Tasnadi Date: Sat Mar 2 08:31:57 2024 +0100 initial commit 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..4709183 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Godot 4+ specific ignores +.godot/ diff --git a/Ball.tscn b/Ball.tscn new file mode 100644 index 0000000..8ba9a21 --- /dev/null +++ b/Ball.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=2 format=3 uid="uid://dmsd30hc2ob1w"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_bdxrg"] +size = Vector2(40, 40) + +[node name="Ball" type="RigidBody2D"] +gravity_scale = 1.66533e-16 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(20, 20) +shape = SubResource("RectangleShape2D_bdxrg") + +[node name="ColorRect" type="ColorRect" parent="."] +offset_right = 40.0 +offset_bottom = 40.0 diff --git a/Playground.tscn b/Playground.tscn new file mode 100644 index 0000000..cc8f87a --- /dev/null +++ b/Playground.tscn @@ -0,0 +1,51 @@ +[gd_scene load_steps=5 format=3 uid="uid://catrpx1vuhvou"] + +[ext_resource type="PackedScene" uid="uid://ce4mnfokb6pkn" path="res://Racket.tscn" id="1_ywul3"] +[ext_resource type="Script" path="res://Racket.gd" id="2_wrt7t"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_u7af8"] +size = Vector2(100, 600) + +[sub_resource type="LabelSettings" id="LabelSettings_ildlg"] +font_size = 64 + +[node name="Playground" type="Node2D"] + +[node name="Wall" type="StaticBody2D" parent="."] + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Wall"] +polygon = PackedVector2Array(0, 8, 0, 600, 1200, 600, 1200, 8, 0, 0, 0, 8, 1192, 16, 1192, 16, 1192, 592, 8, 592, 8, 8) + +[node name="GoalAreaLeft" type="Area2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="GoalAreaLeft"] +position = Vector2(50, 300) +shape = SubResource("RectangleShape2D_u7af8") + +[node name="GoalAreaRight" type="Area2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="GoalAreaRight"] +position = Vector2(1150, 300) +shape = SubResource("RectangleShape2D_u7af8") + +[node name="RacketLeft" parent="." instance=ExtResource("1_ywul3")] +position = Vector2(128, 224) +script = ExtResource("2_wrt7t") +metadata/UP_KEY = "left_up" +metadata/DOWN_KEY = "left_down" + +[node name="RacketRight" parent="." instance=ExtResource("1_ywul3")] +position = Vector2(1032, 224) +script = ExtResource("2_wrt7t") +metadata/UP_KEY = "right_up" +metadata/DOWN_KEY = "right_down" + +[node name="Label" type="Label" parent="."] +offset_left = 544.0 +offset_top = 32.0 +offset_right = 673.0 +offset_bottom = 120.0 +text = "0 - 0" +label_settings = SubResource("LabelSettings_ildlg") +horizontal_alignment = 1 +vertical_alignment = 1 diff --git a/Rack2et.gd b/Rack2et.gd new file mode 100644 index 0000000..3524013 --- /dev/null +++ b/Rack2et.gd @@ -0,0 +1,28 @@ +extends CharacterBody2D + + +const SPEED = 300.0 +const JUMP_VELOCITY = -400.0 + +# Get the gravity from the project settings to be synced with RigidBody nodes. +var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") + + +func _physics_process(delta): + # Add the gravity. + if not is_on_floor(): + velocity.y += 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() diff --git a/Racket.gd b/Racket.gd new file mode 100644 index 0000000..8e34167 --- /dev/null +++ b/Racket.gd @@ -0,0 +1,16 @@ +extends CharacterBody2D + + +const SPEED = 300.0 + + +func _physics_process(delta): + + + if Input.is_action_pressed(get_meta("UP_KEY")): + velocity.y = move_toward(velocity.y, -1, SPEED) + move_and_collide(Vector2.UP * SPEED * delta) + + if Input.is_action_pressed(get_meta("DOWN_KEY")): + velocity.y = move_toward(velocity.y, 1, SPEED) + move_and_collide(Vector2.DOWN * SPEED * delta) diff --git a/Racket.tscn b/Racket.tscn new file mode 100644 index 0000000..8c1009e --- /dev/null +++ b/Racket.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=2 format=3 uid="uid://ce4mnfokb6pkn"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_ehve4"] +size = Vector2(40, 144) + +[node name="Racket" type="CharacterBody2D"] +up_direction = Vector2(2.94434e-12, 1) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(20, 72) +shape = SubResource("RectangleShape2D_ehve4") + +[node name="ColorRect" type="ColorRect" parent="."] +offset_right = 40.0 +offset_bottom = 144.0 +color = Color(0.0117647, 0.0117647, 0.0117647, 1) diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..b370ceb --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..b127d99 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b1pvto6so6i1s" +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..f99bf1a --- /dev/null +++ b/project.godot @@ -0,0 +1,44 @@ +; 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="pong" +run/main_scene="res://Playground.tscn" +config/features=PackedStringArray("4.2", "Forward Plus") +config/icon="res://icon.svg" + +[display] + +window/size/viewport_width=1200 +window/size/viewport_height=600 + +[input] + +right_up={ +"deadzone": 0.0, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":79,"physical_keycode":0,"key_label":0,"unicode":111,"echo":false,"script":null) +] +} +right_down={ +"deadzone": 0.0, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":76,"physical_keycode":0,"key_label":0,"unicode":108,"echo":false,"script":null) +] +} +left_up={ +"deadzone": 0.0, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":81,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} +left_down={ +"deadzone": 0.0, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":65,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +] +}