Atividade 1 e 2 (Código AluGames concluido)
// Conjunto que armazena os IDs dos jogos atualmente alugados
const quantidade = new Set();
/**
* Função principal chamada para alterar o status do jogo (alugar ou devolver).
* Verifica se o jogo está alugado e confirma a ação com o usuário.
* @param {number|string} id - Identificador do jogo
*/
function alterarStatus(id) {
const gameElement = document.getElementById(`game-${id}`);
const imagem = gameElement.querySelector('.dashboard__item__img');
const botao = gameElement.querySelector('.dashboard__item__button');
if (isRented(imagem)) {
// Se já estiver alugado, confirma devolução
if (confirm('Você realmente quer devolver o jogo?')) {
devolverJogo(imagem, botao);
atualizarQuantidade(id, false);
}
} else {
// Se não estiver alugado, confirma aluguel
if (confirm('Deseja alugar o jogo?')) {
alugarJogo(imagem, botao);
atualizarQuantidade(id, true);
}
}
}
/**
* Verifica se a imagem do jogo contém a classe que indica que está alugado.
* @param {HTMLElement} imagem - Elemento da imagem do jogo
* @returns {boolean} - true se o jogo estiver alugado, false caso contrário
*/
function isRented(imagem) {
return imagem.classList.contains('dashboard__item__img--rented');
}
/**
* Aplica as classes e ajustes para indicar que o jogo foi alugado.
* Atualiza o texto do botão para "Devolver".
* @param {HTMLElement} imagem - Elemento da imagem do jogo
* @param {HTMLElement} botao - Elemento do botão relacionado ao jogo
*/
function alugarJogo(imagem, botao) {
imagem.classList.remove('dashboard__item_img');
imagem.classList.add('dashboard__item__img--rented');
botao.classList.add('dashboard__item__button--return');
botao.textContent = 'Devolver';
}
/**
* Remove as classes que indicam que o jogo está alugado e deixa como disponível.
* Atualiza o texto do botão para "Alugar".
* @param {HTMLElement} imagem - Elemento da imagem do jogo
* @param {HTMLElement} botao - Elemento do botão relacionado ao jogo
*/
function devolverJogo(imagem, botao) {
imagem.classList.remove('dashboard__item__img--rented');
imagem.classList.add('dashboard__item_img');
botao.classList.remove('dashboard__item__button--return');
botao.textContent = 'Alugar';
}
/**
* Atualiza o conjunto de jogos alugados adicionando ou removendo o ID,
* e exibe no console a quantidade atual de jogos alugados.
* @param {number|string} id - Identificador do jogo
* @param {boolean} alugado - true para adicionar (alugar), false para remover (devolver)
*/
function atualizarQuantidade(id, alugado) {
if (alugado) {
quantidade.add(id);
} else {
quantidade.delete(id);
}
console.log(`Jogos alugados: ${quantidade.size}`);
}
Atividade 3 - Verificar se uma palavra ou frase é um palíndromo:
essaPalavraEUmPalindromo()
function essaPalavraEUmPalindromo() {
let palavra = "live evil";
let separandoAsLetrasDaPalavra = palavra.split("");
console.log(separandoAsLetrasDaPalavra);
let palavraInvertida = separandoAsLetrasDaPalavra.reverse();
palavraInvertida = palavraInvertida.join("");
if(palavra === palavraInvertida) {
console.log(`A palavra ${palavra} é um palíndromo.`);
} else {
console.log(`A palavra ${palavra} não é um palíndromo.`);
}
}
Atividade 4 - Ordenar 3 números na ordem crescente:
function ordenarNumeros(a, b, c) {
const numerosOrdenados = [a, b, c].sort((x, y) => x - y);
console.log(`Números ordenados: ${numerosOrdenados.join(', ')}`);
}
// Exemplo de uso:
ordenarNumeros(9, 15, 2);