terça-feira, 6 de janeiro de 2026

Aula 3 de Word - Referências e Revisão:

Esta aula se concentra em ferramentas que garantem a credibilidade do seu documento (Citações, Notas de Rodapé) e a qualidade da escrita (Revisão Ortográfica e Contagem).

I. Citações e Referências (Aba Referências):

Em trabalhos formais e acadêmicos, é obrigatório citar as fontes de informação. O Word gerencia isso automaticamente.

Notas de Rodapé: Para adicionar uma nota rápida na parte inferior da página.
    Função: Vá para a aba Referências > Inserir Nota de Rodapé.
    Resultado: O Word insere um número pequeno no texto e move o cursor para o rodapé, onde você             digita a explicação ou a fonte.

Citações e Bibliografia: Para gerenciar fontes de forma formal (ABNT, APA, etc.).

    Gerenciar Fontes: Use Referências > Gerenciar Fontes para cadastrar todos os livros, sites ou artigos         que você usou.
    Inserir Citação: Coloque o cursor no local desejado e clique em Inserir Citação. O Word insere a             referência no formato escolhido (ex: [Sobrenome, Ano]).
    Gerar Bibliografia: Ao final do trabalho, clique em Bibliografia e o Word cria a lista completa das             suas  fontes cadastradas.

II. Revisão Profissional (Aba Revisão):

Ninguém é perfeito. O Word oferece ferramentas poderosas para garantir que seus documentos estejam corretos e bem escritos.


Ortografia e Gramática:

        Função: Vá para a aba Revisão > Ortografia e Gramática.
Atalho: F7
Resultado: O Word revisa o documento inteiro, indicando erros de digitação e gramática.

Contagem de Palavras:

        Função: Aba Revisão > Contagem de Palavras.
Resultado: Exibe o número total de palavras, caracteres, parágrafos e linhas. Essencial para                     trabalhos com limite de tamanho.

Dicionário de Sinônimos:

        Função: Selecione uma palavra e vá para Revisão > Sinônimos.
Resultado: Ajuda a evitar a repetição de palavras e a enriquecer o vocabulário.

💡 Desafio da Aula 4:

Use o Manual do Projeto GS da Aula 3 para este desafio:

        Nota de Rodapé: Escolha a frase "O projeto utiliza a engine Godot..." e use Referências > Inserir         Nota de Rodapé. Escreva no rodapé: "Godot Engine é um software livre."
Revisão: Digite intencionalmente uma palavra errada no corpo do texto (ex: "progresso" com 'ç').         Corrija usando a ferramenta Ortografia e Gramática (F7).
Contagem: Verifique quantos parágrafos o seu documento tem usando a ferramenta Contagem de         Palavras.

sexta-feira, 2 de janeiro de 2026

Tech 2026

 


segunda-feira, 29 de dezembro de 2025

Aula 2 de Word

 I. O Segredo dos Estilos (Styles) 🔑:

No Word, Estilos não servem apenas para mudar a aparência (negrito, cor), mas para dar estrutura lógica ao documento.

Onde Fica: Na aba Início, procure o grupo Estilos.

Aplicação: Selecione o título principal da sua seção e clique em Título 1.

                   Selecione um subtítulo e clique em Título 2.

Por que Usar: Ao aplicar esses estilos, o Word "entende" a hierarquia do seu documento, o que é essencial para o recurso mais importante desta aula: o Sumário Automático.

II. Numeração de Páginas, Cabeçalho e Rodapé:

Estes elementos fornecem contexto e ajudam na navegação do leitor em documentos com múltiplas páginas.

A. Cabeçalho e Rodapé (Informação Repetitiva):

Esta área se repete em todas as páginas e é ideal para títulos de projetos, datas ou nomes de autores.

Acesso Rápido: Dê um Duplo Clique Rápido na margem superior ou inferior da página.
Inserção: Vá para a aba Inserir > Cabeçalho (ou Rodapé) e escolha um modelo, ou simplesmente digite seu texto.
Saída: Dê um duplo clique no corpo principal do texto para fechar.

B. Numeração de Página:

Crucial para trabalhos acadêmicos e relatórios.

Inserir: Vá para a aba Inserir > Número de Página.
Escolher Local: Selecione Início da Página (cabeçalho) ou, mais comum, Fim da Página (rodapé).
Dica: Ao selecionar uma opção, o Word insere automaticamente o número no Cabeçalho/Rodapé, e ele se atualiza página por página.

III. Criando um Sumário Automático (Índice):

Este é o resultado prático de usar os Estilos corretamente. O Word gera um índice completo com títulos e números de página precisos, atualizando-o automaticamente se você mudar o texto.

Posicionamento: Vá para a página onde você deseja que o Sumário apareça (geralmente a primeira ou segunda página).
Inserir: Vá para a aba Referências > Sumário.
Escolher: Escolha um dos modelos de Sumário Automático.
Atenção: Se você mudar seus títulos ou eles forem para outras páginas, basta clicar no Sumário e selecionar Atualizar Sumário para corrigir os números de página.

Desafio da Aula 2:

Ao final do desafio, você deve ter um documento com cabeçalho, numeração de página e um Sumário funcional na primeira página. Se você mudar o texto de "1. INTRODUÇÃO..." para a página 4, e clicar em Atualizar Sumário, o número da página no Sumário deve mudar automaticamente!

Etapa,Ação,Ferramenta da Aula

1. Estrutura,Crie os títulos abaixo e aplique o Estilo indicado.,Estilos (Aba Início)
2. Numeração,Insira o Número de Página no Rodapé (parte inferior).,Inserir > Número de Página
3. Cabeçalho,"Insira o texto ""MANUAL PROJETO GS"" no Cabeçalho.",Inserir > Cabeçalho
4. Geração,Vá para a Página 1 (vazia) e gere o Sumário.,Referências > Sumário



segunda-feira, 22 de dezembro de 2025

Aula 1 Word

I. Conhecendo a Interface (A Faixa de Opções - Ribbon):

1.Aba Início (Home): É a aba principal e contém a maioria das ferramentas que você usará diariamente.

Área de Foco: O grupo Fonte e o grupo Parágrafo.

2.Aba Inserir (Insert): Para adicionar elementos que não são texto (Imagens, Tabelas, Números de Página).

3.Aba Layout: Para configurar a página antes de imprimir (Margens, Tamanho da Página, Orientação).

II. Formatação Básica de Caracteres (Grupo Fonte):

Estes comandos definem a aparência de letras e palavras. Use o atalho Ctrl combinado com as letras para ser mais rápido!

Comando/Botão / Atalho de Teclado / Função Essencial

Negrito; Ctrl + N; Destaca o texto para dar ênfase (ex: Título).
Itálico; Ctrl + I; Inclina o texto (ex: Nome de Livro ou Ênfase).
Sublinhado; Ctrl + S; Coloca uma linha abaixo do texto.
Fonte (Nome); (Sem atalho fácil); Altera o tipo de letra (ex: Mudar de Arial para Times New Roman).
Tamanho da Fonte; (Sem atalho fácil); Define o tamanho do texto (ex: 12pt para texto de corpo).

III. Formatação Básica de Parágrafos:

Estes comandos definem como o bloco de texto (o parágrafo) se comporta na página.

Recurso/Botão / Atalho de Teclado / Função Essencial

Alinhamento; Ctrl + G (Justificar); Define a posição do texto na linha: Esquerda, Centro, Direita ou Justificado (que alinha os dois lados).
Marcadores/Numeração; (Sem atalho fácil); Cria listas rápidas com bolinhas ou números (essencial para listas de materiais ou requisitos).
Espaçamento de Linha; Ctrl + 5 (1,5 linha); Define o espaço vertical entre as linhas. Padrão ABNT é geralmente 1,5.

Desafio da Aula 1:

Abra um novo documento no Word.
Digite seu nome completo.
Selecione seu nome e use os atalhos para deixá-lo em Negrito (Ctrl + N) e Sublinhado (Ctrl + S).
Pule uma linha e crie uma lista de 3 itens usando a ferramenta Marcadores (bolinhas). Tema Escolhido pelo Professor. Exemplo: Comidas Favoritas.
Salve o documento (Ctrl + B no português).







quinta-feira, 4 de dezembro de 2025

Código

Calendário 2026



 extends CharacterBody3D

# --- Constantes de Movimento e Câmera ---

const VELOCIDADE_DE_MOVIMENTO = 5.0

const GRAVIDADE = 20.0

const FORCA_DE_PULO = 10.0

const SENSIBILIDADE_MOUSE = 0.002

const VELOCIDADE_DE_CORRIDA = 10

const MULTIPLIER_VELOCIDADE = 2.5 # O quão mais rápido o jogador ficará (2.5x a velocidade normal)

const DURACAO_POWERUP = 5.0     # Duração do power-up em segundos

# --- Variáveis de Controle ---

@onready var cam_pivot = $Pivot # Usa @onready para garantir que o nó 'Pivot' exista

var mouse_capturado = false

var powerup_ativo = false

var powerup_timer = 0.0

var direcao = Vector3()

var mouse_relative_motion = Vector2.ZERO # Novo vetor para capturar e aplicar o movimento do mouse

# Variáveis para o Mortal

var esta_dando_mortal = false

const TEMPO_MORTAL = 0.5 # Duração do giro em segundos

var mortal_timer = 0.0

const VELOCIDADE_GIRO_MORTAL = 720.0 # Rotação total em graus por segundo (360 para um giro completo)

func ativar_powerup_velocidade():

if not powerup_ativo:

powerup_ativo = true

powerup_timer = DURACAO_POWERUP # Zera o timer e define a duração

print("Power-up de Velocidade Ativo!")

func _input(event):

# 1. Capturar Mouse e Botão Direito

if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_RIGHT:

if event.pressed:

Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)

mouse_capturado = true

else:

Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)

mouse_capturado = false

# 2. Apenas ARMAZENAR o Movimento do Mouse

if event is InputEventMouseMotion and mouse_capturado:

# Armazena o movimento relativo (delta) para processar no _physics_process

mouse_relative_motion = event.relative

func _physics_process(delta):

# --- 0. Iniciar o Mortal ---

# Assumindo que você tem uma ação "flip" configurada, e só pode dar mortal no chão.

if Input.is_action_just_pressed("flip") and not esta_dando_mortal and is_on_floor():

esta_dando_mortal = true

mortal_timer = 0.0

# Opcional: Reduzir a velocidade horizontal durante o mortal

velocity.x *= 0.5

velocity.z *= 0.5

# --- 0. Gerenciar o Power-up ---

if powerup_ativo:

powerup_timer -= delta

if powerup_timer <= 0:

powerup_ativo = false

print("Power-up de Velocidade Expirou!")

# --- 1. Processar o Mortal ---

if esta_dando_mortal:

mortal_timer += delta

if mortal_timer < TEMPO_MORTAL:

# Rotação Local no Eixo Z (Giro Lateral/Barrel Roll)

# Gira em um ângulo por frame para completar 720 graus em 0.5s (giro de 360)

var giro_por_frame = deg_to_rad(VELOCIDADE_GIRO_MORTAL) * delta

rotate_object_local(Vector3.FORWARD, giro_por_frame)


# Opcional: Aplicar impulso para frente durante o mortal

var impulso_frontal = transform.basis.z * VELOCIDADE_DE_CORRIDA

velocity.x = move_toward(velocity.x, -impulso_frontal.x, VELOCIDADE_DE_CORRIDA * delta)

velocity.z = move_toward(velocity.z, -impulso_frontal.z, VELOCIDADE_DE_CORRIDA * delta)


move_and_slide()

return # Sai do _physics_process para ignorar movimento normal e rotação da câmera

else:

# Fim do Mortal: Resetar rotação e estado

esta_dando_mortal = false

# Tentar resetar a rotação Z (Barrel Roll) para evitar que o player fique inclinado.

# Note: Se a rotação Y também tiver sido modificada, isso pode ser complicado.

var rot = rotation

rot.z = 0.0 # Redefine o roll

rotation = rot

# --- 2. Aplicar Gravidade e Pulo (Vertical) ---

if not is_on_floor():

velocity.y -= GRAVIDADE * delta

else:

if Input.is_action_just_pressed("jump"):

velocity.y = FORCA_DE_PULO

# --- 3. Capturar Inputs (Horizontal) ---

var input_dir = Vector2(

Input.get_action_strength("move_right") - Input.get_action_strength("move_left"),

Input.get_action_strength("move_back") - Input.get_action_strength("move_forward")

).normalized()

direcao = Vector3(input_dir.x, 0, input_dir.y)

# --- 4. Aplicar Velocidade Horizontal (e Corrida) ---

# Determina a velocidade atual:

var velocidade_atual = VELOCIDADE_DE_MOVIMENTO

if Input.is_action_pressed("run"):

velocidade_atual = VELOCIDADE_DE_CORRIDA # Aumenta a velocidade se Shift estiver pressionado

if direcao:

# Usa a direção rotacionada pelo corpo do jogador para o movimento

var rotated_direction = direcao.rotated(Vector3.UP, rotation.y)

velocity.x = rotated_direction.x * velocidade_atual

velocity.z = rotated_direction.z * velocidade_atual

else:

# Desacelera suavemente (parada) - Usa a velocidade de movimento base como limite de desaceleração

velocity.x = move_toward(velocity.x, 0, VELOCIDADE_DE_MOVIMENTO)

velocity.z = move_toward(velocity.z, 0, VELOCIDADE_DE_MOVIMENTO)

# --- 5. Aplicar Rotação da Câmera (Mouse Look) ---

if mouse_capturado:

# Rotação Horizontal (Eixo Y - Gira o corpo do Player)

rotate_y(-mouse_relative_motion.x * SENSIBILIDADE_MOUSE)

# Rotação Vertical (Eixo X - Gira o Pivot da Câmera)

cam_pivot.rotate_x(-mouse_relative_motion.y * SENSIBILIDADE_MOUSE)

# Limitar a rotação vertical (evitar virar a cabeça 360°)

var rot_x = cam_pivot.rotation.x

rot_x = clamp(rot_x, deg_to_rad(-80), deg_to_rad(80))

cam_pivot.rotation.x = rot_x

# Resetar o vetor do mouse (importante para evitar movimento residual)

mouse_relative_motion = Vector2.ZERO

# --- 6. Executar o Movimento ---

move_and_slide()

func _on_node_3d_ready() -> void:

# Inicializa o modo do mouse

Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)

# Garante que o cam_pivot foi encontrado (necessário se não usar @onready)

# Se você usou @onready acima, esta linha é redundante, mas segura:

if cam_pivot == null:

push_error("Nó 'Pivot' não encontrado! Verifique a estrutura da cena.")

pass # Replace with function body.















enemy
extends CharacterBody3D

# ******************************************************************************
# IMPORTANTE: Se a colisão com o Player estiver falhando (Ponto 1),
# verifique se as COLISION LAYERS e MASKS estão configuradas corretamente:
# 1. O Inimigo deve ter sua CollisionShape na Layer 2 (por exemplo).
# 2. O Player deve ter sua CollisionShape na Layer 1 (por exemplo).
# 3. O Inimigo (Mask) deve verificar a Layer do Player (Layer 1).
# 4. O Player (Mask) deve verificar a Layer do Inimigo (Layer 2).
# ******************************************************************************

# --- Constantes de Movimento e Comportamento ---
const VELOCIDADE_FUGA = 6.0 # Velocidade do inimigo ao fugir
const GRAVIDADE = 20.0       # Deve ser a mesma gravidade do jogador
const ACELERACAO = 15.0      # Quão rápido o inimigo atinge a velocidade máxima

# --- Lógica de Fuga ---
const DISTANCIA_MINIMA_DE_FUGA = 8.0 # Distância a partir da qual o inimigo começa a fugir (raio de percepção)
const DISTANCIA_MAXIMA_DE_PARADA = 15.0 # Distância máxima para parar de fugir e começar a desacelerar

# --- Lógica de Desvio de Parede (Raycasting) ---
const RAY_LENGTH = 1.25      # O quão longe o inimigo "olha" para evitar paredes
const RAY_ANGLE_OFFSET = 30.0 # Ângulo em graus para os raios laterais (30 graus à esquerda e direita)
const AVOIDANCE_TURN_SPEED = 1.5 # Quão rápido o inimigo vira para desviar

