begin process at 2010 02 10 08:48:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > DES DÉS ...

DES DÉS ...


 Information sur la source

Note :
Aucune note
Catégorie :Jeux Classé sous :dés, jeux, hasard, random, objet Niveau :Débutant Date de création :28/04/2009 Date de mise à jour :02/05/2009 15:11:05 Vu / téléchargé :1 500 / 243

Auteur : f0xi

Ecrire un message privé
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Source exemple pour une question sur le forum :

petit programme permettant de simuler un lancer de dés :
1D6
2D6
3D6

avec ou sans animation.


 Conclusion

Delphi 2009 inside.


renomer le "des.ex_" en "des.exe" si vous n'arrivez pas a compiler.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

02 mai 2009 15:11:06 :
correction de l'utilisation de la PNGLib pour plus de compatibilité entre les vieux delphi et les recents.

 Sources du même auteur

Source avec Zip DYNAMIC LIBRARY LOADER CLASS: GAGNEZ DU TEMPS POUR CHARGER L...
Source avec Zip BASE64/BASE64URL ENCODE/DECODE
Source avec Zip NEXTGENS -> UNITÉS DE TYPES ÉVOLUÉS NOUVELLE GÉNÉRATION (DE...
Source avec Zip SIMPLES SOMME DE DONNÉES 8, 16, 32, 64 BITS
Source avec Zip CHAINLISTS, LISTE CHAINÉE

 Sources de la même categorie

Source avec Zip Source avec une capture JEU DE DÉS ZORG6 par dubois77
Source avec Zip Source avec une capture JOUEZ : LIGHTS 1.4 par JulioDelphi
Source avec Zip Source avec une capture JEU DE DAME DELPHI 7 par aom333
Source avec Zip JEU RAMI DES CHIFFRES SOLITAIRE par Toidil
Source avec Zip JEU DE TAQUIN par JCLESAGE

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture JEU DE DÉS ZORG6 par dubois77
Source avec Zip Source avec une capture UNE MACHINE À SOUS par debiars87
Source avec Zip CARDS GAME SDK 1.0.0.0 par f0xi
Source avec Zip Source avec une capture AVATARS IN MADNESS par cantador
Source avec Zip SIMULATEUR DE MACHINE DE CASINO par serafin lampion

Commentaires et avis

Commentaire de JulioDelphi le 28/04/2009 19:21:22 administrateur CS

Ce code de qualité me fait toujours aussi halluciner !
Par contre à la place de :

fRollTime : cardinal;

et plus bas :

  if fRollTime < 1000 then
fRollTime := 1000
else
if fRollTime > 5000 then
fRollTime := 5000;

Pourquoi ne pas mettre un type :

TRollTime = 1000..5000;

puis

fRollTime : TRollTime;

Aussi, dans init et finalize, ne peut-on pas utiliser des boucles ? je me pose la question, je n'ai jamais essayé j'avoue, je ne sais meme pas si on peut déclarer des var.

Allez pour la route, je suis tatillon :

with Canvas do
Draw(0,0,PicDes[fResult-1]);

Un with pour une seule utilisation ? Etonné tu me vois maitre JEDelphI

;)

Commentaire de hichem123123 le 28/04/2009 19:57:26

ca marche pas

Commentaire de JulioDelphi le 28/04/2009 20:31:37 administrateur CS

"ca marche pas"
hahahaha la phrase que je deteste le plus au monde je crois, après avoir été hotliner et maintenant développeur, le retour des recetteur me disant "ca marche pas" me fait pisser :]
Bref, tu as un message d'erreur ? Qu'as tu fait ? Qu'est ce que ça devrait faire normalement d'apres toi pour que "ca marche"
Développe quoi sérieusement ...

Commentaire de hichem123123 le 28/04/2009 21:07:17

je suis désoler oui j ai un message d'erreur , si je tes écrit sa marche pas c' est parce que  j ai pas trouver fRollTime : cardinal; merci. et bon courage.

Commentaire de f0xi le 29/04/2009 01:40:31 administrateur CS

@Julio
fRollTime = cardinal parce que Timer.Interval = cardinal
tout simplement.

pour le with canvas do draw()
oui inutile pour une seule instruction, mais au depart j'avais utiliser une autre methode plus longue et donc, le with est résté ... pas trop grave en fait.

dans init et finaliz on peu bien sur utiliser des boucles, mais ayant deboucler les boucles ... ceci explique cela.


@Boulet ... heu pardon ... Hichem
Normal que ça ne marche pas, je n'ai pas mis l'API MsJambes dans le programme.
hahaha

ce serait bien de decrire plus precisement le probleme.

Commentaire de Forman le 29/04/2009 12:22:13

Rigolo ce source.

J'avoue que j'ai eu un peu peur au début (quand j'ai vu le principe du "lanceur de dé") mais le code est nickel, et on a même droit à un nouveau composant pour l'occasion :-)

Les animations rament un peu chez moi. Je crois que c'est dû à l'affichage des images png qui prend du temps. Peut-être que ça serait mieux de les décompresser sur un TBitmap (qui lui, est optimisé pour la vitesse) au moment du lancement du prog?

Commentaire de f0xi le 29/04/2009 13:28:11 administrateur CS

ça rame ?!

la je suis etonné, car on tourne entre 2 a 9 image/s, si ça saccade c'est peut etre pour ça.
pour ce qui est des png, le detail qui tue : un png c'est comme un bmp + une couche alpha et compréssé en sortie avec ZLib (un zip en quelque sorte).
d'ou la qualité et la petite taille.

