Programme pour créer des anagrammes

Programmation d'applications complexes
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Programme pour créer des anagrammes

Message par blendman »

salut

J'en avais besoin pour mon jeu 3arks/Arkeos Chronicles, alors, je me suis fabirqué un petit programme pour créer des sortes d'anagrammes :

Code : Tout sélectionner

;{ anagramme 
; blendman 2011
; pb 4.60
;}

Enumeration 
  #G_Btn
  #g_btn_copy
  #G_listview
  #G_spin
EndEnumeration
#window =0
Global nbre.a = 10

OpenWindow(#window,0,0,300,400,"Blendman's Anagramme",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
ButtonGadget(#G_Btn,50,50,80,20,"Nouveau")
ButtonGadget(#g_btn_copy,150,50,80,20,"Copier")
ListViewGadget(#G_listview,50,100,100,200,#PB_ListView_MultiSelect)
SpinGadget(#G_spin,50,75,50,20,1,200)
SetGadgetText(#G_spin,Str(nbre))

Structure StLettre
  lettre$
  id.w
EndStructure

Procedure.s anagramme(nb.a=10)
  mot$ = InputRequester("mot","entrer le mot","")
  If mot$<>""
    ClearGadgetItems(#G_listview)
    Protected Dim Result.StLettre(Len(mot$)+1), NbFound.l
    For i = 0 To Len(mot$)-1
      result(i)\lettre$ = Mid(mot$,i+1,1)
    Next i 
    For n = 0 To nb-1
      For a = 0 To Len(mot$)   
        result(a)\id = 0
      Next a
      anagramme$ = ""
      For m = 0 To Len(mot$)        
        While result(m)\id = 0          
          x = Random(Len(mot$))
          If result(x)\id = 0
            result(x)\id = 1
            anagramme$ + result(x)\lettre$
          EndIf
        Wend  
      Next m
      AddGadgetItem(#G_listview,n,anagramme$)
    Next n    
  EndIf
EndProcedure
Procedure.s CopyAnagramme()
  txt$ = ""
  For u =0 To nbre
    txt$+GetGadgetItemText(#G_listview,u)+Chr(10)
  Next u  
  SetClipboardText(txt$)
EndProcedure

Repeat
  event = WaitWindowEvent(1)
  Select event
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #G_Btn
          anagramme(nbre)
        Case #g_btn_copy          
          CopyAnagramme()
        Case #G_spin
          SetGadgetText(#G_spin,Str(GetGadgetState(#G_spin)))
          nbre = GetGadgetState(#G_spin)
      EndSelect      
  EndSelect 
Until event = #PB_Event_CloseWindow
Il y a moyen d'ajouter des options, mais c'est déjà fonctionnel ;).
N'hésitez pas à le modifier et à poster vos changements si vous l'améliorez :)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Programme pour créer des anagrammes

Message par Ar-S »

Un de plus :)
Je te laisse jeter un oeil ici :wink:
http://www.purebasic.fr/french/viewtopi ... me#p133877
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Programme pour créer des anagrammes

Message par blendman »

en fait, mon petit programme ne fait pas la même chose ;).

Il crée juste des mots en inversant les lettres du mot que tu rentres, il ne résout pas un anagramme.
J'en ai besoin lorsque je veux par exemple créer des noms pour des villes ou des personnages qui seraient l'anagramme d'un autre mot.
Ca me donne plus d'idées des fois :D
Avatar de l’utilisateur
Mindphazer
Messages : 695
Inscription : mer. 24/août/2005 10:42

Re: Programme pour créer des anagrammes

Message par Mindphazer »

blendman a écrit : un anagramme.
Juste pour paraître tatillon : on dit une anagramme.
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Programme pour créer des anagrammes

Message par Ar-S »

Mindphazer a écrit :
blendman a écrit : un anagramme.
Juste pour paraître tatillon : on dit une anagramme.
Oh ba tiens je vais me coucher moins bête ce soire. J'ai toujours fait cette erreur !
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Programme pour créer des anagrammes

Message par Kwai chang caine »

on dit aussi un soir :lol: :lol:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre