Jeux de Loto

Présentation
Je vous propose ce source écrit sous RIO 10.3.3 FMX
Le but premier était de montré une utilisation d'un tirage combinatoire pour un simple Bingo.
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. (vous m'excuserez, je ne joue pas et ne suis pas au fait de la présentation exacte des grilles)

À cela s'est rajouté un TextToSpeech tout récent pour l'annonce des boules tirées.
Seul Linux "échappe" à la voix suave, j'ai donc laissé l'utilisation de fichiers ressources et un mediaplayer
Téléchargement
Compatibilité
Android iOS Linux Mac Windows
4  0 
Téléchargé 20 fois Voir les 10 commentaires
Détails
Catégories : Divers
Avatar de Serge Girard
Rédacteur / Modérateur
Voir tous les téléchargements de l'auteur
Licence : LGPL
Date de mise en ligne : 18 mai 2020




Avatar de skywaukers skywaukers - Membre émérite https://www.developpez.com
le 26/05/2020 à 0:02
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
Avatar de Charly910 Charly910 - Membre émérite https://www.developpez.com
le 16/05/2020 à 18:21
Merci Serge, mais à la compil, il me manque BingoFMX.dres ?

A+
Charly
Avatar de SergioMaster SergioMaster - Rédacteur/Modérateur https://www.developpez.com
le 17/05/2020 à 7:44
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?
Avatar de Charly910 Charly910 - Membre émérite https://www.developpez.com
le 17/05/2020 à 11:19
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
Avatar de SergioMaster SergioMaster - Rédacteur/Modérateur https://www.developpez.com
le 17/05/2020 à 15:33
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
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
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)
Avatar de SergioMaster SergioMaster - Rédacteur/Modérateur https://www.developpez.com
le 18/05/2020 à 10:23
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
Avatar de SergioMaster SergioMaster - Rédacteur/Modérateur https://www.developpez.com
le 26/05/2020 à 6:43
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
Avatar de lefju cabro lefju cabro - Membre régulier https://www.developpez.com
le 27/05/2020 à 12:07
Bonjour,

Merci pour cet jeu addictif et complet
Avatar de patdu26 patdu26 - Membre du Club https://www.developpez.com
le 02/06/2020 à 10:24
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é"
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.