j'utilise souvent les png, dans la plupart de mes sources, notement mastermind ou pazu. personne, même Debiars, ne m'ont jamais rapporté que ça ramer.

Commentaire de Bacterius le 29/04/2009 13:30:25

Design très sobre et très propre, code qui me fait toujours autant apprendre :)

@Forman : Ah, enfin un PC plus lent que moi ! Même avec un ventilo défoncé ça rame pas chez moi ... mais quel genre de ralentissement ? Les images se dessinent ligne par ligne (comme quand tu fermes un programme en boucle infinie et que le bureau réapparaît petit à petit) ou bien les temps de changement d'image sont saccadés ?

@JulioDelphi : il est possible d'utiliser des boucles dans les initialisations/finalizations, en déclarant comme variable globale la variable de boucle. Tu peux aussi faire une boucle infinie (while True) et la casser dès que tu as fini tes itérations (même si ça revient au même car tu auras besoin d'une variable pour compter où tu en es).

Par contre sous D6 j'ai pas pu compiler, trop de problèmes avec les unités PNG, je parie qu'elles sont écrites exclusivement pour D7 et + ... Mais c'est pas grave on peut toujours lire le code, et on a même un executable !

Cordialement, Bacterius !

Commentaire de Bacterius le 29/04/2009 13:32:02

@f0xi : mais alors si je comprends bien un PNG c'est un bitmap 32 bits avec des métadonnées en plus, et compressé avec ZLib ? Lol ... Mais est-ce seulement le bloc "IDAT" (image data) qui est compressé, ou tout le fichier ? Une question qui me taraude depuis bien longtemps ...

Cordialement, Bacterius !

Commentaire de Forman le 29/04/2009 14:06:25

Au temps pour moi, je viens de réessayer et ça ne rame plus du tout.

Peut-être que mon antivirus était en train de se mettre à jour au moment où j'ai essayé la première fois...

J'ai regardé l'unité png et effectivement il semble que ça passe par un TBitmap (avec une propriété canvas). Ca m'apprendra à ne pas tout lire avant de commenter!

Commentaire de Debiars le 29/04/2009 17:01:45

Comme tu m'as fait l'honneur de citer mon nom, je me sens obligé d'y aller de mon petit commentaire.

Je présume que ta prestation est un exercice de style, car pour faire un tirage de dés, il y a moyen de faire plus simple pour un résultat identique.

Heureusement, tu as joint l'exécutable, car pas moyen de compliler, plein de trucs inconnus dans pnimage ???

Cordialement, comme dirait... mais qui donc ?

Commentaire de f0xi le 30/04/2009 00:00:33 administrateur CS

Yo les mecs ! :)

bon par ou commencer :

@All : On peut remplacer l'unité PngImage fournie par une version plus ancienne, compatible D6/D7, l'unité fournie etant celle de Delphi 2009.
il suffirat de remplacer TPNGImage par TPNGObject, le fonctionnement reste le même.

@Bacterius :
PNG compresse et la couche alpha et les pixels, le restant est en clair dans le fichier. exactement comme si on compréssait les bytes d'un BMP aprés l'offset 56 (soit les pixels de couleurs).

@Debiars :
Oui mon vieil ami! cela peut etre fait de façon plus simple et aussi de façon plus polyvalente en incluant par exemple les D4, D8, D20, D50, D80, D100 ...
mais bon ...
Il s'agit bien sur d'un exercice de style. un cas d'ecole incluant animation, images, initialization, classe objet, evenements, composant, logique booléenne etc. un programme complet donc.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Jeux du type serpent... [ par g0belin ] Ben voila, je souhaiterai faire un jeu comme le serpent du Nokia (principe simple bouffe souris=grandis)mais je ne sais pas comment faire le serpent e Changer position d'un objet [ par fabiin ] Salut,je voudrai changer la position d'un objetmais sans utiliser .Top ou .Leftavecune fonction genre SetWindowPos, mais poour les objets Merci @+Fabs Traducteur Delphi please ! [ par minipod ] Un sympatique delphinaute m'a dit de faire ceci pour résoudre mon problème. Le problème c'est que je sais pas faire çà en Delphi. Est-ce que quelqu'un Procedure avec un objet Automation [ par flo2102 ] Bonjour a tous!!Voila je voulais savoir si il existe une procedure qui permettent de mettre du code qui s execute a la fermeture d'un objet Automation Debugger et jeux récent! [ par Don0Choa ] Bonjour, voila j'ai voulu installer 2 jeux tres réssent(Mafia et Age OfEmpre qui ne sort que le mois prochain) , mais apres l'installation, lorsque je Conseil pour Moteur 3D [ par dami ] Bonjour a tous .Je développe actuellement un jeux de stratégie 3D temps réel. J'ai décidé d'importer les objects via un loader 3ds que j'ai fais, je l Création dynamique d'objet - Gestion des evenements [ par fram ] Bonjour,Quelqu'un peut il me dire comment associer une procédure à un evenement d'un objet créé dynamiquement?Merci Application dans un TOLEContainer [ par freud2000 ] Bonjour, j'a créés une application Delphi avec un objet TOLEcontainer qui affiche des documents Word grace à la commande suivante : OleWord.CreateObje TDBGrid et son affichage [ par anseis ] Bonjour,Tout d'abord merci d'être aussi prolixe en sources tutoriaux et autres explications très utiles. Ma question porte sur l'affichage de données Saut, jeux [ par lan0sic ] Bonjour,J'aimerait fair bouger une image, comme si c'etait un type qui saute. (donc l'image doit monter et redecendre). Eseque quelqu'un pourrait m'ai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales