begin process at 2012 02 11 07:04:15
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > LE TRADITIONNEL JEU DU PENDU :)

LE TRADITIONNEL JEU DU PENDU :)


 Information sur la source

Note :
Aucune note
Catégorie :Jeux Classé sous :Jeu, Pendu, Débutant, Image, Traditionnel Niveau :Débutant Date de création :20/04/2008 Date de mise à jour :24/05/2008 17:40:24 Vu / téléchargé :7 105 / 327

Auteur : Bacterius

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

 Description

Cliquez pour voir la capture en taille normale
Bonjour,
voici un exemple du traditionnel jeu du pendu, avec quelques mots, et des images fabriquées par moi-même ... on ne rigole pas !

J'ai limité la taille des mots à 15 lettres, et minimum 3 lettres, mais ce n'est pas difficile d'augmenter la taille ;)

L'appli ne fait aucune différence entre les minuscules et les majuscules, donc peu importe (tout est mis en UpperCase à la vérification du caractère).

En revanche, il prend en charge les accents !

Important : Je n'ai pas protégé le code, mais si jamais une image de jeu n'est pas trouvée, l'appli se ferme (sauf l'image en couleurs). Donc pensez bien à mettre toutes les images dans *\Images\ ;)

Si la liste des mots n'est pas trouvée, l'appli ajoute quelques mots de base pour qu'on puisse jouer quand meme, et il recrée un nouveau fichier !


 Conclusion

Si vous avez des questions sur le source, des questions, des critiques, des commentaires, des remarques, des idées d'optimisation, des beugs, des conseils, etc ..., l'ajout de commentaire est fait pour ca ;)
Bonne programmation !

Cordialement, Bacterius !

 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

20 avril 2008 20:24:10 :
// Amélioration du code (bouton choix du mot)
21 avril 2008 21:56:32 :
- Optimisation du code partiel - Bouton choisir longueur du mot L'optimisation continue :) Désolé pour le zip, WinZip 9 ne prend pas en charge les dossiers ...
21 avril 2008 21:58:41 :
La capture d'écran n'a pas fonctionné (pas apparu sur le site)
21 avril 2008 22:05:57 :
Redéfini le zip et la capture, en esperant que ca marche
21 avril 2008 22:32:50 :
// Nouveau zip avec WinRar - il devrait contenir des dossiers :)
25 avril 2008 20:15:54 :
// Version 1.2 ! - Amélioration optimisation - Prise en charge tous accents - Allure générale améliorée ! Voila, qu'en pensez-vous ? Note : la capture d'écran n'est pas fameuse en JPEG ...
25 avril 2008 20:34:34 :
// Version 1.2 - Amélioration de l'optimisation - Prise en charge des 3 accents sur le 'E' (grave, aigu, circonflexe) - Allure générale améliorée ! PS : Les boutons peuvent varier en fonction de votre système d'exploitation [95, 98, XP, Vista ;) ] ^^
24 mai 2008 17:40:25 :
Version 1.3 : ce qu'elle apporte - Optimisation du code - Suppression des boutons variantes (dans le menu uniquement) car elles prenaient trop de place - DoubleBuffered sur panels et fiche - Nouvelle technique pour déplacer la fiche (utilisation messages Windows plutot que le calcul par la position de la souris) - ajout d'une fonction StrToIntSafe : qui permet de vérifier si le String est bien un nombre entier (pour éviter le bloc try-except dans la variante "choix de la longueur"), elle marche bien, elle pourra éventuellement vous être utile plus tard ! - on peut taper les lettres au clavier désormais ! Voila PS : je viens de remarquer que j'avais laissé une ToDoList pour mon usage perso en haut de l'unité : elle ne sert à rien, juste à me rappeller ce qu'il faut faire ^^ Je suis certain qu'il reste encore du travail à faire :s PS2 : désolé d'avoir pris autant de retard dans la mise à jour de ce source :/

 Sources du même auteur

Source avec Zip Source avec une capture RAYTRACING EN DELPHI (PROGRESSIVE PATH TRACING)
Source avec Zip Source avec une capture MOTEUR PHYSIQUE 2D CHIPMUNK.. EN DELPHI!
Source avec Zip Source avec une capture DOWNSAMPLING OU COMMENT BIEN OPTIMISER LE CODE
Source avec Zip Source avec une capture FACTORISATION ET TEST DE PRIMALITÉ 32 BITS ULTRA OPTIMISÉ
Source avec Zip LECTEUR DE FICHIER MULTIMÉDIA RIFF

 Sources de la même categorie

Source avec Zip JEU DE MOT MOTUS par philouchess
Source avec Zip Source avec une capture [LAZARUS] JEUX/LABYRINTHE : GENERATION ET RÉSOLUTION par timmalos
Source avec Zip Source avec une capture RUBIK'S CUBE par barbichette
Source avec Zip RUMMIKUB DES CHIFFRES CONTRE ORDINATEUR par Toidil
Source avec Zip Source avec une capture JEU D'ÉCHEC MAZETTE par ADMR

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture [LAZARUS] JEUX/LABYRINTHE : GENERATION ET RÉSOLUTION par timmalos
Source avec Zip JEU DU PENDU DES SAVANTS DE PHYSIQUE-CHIMIE par james le programmeur
Source avec Zip JEU DE LEDS par hello007
Source avec Zip LES POINTEURS : LE PETIT JEU DU SERPENT... par PyRuSs
Source avec Zip PENDU PR DÉBUTANT par LoOnEy

Commentaires et avis

Commentaire de Bacterius le 20/04/2008 18:54:47

J'ai oublié de préciser que cette source est faite sous Delphi 3.
Concernant la capture, elle a été prise avant les derniers arrangements du code. Donc certains détails peuvent avoir changé ;)

Cordialement, Bacterius !

Commentaire de John Dogget le 20/04/2008 19:36:18

Lu.

Quand tu n'as qu'une instruction dans une boucle, ce n'est pas utile de mettre un begin et un end autour de cette instruction.

Exemple :

for I := 0 to Length(usedword) - 1 do
begin
     WinW := WinW + WState.Cells[I, 0];
end;

-> Tu peux enlever le begin et le end, le compilo comprendra très bien ce que tu veux faire.

for I := 0 to Length(usedword) - 1 do
     WinW := WinW + WState.Cells[I, 0];

Ca reviens assez souvent dans ton code.

;)

Commentaire de John Dogget le 20/04/2008 19:38:31

Un autre truc aussi que je viens de voir

if FileExists(Dirr + 'Images\Pendu_8.jpg') = False

equivaut à

if not FileExists(...

Commentaire de John Dogget le 20/04/2008 19:40:04

Arf, t'as oublié de mettre les images dans le zip (pendu1,2 etc)

Commentaire de Bacterius le 20/04/2008 20:00:15

Bonjour,
oui je met toujours des begin et des end dans les boucles au cas ou il y aurait plusieurs lignes, mais yen a qu'une et j'ai oublié de les enlever :)
Et pour le FileExists, franchement, -_- quelle différence il y a t'il? Ca prend a peu pres la meme place et ca donne le meme resultat :) mais je m'en souviendrai, du not, ca peut tjrs etre utile.
Et j'ai bien mis les images dans le zip ! Elles sont toutes la, Pendu, Pendu_1, Pendu_2 ... Pendu_10.
Mais si on ne les a pas en téléchargement, demandez-moi je vous les envoie ;)

Sinon quesque tu penses du jeu John Dogget ?

Cordialement, Bacterius !

Commentaire de Bacterius le 20/04/2008 20:03:10

J'ai téléchargé le zip, il y a bien les images dedans. As-tu pensé à les mettre dans le dossier *\Images\
Ou * représente le dossier ou sera placé Pendu.exe, et éventuellement le code source ?
Il faut mettre dedans toutes les images jpg. ;)

Cordialement, Bacterius !

Commentaire de Bacterius le 20/04/2008 20:20:55

Voici une petite amélioration du jeu, maintenant l'utilisateur peut directement choisir le mot qui sera utilisé pour le jeu (si il veut défier un ami), et il peut choisir de l'ajouter à la liste ulterieurement !

Cordialement, Bacterius !

Commentaire de Bacterius le 20/04/2008 20:28:41

J'ai juste un petit problème avec la StringGrid, comment enlever le vilain surlignement bleu sur la première cellule ? je n'y arrive pas :(
Vous avez des idées ?
Merci d'avance

Cordialement, Bacterius !

Commentaire de cantador le 20/04/2008 21:02:29 administrateur CS

comment enlever le vilain surlignement bleu sur la première cellule ?
----
Var

GrVide : TGridRect;
begin
  GRVIDE.Left := -1;
  GRVIDE.Top := -1;
  GRVIDE.Right := -1;
  GRVIDE.Bottom := -1;
---

  StringGrid1.Selection := GRVIDE;

end;

Commentaire de Bacterius le 20/04/2008 21:10:08

Super ! Merci Cantador, ca change carrément tout le look de l'application :)

Cordialement, Bacterius !

Commentaire de cantador le 20/04/2008 22:52:03 administrateur CS

De rien Bacterius et continue à nous faire des petites choses
sympathiques comme çà..
bon courage

Commentaire de cirec le 21/04/2008 01:04:50 administrateur CS

il y a plein de petites erreurs dans ton code
l'utilisation de Application.Terminate est à proscrire
les procédure Button4Click à Button29Click peuvent et doivent se résumer à une seule procedure.

Il y a encore d'autre code répétitif que l'on peut supprimer.

on ne met qu'une seul instruction par ligne

J'ai fait une grande partie des modifications (mais pas tout^^)

si tu veux voir ce que ça donne donne moi une adresse Mail en MP et je t'enverrai le code ;)

en dehors de ces petites erreurs c'est pas mal tu progresses à petits pas ^^

Commentaire de JulioDelphi le 21/04/2008 10:34:44 administrateur CS

Dommage que les composants n'ai pas de noms... bt_a, bt_b, bt_c, ..., bt_z seraient bien mieux, idem pour les panels etc
pour les 26 procedures du genre :
procedure TForm1.Button29Click(Sender: TObject);
begin
     Button29.Enabled := False;
     GetChar('z');
     UpdateImg;
end;

pourquoi ne pas faire :
procedure TForm1.Bt_lettre_Click(Sender: TObject);
begin
     (Sender as TButton).Enabled := False;
     GetChar((Sender as TButton).Caption);
     UpdateImg;
end;

qui permettrais de gagner BEAUCOUP de place et de lisibilité, tu mets cette procedure sur tes 26 boutons de lettres.

Commentaire de JulioDelphi le 21/04/2008 10:38:08 administrateur CS

oula, je viens de voir une listbox minuscule en "visible := false" qui traine ! Si tu ne l'affiche pas, utilise une TStringList a la place !

Commentaire de Bacterius le 21/04/2008 18:01:48

Bonjour,
oui j'avais honte de la listbox ^^ alors j'ai décidé de tenter de la faire disparaître ^^'
Mais j'ai toujours des "Acces Violation" avec les TStrings (enfin on va essayer ;p) - Faut-il créer les TStrings avant de jouer avec ou pas ?
Merci pour vos conseils :)
Je vais essayer d'optimiser le code. Et puis JulioDelphi, merci pour le truc (Sender as ...) je ne connaissais pas. Je cherchais justement comment récupérer la variable composant à partir d'une chaîne de caractères :)

Merci à tous pour vos conseils !

Cordialement, Bacterius !

Commentaire de Bacterius le 21/04/2008 18:03:46

Ah aussi Cirec je t'envoie mon adresse mail par mp, et je regarderai ton optimisation après avoir fait la mienne, pour pouvoir comparer :) pour voir si je progresse bien !

Cordialement, Bacterius !

Commentaire de Bacterius le 21/04/2008 18:22:00

Ca y est j'ai trouvé le code magique pour faire fonctionner la TStringList : Attention les yeux !!

ListWords := TStringList.Create;

^^'

Cordialement, Bacterius !

Commentaire de Bacterius le 21/04/2008 20:36:01

Merci beaucoup Cirec j'ai reçu ton email, et j'avais terminé de faire mon optimisation. On a eu a peu près les mêmes idées, sauf sur l'histoire des tags. Et j'ai procédé un peu différemment pour la vérification des images, au début du programme.

Ton code :

if Not FileExists(Dirr + 'Images\Pendu_1.jpg') then
    FileError;
  if Not FileExists(Dirr + 'Images\Pendu_2.jpg') then
    FileError;
  if Not FileExists(Dirr + 'Images\Pendu_3.jpg') then
    FileError;
  if Not FileExists(Dirr + 'Images\Pendu_4.jpg') then
    FileError;
  if Not FileExists(Dirr + 'Images\Pendu_5.jpg') then
    FileError;
  if Not FileExists(Dirr + 'Images\Pendu_6.jpg') then
    FileError;
  if Not FileExists(Dirr + 'Images\Pendu_7.jpg') then
    FileError;
  if Not FileExists(Dirr + 'Images\Pendu_8.jpg') then
    FileError;
  if Not FileExists(Dirr + 'Images\Pendu_9.jpg') then
    FileError;
  if Not FileExists(Dirr + 'Images\Pendu_10.jpg') then
    FileError;


Mon code :

(Je déclare une variable "I" locale)

for I := 1 to 10 do if FileExists(Dirr + 'Images\Pendu_' + IntToStr(I) + '.jpg') = False then EventImageNotFound;

J'ai également placé cet évenement dans OnFormShow
Parce que j'ai pensé que si on le place dans FormCreate, il ne pourrait pas fermer l'application car elle n'aura pas commencé ^^'
Car dans le fichier projet, on crée les forms avant Application.Run
Mais je suppose que ca doit marcher dans FormCreate ^^

Je posterai la version optimisé bientôt

Au fait Cirec ^^' quand j'ai ouvert ton code optimisé, il était imbibé de ta version de Delphi, et donc tous les composants ont disparu ^^ sauf le shape et 2 boutons ... Mais j'ai quand meme le code :)
Ca me fera réécrire tout :p

Cordialement, Bacterius !

Commentaire de Bacterius le 21/04/2008 20:43:14

Ah aussi à propos du zip, j'ai que la version WinZip 7, et il ne prend pas en charge les dossiers à l'interieur du zip :(
Est ce que les .rar sont compatibles ici ?
Sinon je cherche une nouvelle version de WinZip :)

Cordialement, Bacterius ?

Commentaire de Bacterius le 21/04/2008 20:45:52

C'est bon j'ai téléchargé WinZip 9 :) J'espère qu'il les prend en charge

Cordialement, Bacterius !

Commentaire de cirec le 21/04/2008 21:23:24 administrateur CS

Désolé pour la version de Delphi ^^

"J'ai également placé cet évenement dans OnFormShow
Parce que j'ai pensé que si on le place dans FormCreate, il ne pourrait pas fermer l'application car elle n'aura pas commencé ^^'
"
c'est pas entièrement faux mais il faut penser que ce code sera exécuté à chaque affichage de la fiche ... donc je ne pense pas que ce soit le meilleur choix et tu as mis le doigt dessus tout seul car c'est effectivement pour cette raison qu'il faut quitter l'application par Application.Terminate
dans la procédure FileError^^

et je t'avais prévenu j'ai fait des modifications mais je t'ai laissé pas mal de boulot quand même ^^

Commentaire de Bacterius le 21/04/2008 22:03:22

Oui pas mal de boulot
J'ai posté une version intermédiaire, je continue l'optimisation néanmoins
La capture d'écran n'a pas fonctionné, c'est peut-être parce que c'est le même nom de fichier, je vais changer une lettre et réessayer.
J'ai oublié de préciser que cette version prenait en charge les accents (la lettre 'e' prend les accents aigu et grave) pas les circonflexe, je l'ai oublié - prochaine version.

:) L'optimisation continue

Cordialement, Bacterius !

Commentaire de Bacterius le 21/04/2008 22:33:55

Et voila j'ai utilisé Winrar il prend en charge les dossiers :)
Voila Cirec vous pourrez maintenant télécharger en toute sérénité :p

Cordialement, Bacterius !

Commentaire de Mowglinaute le 24/04/2008 18:03:06

Il est très bien ton jeu, je te donne la décoration du Grand Pingoin, allez bonne continuation à ta programmation.

Dr. Joseph

Commentaire de Bacterius le 25/04/2008 20:06:48

Bonjour, merci beaucoup Movglinaute :)
J'ai fini l'optimisation, j'ai beaucoup travaillé sur l'esthétique aussi ...
Voici la version 1.2 ^^
Je vais la poster dans les 10 minutes qui suivent ce commentaire !
Si vous avez des conseils ou des améliorations à faire, je vous ecoute ;)

Cordialement, Bacterius !

Commentaire de Bacterius le 25/04/2008 20:37:27

Re, je ne pourrai peut être pas poster le zip aujourdhui, Internet Explorer m'envoie un message 'Out of memory at line : 6', et tous les mots clés renvoient un message rouge expliquant les contraintes (3-100 caractères, 1 tiret, 1 espace) alors qu'elles sont respectées.
Désolé pour le double post, j'ai tenté de mettre le zip 2 fois.
Pourvu que ca marche ^^

Cordialement, Bacterius !

Commentaire de roustan38 le 28/04/2008 14:20:12

ça m'a l'air bien sympa tout ça ! bravo

Il y a t'il un moyen de voir la démo de ton jeu ?

Merci et bonne continuation

Commentaire de Bacterius le 28/04/2008 18:09:16

Bonjour,
je ne comprends pas bien ta question : une démo ?
normalement tu devrais pouvoir compiler et éxecuter sans problème. Mais si tu n'y arrives pas, je peux t'envoyer le zip avec l'éxecutable inclus par mail, envoie moi une adresse email par message privé.

Merci :)

Cordialement, Bacterius !

Commentaire de roustan38 le 28/04/2008 21:45:02

Ok autant pour moi je me suis trompée, je pensais qu'il s'agissait d'un script

pardon et merci

Commentaire de JulioDelphi le 02/05/2008 20:01:55 administrateur CS

ya 1001 choses à modifier dans le code ^^
Je suis en train d'en faire l'inventaire ... et c'est long :p
Mais pour un premier programme, c'est assez sympa donc je prends le temps de temps en temps de regarder ligne par ligne le code.
Je posterais les modifs à apporter des que j'aurais fini :p
En attendant, continue a le mettre à jour !

Commentaire de cirec le 02/05/2008 20:51:33 administrateur CS

oui et c'est bien dommage ...
j'avais déjà fait ce boulot et j'y ai passé du temps ....
et pratiquement rien n'a été fait :(

je suis déçu

Commentaire de JulioDelphi le 03/05/2008 10:29:27 administrateur CS

ha ... bon bah j'arrête alors.

Commentaire de cantador le 03/05/2008 11:26:44 administrateur CS

cirec le 21/04/2008 01:04:50 administrateur CS
.....
J'ai fait une grande partie des modifications (mais pas tout^^)
si tu veux voir ce que ça donne donne moi une adresse Mail en MP et je t'enverrai le code ;)
......
C'était écrit julioDelphi..
Mais faudrait aussi prendre compte que Bacterius a 14 ans et nous sommes au mois de mai...
Gageons que c'est quelqu'un que nous retrouverons bientôt.

cantador

Commentaire de cirec le 03/05/2008 12:59:56 administrateur CS

je n'en doute pas mais les corrections étaient servies sur plateau d'argent avec explications etc.

c'est juste mais tout le monde sait bien que c'est pas toujours facile de se plonger dans le code d'une autre personne (surtout avec plusieurs instructions par ligne) ... donc quand on le fait on s'attend quand même à ce qu'on tienne compte.

Voilà c'est tout c'est dommage de revoir les mêmes erreurs.

Commentaire de cantador le 03/05/2008 13:36:05 administrateur CS

çà la dessus, rien à redire :

cirec ou foxi, foxi ou cirec, vous êtes tous les deux particulièrement dévoués, rapides et
d'une efficacité redoutable.

Commentaire de cantador le 03/05/2008 13:45:22 administrateur CS

@cirec:
autre sujet :
ce code est classé sous :
Jeu, Pendu, Débutant, Image, Traditionnel
et quand on tape Pendu dans le moteur de recherche il ne retrouve rien...

???

Commentaire de cirec le 03/05/2008 14:01:17 administrateur CS

@Cantador:
pour l'aide oui j'essaye de rendre ce que le site m'a apporté (autant que faire ce peut)

Sinon pour la recherche:
avec comme mots clés "traditionnel jeu du pendu" on le trouve en première page ^^

avec pendu tout seul il ne trouve rien :(
mais un peut plus bas sur la page il te propose une recherche avec Google et la il le trouve et c'est même le premier de la liste

Commentaire de cantador le 03/05/2008 15:14:21 administrateur CS

@cirec:
oui j'avais vu pour google (on trouve tout sur ce machin..)
Pour le moteur du site, autrement dit il faut taper exactement le titre de la source ??

et quand on voit de temps en temps des titres de source plus ou moins alambiqués.

j'ai d'ailleurs à peu près le même souci pour retrouver des discussions sur le forum..

Bref, je m'interroge :

Le moteur de recherche, il sert encore à qlqchose ?

Commentaire de Bacterius le 24/05/2008 17:43:48

Bonjour,
désolé d'avoir pris trop de retard dans l'optimisation de ce source :(

J'espère avoir arrangé le code comme vous me l'avez conseillé [surtout cirec :) ], si jamais il manque des choses je l'arrangerai immédiatement :)
Merci et encore désolé :)

Cordialement, Bacterius !

PS : je ne sais pas si la capture d'écran ou la mise à jour du zip ont marché : ne commencez pas à crier, si jamais le zip n'a pas changé, faites-le moi savoir et je réessayerai ! :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

le pendu de jeu [ par zidan85 ] le programme de pendu de jeu en pascal Empiler des images & jouer avec la transparences ? [ par DeltaFX ] Voila mon pb :Je crée une interface pour un car-pc dont la partie graphique variera selon qu'il fait nuit/jour/crépuscules. Le calculs des heures de l Composant [ par selma-elec ] Bonjour à tous.j'ai un formulaire dans lequel, j'ai placé une image avec comme alignement alClient et Stretch.Ensuite j'ai placé sur ce formulaire à d COMPOSANT [ par selma-elec ] Bonjour à tous.J'ai une procedure qui sauve une image dans un fichier en utilisant WriteComponentResFile.Comment faire pour retrouver les valeurs Widt Bouton => image [ par thibaud28 ] bonjour, j'aimerai savoir s'il est possible d'afficher une image dans un label ? je souhaiterai que quand je clique sur un bouton dans mon label une i Codec - 02 [ par Filipe35 ] bonjour,est-il possible de lire une vidéo image par image ?quelle quelle soit .....merci Image d'affichage d'un composant [ par Sloridan ] Salut, J'aimerais savoir comment on peut changer l'image d'affichage d'un composant (pas son icone). Mon composant h&#233;rite de TGraphicsControl, do JEU DE DAMES EN RESEAU V3... [ par alvitano ] bonjour je viens de recuperer cette source: JEU DE DAMES EN RESEAU V3le probleme c' que je ne possede pas les comosants clientsocket et serversocket a Insérer une image dans une cellule d'un DrawGrid [ par kanuxxx ] Bonjour, Je suis en gal&#232;re depuis plusieurs heures sur un petit probl&#232;me qui doit avoir une solution simple - mais introuvable via google < Pro: Clciquer sur quelque chose en ne connaissant que sans 'image' [ par Filipe35 ] Salut,savez-vous comment faire pour cliquer sur un endroit de l'&#233;cran seulement en ayant une image de ce kil doit y avoir.Exemple:j'ai un JPG con


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 3,884 sec (4)

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