No es un ejemplo nuevo. En revistas como la Microhobby hubo una aplicación la que se llamaba, caos histórico
o algo parecido en la que se conjugaban frases históricas o momentos historicos y salían toda clase de disparates.
Como amante del caos (no tanto) y de los disparates, nada mejor que crear un generador de frases.
Lo podéis adaptar y crear peores frases locas. Incluso mejorarlo para frases que usen articulo femenino y masculino.
Como mínimo he visto una aplicación como esta dos veces. Era típica de la época.
Private articulos As String[] = ["El", "Un"]
Private sujetos As String[] = ["gato", "hombre", "perro", "pajaro"]
Private verbos As String[] = ["cantó", "bailó", "saltó", "corrió"]
Private adverbios As String[] = ["ruidosamente", "tranquilamente", "silenciosamente", "bien", "mal"]
Private frase1 As String[][] = [articulos, sujetos, verbos, adverbios]
Private frase2 As String[][] = [articulos, sujetos, verbos]
Private frase As String
Public Sub Main()
Randomize
Ejemplo()
End
Public Sub Ejemplo()
Dim n As Integer
Dim tipo_frase As Integer
Dim tipo As String[]
For n = 0 To 4
tipo_frase = Int(Rand(1))
Select Case tipo_frase
Case 1
For Each tipo In frase1
frase &= tipo[Int(Rnd(0, tipo.Max))] & " "
Next
Case 0
For Each tipo In frase2
frase &= tipo[Int(Rnd(0, tipo.Max))] & " "
Next
End Select
frase &= "\n"
Next
Print frase
End
Private sujetos As String[] = ["gato", "hombre", "perro", "pajaro"]
Private verbos As String[] = ["cantó", "bailó", "saltó", "corrió"]
Private adverbios As String[] = ["ruidosamente", "tranquilamente", "silenciosamente", "bien", "mal"]
Private frase1 As String[][] = [articulos, sujetos, verbos, adverbios]
Private frase2 As String[][] = [articulos, sujetos, verbos]
Private frase As String
Public Sub Main()
Randomize
Ejemplo()
End
Public Sub Ejemplo()
Dim n As Integer
Dim tipo_frase As Integer
Dim tipo As String[]
For n = 0 To 4
tipo_frase = Int(Rand(1))
Select Case tipo_frase
Case 1
For Each tipo In frase1
frase &= tipo[Int(Rnd(0, tipo.Max))] & " "
Next
Case 0
For Each tipo In frase2
frase &= tipo[Int(Rnd(0, tipo.Max))] & " "
Next
End Select
frase &= "\n"
Next
Print frase
End
Una salida podría ser algo como esta:
Citar:
Ya veis. Un perro que baila y un hombre que baila silenciosamente. Todo un prodigio!.
He de decir que este ejemplo lo habré sacado de algún libro de Python. Pero ya no recuerdo cual.
Probando otra vez...
Citar:
Un perro que canta!.
Claro que esta es mejor...
Citar:
Toma del frasco..
Lógicamente que pueda parecer un disparate (Para nadaaaaa). Se podrían crear frases con más sentido.
Saludos