Código de Otros - El Ahorcado en Kotlin

<<>>
Imágen de perfil

El Ahorcado en Kotlingráfica de visualizaciones


Otros

Publicado el 19 de Noviembre del 2023 por Xcevhx
322 visualizaciones desde el 19 de Noviembre del 2023
El ahorcado o Hangman es un mini juego clásico en el cual se debe adivinar la palabra, desarrollado en lenguaje kotlin, a modo de practica, Obviamente es una primera versión, se puede mejorar, compartiré el codigo fuente que esta en mi GitHub por si quieren descargar el codigo y modificarlo a su gusto

ahorcado1
ahorcado2
ahorcado3

Codigo Fuente

https://github.com/x-cevh-x/ElAhorcadoKotlin

Requerimientos

Diccionario de Palabras



1
2
3
4
5
6
7
8
9
//Contenedor de palabras
class WordsContainer {
    val words = arrayListOf("serpiente", "hospital", "murcielago", "computadora", "televisor","mandarina","roblox","escuela","camiseta","cinturon")
    val rand = (0..< words.size).random()
 
    fun wordRandom(): String{
        return words[rand]
    }
}



Diccionario de graficos




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
class HangmanGraphic {
    val imagen = arrayListOf(
        """
            |¯¯|
            Ô  |
                 |
                 |
                 |
                 |
             ¯¯¯¯¯¯¯¯
        """.trimIndent(),
        """
            |¯¯|
            Ô  |
           /     |
                 |
                 |
             ¯¯¯¯¯¯¯¯
        """.trimIndent(),
        """
           |¯¯|
           Ô  |
          /|    |
                |
                |
             ¯¯¯¯¯¯¯¯
        """.trimIndent(),
        """
           |¯¯|
           Ô  |
          /|\   |
                |
                |
             ¯¯¯¯¯¯¯¯
        """.trimIndent(),
        """
            |¯¯|
            Ô  |
           /|\   |
                 |
                 |
             ¯¯¯¯¯¯¯¯
        """.trimIndent(),
        """
            |¯¯|
            Ô  |
           /|\   |
           /     |
                 |
             ¯¯¯¯¯¯¯¯
        """.trimIndent(),
        """
            |¯¯|
            Ô  |
           /|\   |
           / \   |
                 |
             ¯¯¯¯¯¯¯¯
        """.trimIndent()
    )
}

1.0

Publicado el 19 de Noviembre del 2023gráfica de visualizaciones de la versión: 1.0
323 visualizaciones desde el 19 de Noviembre del 2023
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Clase Ahorcado



Se encarga de ocultar la palabra y mostrar ciertos caracteres

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class hangMan {
 
    private val word = WordsContainer().wordRandom()
    var lettterList = mutableListOf<Char>()
    private var hidenword = mutableListOf<Char>()
 
 
    init {
        word.forEach { it-> lettterList.add(it)}
        lettterList.forEach{it->hidenword.add('_')}
    }
 
    fun showCharacter(): MutableList<Char>{
        var numLetter = (lettterList.size * 0.4).roundToInt()
        var posLetter: Int
        while (numLetter != 0) {
            posLetter = (0..<lettterList.size).random()
            if(hidenword[posLetter] == '_') {
                hidenword[posLetter] = lettterList[posLetter]
            }
            numLetter--
        }
        return hidenword
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
[title]Main Class[/title]
 
Este es el archivo que se encarga de iniciar el juego
 
[code]
fun main() {
    var vida = 0
    val hgm = hangMan()
    val img = HangmanGraphic().imagen
    val palabra = hgm.lettterList
    var miPalabra = hgm.showCharacter()
    var letrasIngresadas = mutableListOf<Char>()
    var letra: Char
 
 
 
    print("\n### ADIVINA LA PALABRA ###\n\n")
    do {
        println(img[vida])
        println("palabra: $miPalabra")
 
        print("que letra va: ")
 
        letra = readln().first()
        if (letra in palabra) {
            if (letra !in letrasIngresadas) {
                letrasIngresadas.add(letra)
                palabra.forEachIndexed { i, it ->
                    if(letra == it) {
                        if(letra != miPalabra[i]) {
                            miPalabra[i] = letra
                        }
                    }
                }
            }
            else{
                println("Ya intentastes con esta letra $letrasIngresadas")
            }
            if (miPalabra == palabra){
                println("Te felicito te has SALVADO, la palabra era: $palabra")
                break
            }
        }
        else{
            println("\nPilas la letra no esta en la palabran\n")
            ++vida
        }
        if (vida == 6){
            println()
            println("Perdistes estas AHORCADO")
            println(img[vida])
        }
 
    }while (vida < 6)
}
[/code]



Comentarios sobre la versión: 1.0 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7460