# --- Variáveis de Controle ---
# O alvo que o inimigo deve evitar (o Player)
@export var caminho_para_o_alvo: NodePath

var alvo: CharacterBody3D = null
var direcao_fuga = Vector3.ZERO

func _ready():
# 1. Tenta encontrar o alvo usando o caminho fornecido
if caminho_para_o_alvo and get_node_or_null(caminho_para_o_alvo) is CharacterBody3D:
alvo = get_node(caminho_para_o_alvo)
# 2. Fallback: Tenta encontrar o primeiro nó no grupo "player"
if alvo == null:
alvo = get_tree().get_first_node_in_group("player")
# 3. Diagnóstico: Se o alvo ainda for nulo, tenta encontrar o Player assumindo que é um nó irmão (ex: Player)
if alvo == null:
# Assume que o Player pode ser um nó com o nome "Player"
var player_node = get_parent().get_node_or_null("Player")
if player_node and player_node is CharacterBody3D:
alvo = player_node

if alvo == null:
print("ERRO CRÍTICO: O nó do Jogador (Alvo) não foi encontrado.")
print("Verifique se o nó do Player existe, se está no grupo 'player', ou se o 'caminho_para_o_alvo' está preenchido no Inspetor do Inimigo.")

func _avoid_walls(direction: Vector3, delta: float) -> Vector3:
if direction == Vector3.ZERO:
return direction
# Obtém o estado do espaço físico
var space = get_world_3d().get_direct_space_state()
var ray_origin = global_position
var turn_direction = 0.0 # -1 (esquerda), 1 (direita), 0 (reto)
# 1. Raio Esquerdo (Verifica paredes na diagonal esquerda)
var ray_left_vector = direction.rotated(Vector3.UP, deg_to_rad(RAY_ANGLE_OFFSET)).normalized() * RAY_LENGTH
var query_left = PhysicsRayQueryParameters3D.create(ray_origin, ray_origin + ray_left_vector)
var result_left = space.intersect_ray(query_left)
# 2. Raio Direito (Verifica paredes na diagonal direita)
var ray_right_vector = direction.rotated(Vector3.UP, deg_to_rad(-RAY_ANGLE_OFFSET)).normalized() * RAY_LENGTH
var query_right = PhysicsRayQueryParameters3D.create(ray_origin, ray_origin + ray_right_vector)
var result_right = space.intersect_ray(query_right)
# 3. Define a direção de giro com base nos raios
if result_left and not result_right:
# Bateu na esquerda, vira para a direita (positiva)
turn_direction = 1.0
elif result_right and not result_left:
# Bateu na direita, vira para a esquerda (negativa)
turn_direction = -1.0
elif result_left and result_right:
# Encurralado, tenta virar para uma direção aleatória (pode ser ajustado)
turn_direction = randf_range(-1.0, 1.0)
if turn_direction != 0.0:
# Rotaciona a direção de fuga suavemente para desviar
var rotation_angle = deg_to_rad(turn_direction * AVOIDANCE_TURN_SPEED) * delta * 60.0 # Multiplica por 60 para maior impacto
return direction.rotated(Vector3.UP, rotation_angle).normalized()

return direction # Retorna a direção original se não houver parede

func _physics_process(delta):
if alvo == null:
# Não faz nada se não houver alvo para fugir
return

# --- 1. Aplicar Gravidade (Vertical) ---
if not is_on_floor():
velocity.y -= GRAVIDADE * delta
# --- 2. Calcular Distância e Vetor de Fuga ---
var distancia_ao_alvo = global_position.distance_to(alvo.global_position)
direcao_fuga = Vector3.ZERO
if distancia_ao_alvo < DISTANCIA_MINIMA_DE_FUGA:
# *** LÓGICA DE FUGA ***
var vetor_evasao = (global_position - alvo.global_position).normalized()
direcao_fuga = vetor_evasao
elif distancia_ao_alvo > DISTANCIA_MAXIMA_DE_PARADA:
pass
# --- 3. Aplicar Desvio de Parede (Inteligência) ---
var direcao_final = _avoid_walls(direcao_fuga, delta)
# --- 4. Aplicar Movimento Horizontal (Aceleração/Desaceleração) ---
var target_velocity = direcao_final * VELOCIDADE_FUGA
velocity.x = lerp(velocity.x, target_velocity.x, delta * ACELERACAO)
velocity.z = lerp(velocity.z, target_velocity.z, delta * ACELERACAO)

