Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Codes sources à télécharger Delphi Discussion :

Jeux de Loto


Sujet :

Codes sources à télécharger Delphi

  1. #1
    Rédacteur/Modérateur

    Jeux de Loto
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Jeux de Loto

    Je vous propose ce source écrit sous RIO 10.3.3 FMX
    Le but premier était de montrer, de manière ludique, une utilisation d'un tirage combinatoire pour un simple Bingo. (élément déclencheur cette proposition de source)

    Mais je me suis pris au jeu et fait d'autres grilles en appliquant deux techniques différentes :

    -des TGridPanelLayouts pour Bingo et Loto Familial

    - des Frames pour les bulletins du loto FDJ.



    À cela s'est rajouté un TextToSpeech tout récent pour l'annonce des boules tirées.
    Mon regret, Linux "échappe" à la voix suave, j'ai donc laissé l'utilisation de fichiers ressources (mais je n'ai pas enregistré tous les numéros et ma voix est nettement moins égréable ) et un mediaplayer

    Qu'en pensez-vous ?
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  2. #2
    Membre émérite
    Merci Serge, mais à la compil, il me manque BingoFMX.dres ?

    A+
    Charly

  3. #3
    Rédacteur/Modérateur

    Bonjour,

    j'y remédierai dès que possible car en voulant le faire, non seulement j'ai supprimé le fichier zip mais je n'ai pu le recharger car :

    Nous procédons actuellement à une opération de maintenance afin d'améliorer nos services. La situation reviendra à la normale très prochainement.
    [Edit] J'ai trouvé un chemin détourné pour mettre le zip au téléchargement

    Je ne savais pas que ce fichier serait nécessaire, d'ailleurs à quoi sert-il, je croyais qu'avoir fourni le fichier .rc aurait suffi.
    Si ce n'était pour Linux, les ressources seraient carrément inutiles mais, bon, j'ai plusieurs idées en tête pour m'en passer :
    • Pprem m'avait suggéré une base SQLite, en effet seul windows utilise vraiment les ressources pour les autres OS chaque fichier son est déployé;
    • De mon côté je pensais un seul fichier à découper deux pistes à suivre mais je vais d'abord tenter une capture de sons par programme;
    • À moins qu'une "amélioration" du code de Grijjy soit possible?
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  4. #4
    Membre émérite
    Merci Serge, ça marche maintenant.

    Belle interface que j'ai testé en Win32

    Sinon petit Acess violation :

    ouverture du programme, affichage de la carte , sélection de 3 cartes dans Nb Cartes, retour au tirage, Tirage ==> Plantage (dans l'IDE)

    Je ne sais pas si c'est général, mais avec FMX j'ai vu beaucoup d'access Violation par exemple avec ZXing (pour coder et décoder les QRCodes) téléchargé sur Github. Le chargement de certains bitmap représentant des codes bar provoquent cette erreur. Je ne sais pas comment tracer l'erreur.

    A+
    Charly

  5. #5
    Rédacteur/Modérateur

    Citation Envoyé par Charly910 Voir le message

    Belle interface que j'ai testé en Win32
    Et encore, je n'ai pas mis de style

    Sinon petit Acess violation :
    ouverture du programme, affichage de la carte, sélection de 3 cartes dans Nb Cartes, retour au tirage, Tirage ==> Plantage (dans l'IDE)
    Bien vu, en fait il faut changer le nombre de cartes puis faire un reroll (le bouton à côté) des cartes
    C'est un truc que j'ai oublié, que la modification du nombre implique automatiquement le reroll des cartes

    Je ne sais pas si c'est général, mais avec FMX j'ai vu beaucoup d'access Violation
    Là c'est totalement ma faute, en plus j'y avais pensé mais pas noté dans les todos je l'ai oublié

    correction ajouter l'évènement
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TMainUnit.nbrCartesChangeTracking(Sender: TObject);
    begin
    btnCartesClick(Sender);
    end;

    je vais procéder à la mise à jour du zip

    je vais d'abord tenter une capture de sons par programme;
    ça c'est fait, avec très peu d'astuce : un programme qui utilise le TextToSpeech et une boucle

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    uses System.DateUtils, System.Math;
     
    procedure TMainForm.FormCreate(Sender: TObject);
    begin
      FTextToSpeech := TgoTextToSpeech.Create;
    end;
     
    procedure TMainForm.Button1Click(Sender: TObject);
    var
      I: Integer;
      t : TDateTime;
      gap : cardinal;
    begin
    for I := 1 to 90 do
      begin
        t:=now;
        FTextToSpeech.Speak(Format('le %d',[i]));
        Gap:=MillisecondsBetween(now,t);
        gap:=2000-gap;
        sleep(gap);
      end;
    end;

    L'exécution capturée par l'enregistreur de Windows 10.
    Si quelqu'un à une idée pour enregistrer par le programme de W10 je prends

    De mon côté je pensais un seul fichier à découper
    Cette piste n'est pas bonne, le MediaPlayer FMX, différe du MediaPlayer VCL qui permettait un StartPos, EndPos

    gag, du coup je vais découper le fichier obtenu pour le faire (utilisation de Audacity)
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  6. #6
    Rédacteur/Modérateur

    Bonjour,

    Aujourd'hui nouvelle version Bingo v2 n'utilisant plus de fichier ressources mais, si besoin, une base de données SQLite contenant les divers sons.

    Le bogue signalé a bien sûr été corrigé par la même occasion.

    Note : Je n'ai pas pu tester le déploiement sous Ubuntu (du moins la partie son, sinon cela fonctionne)
    et n'ayant aucun objet avec la pomme, si un jour, quelqu'un prend le temps de le faire, merci à lui de le signaler
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  7. #7
    Membre émérite
    Bonjour,

    Citation Envoyé par SergioMaster Voir le message

    Note : Je n'ai pas pu tester le déploiement sous Ubuntu (du moins la partie son, sinon cela fonctionne)
    et n'ayant aucun objet avec la pomme, si un jour, quelqu'un prend le temps de le faire, merci à lui de le signaler
    Je viens de tester et ça fonctionne bien sur mon MacBook pro. Il faut juste penser à rajouter le fichier libcgsqlite3.dylib dans les déploiements, et le mettre dans le répertoire Contents\MacOS\ Après ça roule. Seul petit détail : il n'y a pas le traditionnel menu Fichiers. Enfin il y est mais sans titre, il faut ajouter un tmenubar pour le faire apparaitre correctement.

    Sinon, c'est sympa ce petit jeu.

    @++
    Dany

  8. #8
    Rédacteur/Modérateur

    Bonjour,

    Il faut juste penser à rajouter le fichier libcgsqlite3.dylib dans les déploiements, et le mettre dans le répertoire Contents\MacOS\
    Merci du retour.
    Seul petit détail : il n'y a pas le traditionnel menu Fichiers. Enfin il y est mais sans titre, il faut ajouter un tmenubar pour le faire apparaitre correctement.
    ça c'est le genre de chose que je ne pouvais deviner
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  9. #9
    Membre régulier
    Bonjour,

    Merci pour cet jeu addictif et complet

  10. #10
    Membre du Club
    très belle évolution
    Bonjour SergioMaster et bravo pour le boulot réalisé!

    Je te remercie d'avoir cité ma modeste source sur le tirage au sort, comme élément déclencheur, c'est vraiment sympa!
    Cela dit, le boulot réalisé est très impressionnant pour moi, et inaccessible à mon niveau actuel, je le concède.

    Je n'ai pu cependant éviter de parcourir le code, pour tenter de comprendre de petits morceaux en toute modestie.

    Si j'ai bien compris, les annonces vocales des nombres, sont en fait des fichiers mp3, stockés sour forme "blob" dans la bdd "sons".
    Où as-tu trouvé ces enregistrements au départ?
    Connais-tu une "amie à la voix suave" assez patiente pour enregistrer toutes ces annonces... je doute un peu, ou bien y-a-t-il des sites qui proposent par exemple ces annonces de chiffres, nombres, lettres ou mots ou bruitages, enregistrés de manière aussi "propre" et posée, à la disposition de programmeurs éventuels?

    PS : la lecture de la liste de source delphi par date d'ajout fonctionne-t-elle? j'avoue que pour ma part, elle semble sans effet.

    Quoi qu'il en soit, merci pour les réponses si tu as le temps et encore "Chapeau Bas! pour le travail réalisé"

  11. #11
    Rédacteur/Modérateur

    Bonjour
    Citation Envoyé par patdu26 Voir le message
    bravo pour le boulot réalisé!
    Merci
    Citation Envoyé par patdu26 Voir le message
    Je te remercie d'avoir cité ma modeste source sur le tirage au sort, comme élément déclencheur, c'est vraiment sympa!
    Sans ta question de départ je n'aurai jamais pensé à ce genre d'application donc c'est normal

    Si j'ai bien compris, les annonces vocales des nombres, sont en fait des fichiers mp3, stockés sour forme "blob" dans la bdd "sons".
    Où as-tu trouvé ces enregistrements au départ?
    C'est pas tout à fait ça. Si le texttospeech est possible alors les annonces sont faites via le module donc cela concerne Windows, MAC, IOS et Android
    La base de données n'est utilisée que pour la version Linux, l'unité trouvée ne gérant pas cet OS.

    Pour obtenir les voix à mettre dans la BDD, j'ai d'abord concocté un programme qui énonçait les nombres (l'unité ajoutée ne permet pas de passer à d'autres voix donc je me suis retrouvée avec "l'amie à la voix suave", exécuté ce programme en utilisant l'enregistreur windows puis découpé l'enregistrement obtenu en séquences qu'un second programme a intégré dans la bdd.
    Bref pas mal de processus mal ficelé, car je ne sais pas comment enregistrer un son à partir d'une application.

    y-a-t-il des sites qui proposent par exemple ces annonces de chiffres, nombres, lettres ou mots ou bruitages, enregistrés de manière aussi "propre" et posée, à la disposition de programmeurs éventuels?
    J'ai cherché mais non je n'ai pas trouvé, après avoir trouvé l'unité texttospeech j'en suis resté là. Bien sûr il reste les API Google ou Micosoft (payantes et compliquées)
    Mais voilà une idée de programme assez sympa à faire , je songeais déjà à trouver comment enregistrer le son, utiliser la bliothèque SvoxPico (Linux) pour m'affranchir de la BDD, cela pourrait faire un joli petit machin

    [Edit] c'est que fait ESpeak que je trouve pas terrible
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd