Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added microjogos/2025S1/HImeCaking/backgnd.ase
Binary file not shown.
Binary file added microjogos/2025S1/HImeCaking/capa.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 34 additions & 0 deletions microjogos/2025S1/HImeCaking/capa.png.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[remap]

importer="texture"
type="CompressedTexture2D"
uid="uid://dhdck34hqbv7c"
path="res://.godot/imported/capa.png-b9342b30b32f7e49b81697571e8ecf1d.ctex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://microjogos/2025S1/HImeCaking/capa.png"
dest_files=["res://.godot/imported/capa.png-b9342b30b32f7e49b81697571e8ecf1d.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
2 changes: 2 additions & 0 deletions microjogos/2025S1/HImeCaking/cenas/cenas.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Coloque suas cenas aqui! A cena que vai rodar no jogo deve necessariamente ser a Main.tscn

102 changes: 102 additions & 0 deletions microjogos/2025S1/HImeCaking/cenas/main.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
[gd_scene load_steps=10 format=3 uid="uid://diqtnacd3e6yn"]

[ext_resource type="Script" uid="uid://d2yx11vmrf8pm" path="res://microjogos/2025S1/project-UltFighting/cenas/scripts/main.gd" id="1_l4540"]
[ext_resource type="Texture2D" uid="uid://cjkgsbcoj7pl0" path="res://microjogos/2025S1/project-UltFighting/recursos/imagens/backgnd.png" id="1_nyq7o"]
[ext_resource type="Texture2D" uid="uid://diy57haa3qjq3" path="res://microjogos/2025S1/project-UltFighting/recursos/imagens/charHolder.png" id="2_l4540"]
[ext_resource type="Texture2D" uid="uid://dj41gjbhr5xry" path="res://microjogos/2025S1/project-UltFighting/recursos/imagens/realspoon.png" id="3_d4jpx"]
[ext_resource type="Texture2D" uid="uid://cumjoakequ1xl" path="res://microjogos/2025S1/project-UltFighting/recursos/imagens/cakeHolder.png" id="4_o2ho2"]
[ext_resource type="Texture2D" uid="uid://bsd2vtv5yguyk" path="res://microjogos/2025S1/project-UltFighting/recursos/imagens/arrowHolder.png" id="5_owabt"]
[ext_resource type="Texture2D" uid="uid://mgmrf6tca7ja" path="res://microjogos/2025S1/project-UltFighting/recursos/imagens/arrowHolderdwn.png" id="6_evqch"]
[ext_resource type="Texture2D" uid="uid://ci4tgk8txnq7s" path="res://microjogos/2025S1/project-UltFighting/recursos/imagens/arrowHolderlft.png" id="7_hqu7e"]
[ext_resource type="Texture2D" uid="uid://bl430ayem7nn0" path="res://microjogos/2025S1/project-UltFighting/recursos/imagens/arrowHolderrgt.png" id="8_jh2im"]

[node name="Main" type="Node2D" node_paths=PackedStringArray("arrow_nodes")]
texture_filter = 1
position = Vector2(0, 1)
script = ExtResource("1_l4540")
arrow_up = ExtResource("5_owabt")
arrow_down = ExtResource("6_evqch")
arrow_left = ExtResource("7_hqu7e")
arrow_right = ExtResource("8_jh2im")
arrow_nodes = [NodePath("arrows/SpriteArrowUp"), NodePath("arrows/SpriteArrowDown"), NodePath("arrows/SpriteArrowLeft"), NodePath("arrows/SpriteArrowRight")]

[node name="baxkground" type="Sprite2D" parent="."]
texture_filter = 1
position = Vector2(993, 540)
texture = ExtResource("1_nyq7o")

[node name="Node2D" type="Node2D" parent="."]

[node name="mainChar" type="CharacterBody2D" parent="Node2D"]

[node name="SpriteChar" type="Sprite2D" parent="Node2D/mainChar"]
position = Vector2(570, 508)
scale = Vector2(7.71875, 8.17188)
texture = ExtResource("2_l4540")

[node name="CollisionShape2D" type="CollisionShape2D" parent="Node2D/mainChar"]

[node name="spoon" type="CharacterBody2D" parent="Node2D"]

[node name="CollisionShape2D" type="CollisionShape2D" parent="Node2D/spoon"]

[node name="SpriteSpoon" type="Sprite2D" parent="Node2D/spoon"]
position = Vector2(895, 474)
scale = Vector2(0.730278, 0.693333)
texture = ExtResource("3_d4jpx")

[node name="Node2D2" type="Node2D" parent="."]

[node name="cake" type="CharacterBody2D" parent="Node2D2"]

[node name="Sprite2D" type="Sprite2D" parent="Node2D2/cake"]
position = Vector2(1491, 434)
scale = Vector2(8.9375, 8.70313)
texture = ExtResource("4_o2ho2")

[node name="CollisionShape2D" type="CollisionShape2D" parent="Node2D2/cake"]

[node name="arrows" type="Node2D" parent="."]

[node name="SpriteArrowUp" type="Sprite2D" parent="arrows"]
position = Vector2(276, 936)
scale = Vector2(2.78125, 2.98437)
texture = ExtResource("5_owabt")

[node name="SpriteArrowDown" type="Sprite2D" parent="arrows"]
position = Vector2(539, 939)
scale = Vector2(3.03125, 2.90625)
texture = ExtResource("6_evqch")

[node name="SpriteArrowLeft" type="Sprite2D" parent="arrows"]
position = Vector2(788, 946)
scale = Vector2(3.0625, 2.85938)
texture = ExtResource("7_hqu7e")

[node name="SpriteArrowRight" type="Sprite2D" parent="arrows"]
position = Vector2(1029, 945)
scale = Vector2(3.10938, 2.90625)
texture = ExtResource("8_jh2im")

[node name="SpriteArrowRight2" type="Sprite2D" parent="arrows"]
visible = false
position = Vector2(1258, 948)
scale = Vector2(3.10938, 2.90625)
texture = ExtResource("8_jh2im")

[node name="SpriteArrowRight3" type="Sprite2D" parent="arrows"]
visible = false
position = Vector2(1509, 951)
scale = Vector2(3.10938, 2.90625)
texture = ExtResource("8_jh2im")

[node name="Label" type="Label" parent="."]
offset_left = 826.0
offset_top = 689.0
offset_right = 2347.0
offset_bottom = 1201.0
theme_override_font_sizes/font_size = 60
text = "aaaaaaaaaaaaaaaaaaaaaaa"
horizontal_alignment = 1
vertical_alignment = 1
uppercase = true
161 changes: 161 additions & 0 deletions microjogos/2025S1/HImeCaking/cenas/scripts/main.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
extends Node2D

# Declaração dos sinais win e lose

signal win
signal lose

# Estas constantes são usadas para determinar o tamanho da tela do seu jogo. Por padrão, definem uma
# tela 1920x1080, que é padrão para monitores full HD. Caso você queira uma resolução menor para
# atingir uma estética mais pixelada, você pode mudar estes números para qualquer outra resolução
# 16:9
const WIDTH = 1920
const HEIGHT = 1080

@export var arrow_up: Texture2D
@export var arrow_down: Texture2D
@export var arrow_left: Texture2D
@export var arrow_right: Texture2D
@export var arrow_nodes: Array[Sprite2D]

var bgm = "res://microjogos/2025S1/HImeCaking/recursos/sons/bgm.wav"

const ARROW_QUANTITY = 4

@onready var spoon = $SpriteSpoon/AnimationPlayer
@onready var hime_eat = $SpriteChar/AnimationPlayer

var img_Arrows = {

}
var _arrows = ["up", "down", "left", "right"]
var sequence = []
# --------------------------------------------------------------------------------------------------
# FUNÇÕES PADRÃO
# --------------------------------------------------------------------------------------------------

# Esta função é chamada assim que esta cena é instanciada, ou seja, assim que seu minigame inicia
func _ready():
# Verifica a linguagem do jogo e mostra texto nesta linguagem. Deve dar uma ideia do que deve
# ser feito para vencer o jogo. A fonte usada não suporta caracteres latinos como ~ ou ´
match Global.language:
Global.LANGUAGE.EN:
NotificationCenter.notify("EAT THE MAGIC CAKE \n IN THE RIGHT DIRECTION!")
Global.LANGUAGE.PT:
NotificationCenter.notify("COMA O BOLO MÁGICO \n NA DIREÇÃO CERTA!")

_arrows.shuffle()
sequence = _arrows
#for a in range(ARROW_QUANTITY):
#sequence.append(get_arrow())

for n in arrow_nodes:
n.visible = false


func get_arrow():
var random_arrow = _arrows[randi() % _arrows.size()]
return random_arrow

# Esta função é chamada uma vez por frame e é otimizada para cálculos relacionados a física, como
# a movimentação de um personagem. O parâmetro delta indica a quantidade de tempo que passou desde
# a última chamada desta função. O comando pass não faz nada
func _physics_process(delta):
pass


# Esta função é chamada uma vez por frame e é otimizada para cálculos relacionados a renderização,
# como a movimentação de um personagem. O parâmetro delta indica a quantidade de tempo que passou
# desde a última chamada desta função. O comando pass não faz nada

# 0. up certo
# 1. up errado
# 0. up certo
# 1. down certo
# 2. left certo
# 3. left errado
var i = 0
func _process(delta):
var dir = " "
if Input.is_action_just_pressed("cima"):
dir = "up"

elif Input.is_action_just_pressed("baixo"):
dir = "down"

elif Input.is_action_just_pressed("esquerda"):
dir = "left"

elif Input.is_action_just_pressed("direita"):
dir = "right"

if dir != " " and i < ARROW_QUANTITY:
if i < len(arrow_nodes):
arrow_nodes[i].visible = true
match dir:
"up":
arrow_nodes[i].texture = arrow_up
"down":
arrow_nodes[i].texture = arrow_down
"left":
arrow_nodes[i].texture = arrow_left
"right":
arrow_nodes[i].texture = arrow_right

if dir == sequence[i]:
$Label.text = "Got it!"
print("Got it!")
$correct_sound.play()
spoon.play("eat")
hime_eat.play("open_mouth")
$Cake.frame = i + 1

i += 1
if i >= ARROW_QUANTITY:
$win_sound.play()
register_win()

elif dir != sequence[i]:
$Label.text = "Try Again"
print("Try Again")
$wrong_sound.play()

i = 0
for n in arrow_nodes:
n.visible = false





pass


# --------------------------------------------------------------------------------------------------
# SUAS FUNÇÕES
# --------------------------------------------------------------------------------------------------


# Um método genérico. Crie quantos métodos você precisar!
func my_method():
pass


# --------------------------------------------------------------------------------------------------
# CONDIÇÕES DE VITÓRIA
# --------------------------------------------------------------------------------------------------
# Quando o jogo começa, ela assume que o jogador não conseguiu vencer o jogo ainda, ou seja, se não
# acontecer nada, o jogador vai perder o jogo. A verificação se o jogador venceu o minigame é feita
# com base na emissão dos sinais "win" e "lose". Se "win" foi o último sinal emitido, o jogador
# vencerá o jogo, e se "lose" foi o último sinal emitido ou nenhum sinal foi emitido, o jogador
# perderá o jogo


# Chame esta função para registrar que o jogador venceu o jogo
func register_win():
emit_signal("win")


# Chame esta função para registrar que o jogador perdeu o jogo
func register_lose():
emit_signal("lose")
1 change: 1 addition & 0 deletions microjogos/2025S1/HImeCaking/cenas/scripts/main.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://d2yx11vmrf8pm
1 change: 1 addition & 0 deletions microjogos/2025S1/HImeCaking/cenas/scripts/scripts.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coloque seus scripts aqui!
Loading