# --- 5. Aplicar Rotação ---
if direcao_final != Vector3.ZERO:
# Rotaciona para olhar para onde está correndo (direção final)
look_at(global_position + direcao_final, Vector3.UP)
rotation.x = 0
rotation.z = 0
# --- 6. Executar o Movimento ---
move_and_slide()
# --- 7. DETECÇÃO DE COLISÃO E REINÍCIO DO JOGO ---
# Verifica se move_and_slide() causou alguma colisão.
for i in range(get_slide_collision_count()):
var colisao = get_slide_collision(i)
# Verifica se o corpo colidido é o alvo (Player)
if colisao.get_collider() == alvo:
print("COLISÃO DETECTADA! O inimigo atingiu o Player. Reiniciando o jogo...")
# Reinicia a cena atual
get_tree().reload_current_scene()
break # Sai do loop para evitar múltiplas colisões na mesma frame

# DIAGNÓSTICO: Imprime a velocidade para ver o que o script está tentando fazer.
print("Velocidade do Inimigo: ", velocity)
print("Está no Chão? ", is_on_floor())





SpeedBoost
# SpeedBoost.gd
extends Area3D

func _ready():
# Conecta o sinal 'body_entered' a uma função para saber quando algo colid
body_entered.connect(_on_body_entered)

func _on_body_entered(body: Node3D):
# Verifica se o corpo que entrou é o Player.
# Assumimos que o Player está no grupo "player" (melhor prática).
if body.is_in_group("player"):
# Tenta chamar a função de ativação do power-up no script do Player
if body.has_method("ativar_powerup_velocidade"):
body.ativar_powerup_velocidade()
queue_free()



quinta-feira, 13 de novembro de 2025

quinta-feira, 30 de outubro de 2025

Ativar Windows 11 pelo CMD

Windows 11 Pro
  • VK7JG-NPHTM-C97JM-9MPGT-3V66T
  • W269N-WFGWX-YVC9B-4J6C9-T83GX
  • MH37W-N47XK-V7XM9-C7227-GCQG9
  • NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J
  • 2B87N-8KFHP-DKV6R-Y2C8J-PKCKT
  • A269N-WFGWX-YVC9B-4J6C9-T83GX
  • ZK7JG-NPHTM-C97JM-9MPGT-3V66T
  • Q269N-WFGWX-YVC9B-4J6C9-T83GX
  • MRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J
  • 9FNHH-K3HBT-3W4TD-6383H-6XYWF
  • 6TP4R-GNPTD-KYYHQ-7B7DP-J447Y

Em seguida, execute o programa como administrador e siga os seguintes passos:

1 - Na primeira linha, insira o código: slmgr.vbs -upk, para remover chaves anteriores que possam ter sido instaladas.
2 - Posteriormente, digite slmgr /ipk XXXXX-XXXXX-XXXXX–XXXXX–XXXXX, onde os “X” devem ser substituídos pelos números correspondentes à chave selecionada.
3 - Insira o código slmgr/skms kms.digiboy.ir
4 - Por fim, escreva o código slmgr /ato




gslaranjeiras@outlook.com
GS@cursos1

Gestão de Energia - Desativar
Ativar o Windows 11 - Prof Aj
Cor FF5500 na personalização, Tema escuro também!
Ocultar barra de pesquisa e etc
Desafixar tudo na barra de tarefas MENOS Google Chrome e Windows Explorer
Configurar sites para iniciar o Google Chrome: Google - Prof Aj - GS Laranjeiras

Baixar e Instalar:
Google Chrome
Blender
Notepad++
GODOT
PyCharm
Chitubox
WinRAR
Steam
Riot Games
Epic Games
Battlenet
TLauncher
Roblox
Discord