October 28, 2021, 12:44:04

Author Topic: [bb] Rhyme detection by Nebula [ 1+ years ago ]  (Read 2101 times)

Offline BlitzBot

  • Jr. Member
  • **
  • Posts: 1
[bb] Rhyme detection by Nebula [ 1+ years ago ]
« on: June 29, 2017, 00:28:39 »
Title : Rhyme detection
Author : Nebula
Posted : 1+ years ago

Description : When does a line rhyme? How does a computer know the difference between a normal line and a rhyming line?

The same end character count of words between character divisions. (right(x))


Code :
Code: BlitzBasic
  1. ;
  2. ; Crom Design.
  3. ;
  4. ; When does a line rhyme.
  5. ;
  6. ; Counts the last 3 characters of a word in a line.
  7. ; Double or higher.
  8. ;
  9. ; How would a robot know the difference?
  10. ;
  11.  
  12. ; Rijmt het of niet.
  13. ;
  14. ; Hoe slim kan een computer zijn?
  15. ;
  16. ; Een listing waarmee een computer kan weten of
  17. ; een tekst kan rijmen.
  18. ;
  19. ; De tel tussen spaties met de laatste 3 karakters.
  20. ;
  21. ; Hoe zou een robot dit kunnen weten?
  22.  
  23. ;
  24. AppTitle "Rijmt een regel."
  25.  
  26. SeedRnd MilliSecs()
  27.  
  28. Dim q$(10)
  29.  
  30. q$(0) ="A rhyming thing can sing"
  31. q$(1) ="A fine time to dine."
  32. q$(2) ="The sword was bought. Then it was brought to."
  33. q$(3) ="The word and the bird."
  34.  
  35. a$ = q(Rand(2))
  36.  
  37. z = coulditrhyme(a$)
  38. DebugLog a$
  39. ;
  40. If z=True Then Notify "This line may rhyme. '" + a$ + "'"
  41. If z=False Then Notify "This line may not rhyme. '" + a$ + "'"
  42.  
  43. Type end3
  44.         Field veld$
  45. End Type
  46. Type dubs
  47.         Field veld$
  48.         Field tel
  49. End Type
  50.  
  51. Function coulditrhyme(in$)
  52.         ;
  53.         For i = 1 To Len(in$)
  54.                 b$ = Mid(in$,i,1)
  55.                 If b$ = "." Then b$ = " "
  56.                 a$ = a$ + b$
  57.         Next
  58.         ;
  59.         in$ = a$
  60.         in$=in$+ " "
  61.         ;
  62.         For i=1 To Len(in$)
  63.                 If Mid(in$,i,1) = " "
  64.                         a$ = Mid(in$,i-3,3)
  65.                         this.end3 = New end3
  66.                         thisveld = a$
  67.                 End If
  68.         Next
  69.         ;
  70.         For thatto.end3 = Each end3
  71.                 a=0
  72.                 For thzt.dubs = Each dubs
  73.                         If thztveld$ = thattoveld$ Then
  74.                                 a=a+1
  75.                                 thzt    el = thzt       el + 1
  76.                         End If
  77.                 Next
  78.                 If a=0 Then
  79.                         z.dubs = New dubs
  80.                         If Len(thattoveld$) > 1
  81.                                 zveld$ = thattoveld$
  82.                         End If
  83.                 End If
  84.         Next
  85.         ;
  86.         For thot.dubs = Each dubs
  87.                 DebugLog thotveld$
  88.                 DebugLog thot   el
  89.         Next
  90.         ;
  91.         For thet.dubs = Each dubs
  92.                 If thet el > 0 Then Return True
  93.         Next
  94.         ;
  95. End Function


Comments : none...

 

SimplePortal 2.3.6 © 2008-2014, SimplePortal