| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- const palabras = ["gato", "perro", "pájaro", "elefante", "tigre", "ballena", "mariposa", "tortuga", "conejo", "rana", "pulpo", "ardilla", "jirafa", "cocodrilo", "pingüino", "delfín", "serpiente", "hámster", "mosquito", "abeja", "Porno", "negro", "television", "computadora", "botsito", "reggaeton", "economía", "electrónica", "facebook", "WhatsApp", "Instagram", "tiktok", "milanesa", "presidente", "bot", "películas",
- ]
- const intentosMaximos = 6
- const gam = new Map()
- function elegirPalabraAleatoria() {
- return palabras[Math.floor(Math.random() * palabras.length)]
- }
- function ocultarPalabra(palabra, letrasAdivinadas) {
- let palabraOculta = "";
- for (const letra of palabra) {
- if (letrasAdivinadas.includes(letra)) {
- palabraOculta += letra + " ";
- } else {
- palabraOculta += "_ ";
- }}
- return palabraOculta.trim();
- }
- function mostrarAhorcado(intentos) {
- const dibujo = [
- " ____",
- " | |",
- intentos < 6 ? " | O" : " |",
- intentos < 5 ? " | /" : intentos < 4 ? " | / " : intentos < 3 ? " | / \\" : intentos < 2 ? " | / \\ " : " |",
- intentos < 2 ? "_|_" : " |",
- ]
- return dibujo.slice(0, intentosMaximos - intentos).join("\n")
- }
- function juegoTerminado(sender, mensaje, palabra, letrasAdivinadas, intentos) {
- if (intentos === 0) {
- gam.delete(sender);
- return `❌ ¡Perdiste! La palabra correcta era: ${palabra}\n\n${mostrarAhorcado(intentos)}`;
- } else if (!mensaje.includes("_")) {
- let expGanada = Math.floor(Math.random() * 300); //fáciles
- if (palabra.length >= 8) {
- expGanada = Math.floor(Math.random() * 3500); //difíciles
- }
- global.db.data.users[sender].exp += expGanada;
- gam.delete(sender);
- return `¡Que pro Ganaste 🥳! Adivinaste la palabra "${palabra}".\n\n*Has ganado:* ${expGanada} Exp.`;
- } else {
- return `${mostrarAhorcado(intentos)}\n\n${mensaje}`;
- }}
- let handler = async (m, { conn }) => {
- let users = global.db.data.users[m.sender]
- if (gam.has(m.sender)) {
- return conn.reply(m.chat, "Ya tienes un juego en curso. ¡Termina ese primero!", m)
- }
- let palabra = elegirPalabraAleatoria()
- let letrasAdivinadas = []
- let intentos = intentosMaximos
- let mensaje = ocultarPalabra(palabra, letrasAdivinadas)
- gam.set(m.sender, { palabra, letrasAdivinadas, intentos })
- let text = `¡Adivina la palabra:\n\n${mensaje}\n\nIntentos restantes: ${intentos}`
- conn.reply(m.chat, text, m)
- }
- handler.before = async (m, { conn }) => {
- let users = global.db.data.users[m.sender]
- let juego = gam.get(m.sender)
- if (!juego) return
- let { palabra, letrasAdivinadas, intentos } = juego
- if (m.text.length === 1 && m.text.match(/[a-zA-Z]/)) {
- let letra = m.text.toLowerCase()
- if (!letrasAdivinadas.includes(letra)) {
- letrasAdivinadas.push(letra)
- if (!palabra.includes(letra)) {
- intentos--
- }}
- let mensaje = ocultarPalabra(palabra, letrasAdivinadas)
- let respuesta = juegoTerminado(m.sender, mensaje, palabra, letrasAdivinadas, intentos)
- if (respuesta.includes("¡Perdiste!") || respuesta.includes("¡Ganaste!")) {
- conn.reply(m.chat, respuesta, m)
- } else {
- gam.set(m.sender, { palabra, letrasAdivinadas, intentos })
- conn.reply(m.chat, respuesta + `\n\nIntentos restantes: ${intentos}`, m)
- }} else {
- let mensaje = ocultarPalabra(palabra, letrasAdivinadas);
- let respuesta = juegoTerminado(m.sender, mensaje, palabra, letrasAdivinadas, intentos)
- conn.reply(m.chat, respuesta, m)
- gam.delete(m.sender)
- }}
- handler.help = ['ahorcado']
- handler.tags = ['game']
- handler.command = ['ahorcado']
- handler.register = true
- export default handler
|