LE TRADITIONNEL JEU DU PENDU :)

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 20 avril 2008 à 18:54
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 24 mai 2008 à 17:43
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46413-le-traditionnel-jeu-du-pendu

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
24 mai 2008 à 17:43
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 ! :)
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
3 mai 2008 à 15:14
@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 ?
Utilisateur anonyme
3 mai 2008 à 14:01
@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
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
3 mai 2008 à 13:45
@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...

???
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
3 mai 2008 à 13:36
çà 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.
Utilisateur anonyme
3 mai 2008 à 12:59
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.
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
3 mai 2008 à 11:26
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
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
3 mai 2008 à 10:29
ha ... bon bah j'arrête alors.
Utilisateur anonyme
2 mai 2008 à 20:51
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
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
2 mai 2008 à 20:01
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 !
roustan38 Messages postés 11 Date d'inscription vendredi 25 avril 2008 Statut Membre Dernière intervention 19 septembre 2022
28 avril 2008 à 21:45
Ok autant pour moi je me suis trompée, je pensais qu'il s'agissait d'un script

pardon et merci
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
28 avril 2008 à 18:09
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 !
roustan38 Messages postés 11 Date d'inscription vendredi 25 avril 2008 Statut Membre Dernière intervention 19 septembre 2022
28 avril 2008 à 14:20
ç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
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
25 avril 2008 à 20:37
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 !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
25 avril 2008 à 20:06
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 !
Mowglinaute Messages postés 41 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 27 février 2013
24 avril 2008 à 18:03
Il est très bien ton jeu, je te donne la décoration du Grand Pingoin, allez bonne continuation à ta programmation.

Dr. Joseph
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 avril 2008 à 22:33
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 !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 avril 2008 à 22:03
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 !
Utilisateur anonyme
21 avril 2008 à 21:23
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 ^^
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 avril 2008 à 20:45
C'est bon j'ai téléchargé WinZip 9 :) J'espère qu'il les prend en charge

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 avril 2008 à 20:43
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 ?
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 avril 2008 à 20:36
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 !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 avril 2008 à 18:22
Ca y est j'ai trouvé le code magique pour faire fonctionner la TStringList : Attention les yeux !!

ListWords := TStringList.Create;

^^'

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 avril 2008 à 18:03
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 !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 avril 2008 à 18:01
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 !
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
21 avril 2008 à 10:38
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 !
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
21 avril 2008 à 10:34
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.
Utilisateur anonyme
21 avril 2008 à 01:04
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 ^^
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
20 avril 2008 à 22:52
De rien Bacterius et continue à nous faire des petites choses
sympathiques comme çà..
bon courage
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
20 avril 2008 à 21:10
Super ! Merci Cantador, ca change carrément tout le look de l'application :)

Cordialement, Bacterius !
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
20 avril 2008 à 21:02
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;
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
20 avril 2008 à 20:28
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 !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
20 avril 2008 à 20:20
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 !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
20 avril 2008 à 20:03
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 !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
20 avril 2008 à 20:00
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 !
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
20 avril 2008 à 19:40
Arf, t'as oublié de mettre les images dans le zip (pendu1,2 etc)
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
20 avril 2008 à 19:38
Un autre truc aussi que je viens de voir

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

equivaut à

if not FileExists(...
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
20 avril 2008 à 19:36
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.

;)
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
20 avril 2008 à 18:54
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 !
Rejoignez-nous