SCRABBLE

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 23 juil. 2007 à 18:21
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 - 31 juil. 2007 à 11:14
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/43548-scrabble

cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
31 juil. 2007 à 11:14
JRIVET : Mode espion, tu l'as déja quand tu fais Menu/solution, il suffirais d'afficher toutes les solutions et non la meilleure. Effectivement cela pourrais se faire en 'asynchrone' comme dans le mode duplicate ou l(ordinateur et le joueur jouent en même temps.
Pour le PS : je verife régulierement les mots ,ils sont bien dans l'ODS et parfois pas dans le dictionnaire courant (il faudrais parfois se demander d'ou sortent ces mots......) :)

Marco62118 :
(Dans la ClsGrille)

je parcours le plateau jusqu'à la première lettre trouvée -> ChercheLettre

Par contre une fois une lettre trouvée ,
Je recherche les mots horizontaux pouvant etre placés au dessus de cette lettre -> ComputeZoneHaut
Je recherche les mots horizontaux pouvant etre placés sur la meme ligne que cette lettre -> ComputeZoneCentrale
Je recherche les mots horizontaux pouvant etre placés au dessous de cette lettre -> ComputeZoneBas

Tu trouveras le processus d'appel à ces fonctions dans la fonction TrouveSolution de la classe.
N'hesite pas .

Cordialement à tous.
Megafan
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
30 juil. 2007 à 08:41
Salut,
Je suis toujours dessus :)

J'ai eu quelques idées en y jouant chez moi qu'en pensez vous:

- Faire une option "Espion" en Mode Solo (mais pas uniquement en Solo d'ailleurs). cette option consisterait à utiliser à chaque tour (caché pour l'utilisateur) la commande qui recherche la meilleure solution avec nos lettres (et ce suivant tout les niveaux de difficulté). Ainsi à la fin de la partie il pourrait apparaitre une fenêtre avec les meilleurs scores possible pour cette partie ce qui permettrais de se faire une idée de notre niveau. (j'espère que je suis assez clair)

- L'idée d'avant a conduit à avoir celle ci: Avoir l'historique des meilleurs coups calculés ci dessus pour pouvoir faire un "REPLAY" sur la partie avec deux grilles; l'une montrant nos coups et l'autre les coups qui aurait du être joué pour avoir le meilleur score.


Voilà.
Bon je vais essayer d'améliorer ma Classe de Socket pour pouvoir jouer à plus de 2.

@+
Julien
PS: ou trouver A COUP SUR les définitions des mots utilisés, car parfois le PC me sort des mots de derrière les fagots, mais j'aimerais connaitre la signification du mot.
marco62118 Messages postés 35 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 25 juin 2015
27 juil. 2007 à 22:45
bonsoir
encore une petite question avant tes vacances
je n'arrive pas à voir comment tu as procédé pour rechercher tes solutions , voilà comment moi j'ai procédé et jaimerai avoir ton avis dessus :
je parcours le plateau jusqu'à la première lettre trouvée je cherche les mots faisables avec cette lettre et le chevalet et vérifie ce qui est mettable sur le plateau, je cherche aussi s'il est possible aussi de juxtaposé à cette lettre un mot vertical je fait ça pour toutes les lettres posée et dans tous les sens possibles mais ceci deviens trop long.
est ce que dans ton programme à chaque coup tu trouves toutes les solutions possibles et imaginables qu'il est possible de faire
en tout cas merci bonne nuit et bonne vacances
Profil bloqué
27 juil. 2007 à 21:13
Je possède une version commerciale du jeu et je trouve que cette version amateur en VB est plus qu'acceptable : allez 10/10 car c'est mérité. Bravo
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
26 juil. 2007 à 14:21
Re,
Ca y est j'ai développer un petit mode réseau.. on n'arrête pas au taf en cette grande période de vacances...
Encore merci pour cette source.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 juil. 2007 à 13:30
Le zip complet est ici:
http://bnmvp.free.fr/cs/vb43548.zip
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
26 juil. 2007 à 09:52
Bonjour,
Houla que voila beaucoup de travail pour moi qui espérait naivement que le programme etait fini...
J'ai commencé quelques modifs:
Jack et JRivet : Je ne connaissais pas MZTools, super pour les variables et fonctions inutiles.

Set G = New ClsGrille
DrawGrille
Set G = Nothing

Je n'ai pas vu de différence si on l'enlève.

--> Effectivement cela n'a plus lieu d'etre car la grille est déja à l'ecran apres l'appel de InitAffichage.

Pour le gros du travail (RENFIELD et JACK), je pars en congé Vendredi soir pendant 3 semaines et sans PC ! youpi ! A voir pour tout cela à la rentrée.

Pout la mise en reseau et si vous etes adeptes du Scrabble, je vous recommande WordBiz avec lequel j'ai commencé à analyser le protocole qui est relativement simple.

Pour marco62118 :

Effectivement la recherche dans un dictionnaire est la partie (pour moi) la plus interessante du programme, apres multes essais j'ai fais des recherches sur le net et la methode conseillee lors de la recherche de solution sur un ensemble important d'objet est la methode de l'arbre.
Je te conseille de regarder la classe Dico et de comprendre comment la vérification d'un mot ne prend que quelques millisecondes meme sur un dictionnaire de 370 000 mots.
La seconde 'astuce' tu la trouveras dans le module Anagramme ou tu pourras t'apercevoir qu'il n'est pas necessaire de construire toutes les solutions ex : sur un mot de 8 lettres il n'est pas necessaire de construire et de vérifier les mots commencants par AAxxxxxx puisque dans l'arbre du dictionnaire il n'existe pas de fils à AA.
Voila pour te lancer dans les sources.

Cordialement à tous
Megafan
marco62118 Messages postés 35 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 25 juin 2015
25 juil. 2007 à 19:22
Bonjour
pour moi novice en programmation tout me parait impeccable!!!
j'ai déjà commencé le même jeu, ce qui m'intéressait le plus c'est les solutions de l'ordinateur, j'ai un peu abandonné vu la lenteur des solutions trouvées!
Apparemment tu as certainement une bien meilleur méthode de travail!
Est ce que tu pourrais expliquer littéralement les différentes phases du développement de ton jeu car je ne suis pas assez féru en programmation pour suivre ligne par ligne ton programme et en tirer la philosophie de ton programme.
bravo encore
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 juil. 2007 à 08:17
Re,
Alors j'ai regardé un peu le code et:

- J'ai regarde sur mon portable avec une résolution de 1280 * 800 la disposition et la taille du plateau et de la feuille devrait être calée sur celle de 1024 * 768 sinon on ne peut pas jouer.

- Les remarques n'engagent que moi :)
- ne pas utiliser les propriétés par défaut des contrôles mais préférer .Text ou .Caption dans la mesure du possible.
- Utiliser VbNullString au lieu de ""
- Dans Form_Load du Main je ne vois pas l'intérêt de

' Afficher une grille vide dans le fond (pour faire joli)
Set G = New ClsGrille
DrawGrille
Set G = Nothing

Je n'ai pas vu de différence si on l'enlève.

- Nettoyer le code des variables qui ne servent à rien (déjà remarqué par Jack)
- Manque de commentaires.

A part ca cela reste toujours aussi plaisant à jouer.

Voyons voir la version jouable en réseau.

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
24 juil. 2007 à 21:59
J'ai fait quelques parties contre le CPU avec le dico entier, çà DEPOTE GRAVE ;)

Quelques bugs :
- un crash (désolé pour la reproduction du bug, je ne sais plus. Mais je crois que c'était entre la fin de la refléxion du CPU et le début du chrono)
- quand on clique sur "Changer dictionnaire", le Caption du frame n'est pas le bon (c'est écrit "Choix du niveau...." au mieux de "Choix du dictionnaire")

Quelques idées en tas ^^ :
- comme l'a dit Renfield, pouvoir savoir si le mot existe au fur et à mesure qu'on le tappe (au passage c'est bien d'avoir pris en compte la touche Entrée dans les Textboxes)
- changer la couleur de fond (j'aime pas trop le bleu foncé ni le jaune :p M'enfin, question de goût ^^)
- je préfère la police Tahoma ^^
- mettre dans la zone de texte de la fenêtre Anagramme les lettres que l'on a par défaut
- créer un fichier *.manifest au démarrage si nécessaire (par exemple avec le module de classe de PCPT) pour avoir le style XP (ou bien utiliser mes controles stylés XP !! ^^)
- optimisations de compilation dans les propriétés du projet
- mettre un fenêtre "Table" (ou une zone de l'écran) où sont affichées les correspondance Point/Lettre pour ceux qui ne les connaissent pas par coeur
- plutôt que mettre la liste des lettres restantes, mettre celle des lettres déjà sur le plateau + celles en possession du joueur, avec l'information du nombre total de chaque lettre (exemple : A - 2/9)
- raccourcis dans les menus (F2 pour nouveau jeu...etc) ainsi que sur les boutons
- ne pas mettre en pause le chrono quand on affiche par exemple la Form de changement de lettres, ou bien cacher le plateau (sinon on peut réfléchir à l'infini...)
- proposer un mode CPU vs CPU (marrant à voir)
- utilise le bouton "Centrer horizontalement" dans l'éditeur de Form pour placer tes controles de manière symétrique
- proposer une recherche de solutions "par critères" (exemple : le plus de points, mot le plus long, utilisation obligatoire de telle ou telle lettre...etc)


Bon courage et bravo !
@+
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
24 juil. 2007 à 18:52
Agréablement étonné de la qualité de l'ouvrage, félicitations.
Efficace et agréable graphiquement (à part le texte noir sur son bleu qu'à souligné Maitre Renfield.
Si tu veux de l'aide concernant l'option "jeu en réseau", je suis a ta disposition.
Va falloir reflechir à :
- qui distribue les lettres - à mon avis chaque poste peut s'en occuper, du moment qu'après distribution, la liste des lettres restante est rediffusée aux autres.
- synchro des chronos/joueurs - relativement simple
- Emission/réception de la grille - simple aussi
- Augmenter le nombre de joueurs potentiels
- Nommer les joueurs - pseudos - en début de partie
- Jeu sur réseau privé, pas de grande difficulté, j'ai ce qu'il faut pour n'avoir besoin d'aucun paramétrage de la part des utilisateurs
- Jeu en réseau sur internet, prévoir serveur ? ou de joueur à joueur (l'un d'eux héberge)
...
Les idées ne manquent pas !
Beau travail

Si tu utilises MzTools, tu verras que pas mal de variables définies ne servent pas = petit coup de nettoyage
apxa Messages postés 188 Date d'inscription mercredi 15 mai 2002 Statut Membre Dernière intervention 25 avril 2009
24 juil. 2007 à 14:54
Iop all,
Très bonne source, bravo.
J'en avais fait un en java, et par rapport à celà je m'étais inspiré non un d'un classic scrabble mais du wordox basé sur les mêmes règles à la différence que l'on peut prendre le point de la d'un autres joueurs lorsques colle un mot à sa lettre ou tous les points de son mot lorsque l'on complete son mot par une lettre.
Très fun à plusieurs.

Have Fun.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 juil. 2007 à 14:33
très interessantes, je ne sais pas, c'est ce que j'ai trouver rapidement...
l'appli est assez complète, c'est assez rare pour être souligné, donc autant pousser MegaFan un peu plus loin, il semble en avoir la capacité.

jrivet> Pour corser ou alléger la difficulté pour des joueurs moins expérimentés...
avoir plus de R,S,T,L,N ou de E, par exemple. (ou de X, K, Z et W si vous êtes mazos^^)
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
24 juil. 2007 à 14:25
Re,
les Propositions de Renfield, sont comme d'habitude très intéressantes, et ils est vrai qu'elles apporteraient énormément.
(a une seule près => Possibilité de personnaliser le contenu du sac (nombre de lettres) quel est l'intérêt??)
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 juil. 2007 à 14:23
pas possibilité pour l'appli de générer une fois pour toutes ces dictionnaires (ou de les telecharger) en se basant sur le web ? (ou de jouer avec un dico en ligne)
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 juil. 2007 à 14:19
pas mal...
peu regardé le code, uniquement pour la lenteur du Load.

quelques conseils
- ne jamais faire de loading ou de traitements longs dans le Form_Load.
fais le test suivant :
- ajoutes un Timer (Interval 1 ; Enabled false)
- dans ton Form_Load, appelle FrmSplash.Show puis InitAffichage
ensuite, active le Timer. Dans le code du Timer,
tu désactive le Timer, et tu recolles simplement
tout le code qui se trouvais a la suite, dans Form_Load (en placant
tout au debut le parametrage des colonnes de GridHistorique).
Ca aura pour effet d'avoir un chargement instantané !!!
- Maintenant que ton code est en ligne, tu peux mettre l'URL de ta source dans l'About
- Ajoutes des raccourcis clavier dans tes menus (+ les caractères soulignés)
- Ajoutes la gestion de la touche entrée et Echap dans tes ecrans de parametres, etc
- En ouvrant la fenetre d'anagrammes, on pourrait avoir la liste des lettres que nous possédons..
- dans la fenetre d'anagrammes, on voit en bas "mots en - s". c'est pas très joli...
- Noir sur bleu marine, on ne voit pas bien les messages texte.
tu as choisi de ne pas utiliser de MsgBox, tu peux faire un truc sympa visuellement...
- suggestions pour le gameplay :
- Ajouter un deuxieme chevalet, pour composer les mots
- Double Click sur les lettres : les placer a la suite du deuxieme chevalet
- Vu que la partie peut etre chronométrée, faudrait un bouton Pause (avec masquage du jeu et des lettres
bien evidemment) ^^
- Possibilité de personnaliser le contenu du sac (nombre de lettres)
- + un moyen pour déplacer le mot en entier sur le plateau
(avec egstion des lettres deja présentes, et de l'orientation du mot, sympa, hein ^^)
- la recherche dans le dictionnaire est rapide. La fonction qui permet de vérifier les mots pourrait
etre faite au fur et a mesure que le texte saisi est modifié (evenement _Change, quoi )
- Click sur 'Solution' > ce serait bien d'ajouter un bouton 'Jouer ce coup'
- peut etre inscrire les mentions 'x2' 'x3' pour ceux qui comme moi ne connaissent pas le plateau par coeur
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
24 juil. 2007 à 14:08
EBartSoft : Merci encore pour ton compliment j'en suis reellement flaté connaissant la grande qualité de tes sources.

Renfield : Effectivement cela ferait gagner un peu de place , mais la taille du .zip sans les dictionnaire n'est que de 298 Ko donc cela ne va pas le faire, car juste avec l'ODS (dictionnaire offciel du Scrabble Français), le zip passe à 1 390 Ko.....

Je vais essayer de trouver de la place sur Internet pour l'Uploader (rapidement et pendant une grande durée car généralement c'est 3 mois) ou si exceptionellement un Admin peu le placer sur VBFrance cela faciliterait bien la vie :)

Cordialement

Megafan
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 juil. 2007 à 13:56
je cromprend mieux ta question posée sur la taille des Zips :p

FrmPics.frx => 2.49 Mo

tu devrais placer tes images en erssources externes, en un format autre que le BMP utilisé dans les .frx, tu y gagnera en place dans ton .zip
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
24 juil. 2007 à 13:53
Megafan > C'est une belle source un beau programme il serait dommage de n'en laisser qu'une seule partie. Je ne peux malheureusement rien te proposer pour le moment mais tu peux tres bien laisser le lien en telechargement qui sera un complement de la source sur vbfrance.

Merci pour ta comprehension et bonne continuation

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
24 juil. 2007 à 13:50
Salut, excellente source (jouable solo contre le CPU, çà j'adore).
J'ai survolé légèrement le code, c'est bien organisé et très lisible. Manque juste quelques commentaires ^^

Je note 10/10 bien sur !
@+
LeCarpiste Messages postés 37 Date d'inscription mardi 8 janvier 2002 Statut Membre Dernière intervention 26 mars 2008
24 juil. 2007 à 09:58
Excuse, je suis passé entre deux ! Effectivement, çà m'interesse beaucoup !
Manque plus que le jeu multijoueur en réseau, et là, de longues soirées d'hiver en perspective !!!

çà semble vraiment sympa !
Bonne continuation !
Le Carpiste !
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
24 juil. 2007 à 09:49
Salut LECARPISTE : j'ai enlevé les sources du site d'upload, et misent sur VBFrance avec un dictionnaire réduit...
Contactez-moi pour les dictionnaires complets si le jeu vous interesse
Megafan
LeCarpiste Messages postés 37 Date d'inscription mardi 8 janvier 2002 Statut Membre Dernière intervention 26 mars 2008
24 juil. 2007 à 09:44
Salut,

Semble interessant, mais impossible de trouver le zip de téléchargement ?

Bonne continuation !
Cordialement
LeCarpiste
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
24 juil. 2007 à 08:46
Salut,

EBartSoft : Merci du compliment je l'accepte à sa juste valeur.
JRivet : En mode Duplicate tu peux bouger tes pions pendant que l'ordinateur refléchi, en mode normal il est plus ou moins interdit de le faire (règle).
Pour les sources , cela me fend le coeur d'anlever tout ou partie des dictionnaire afin que le source puisse etre uploadé sur VBFrance, mais je vais y travailler

Cordialement

Megafan
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
24 juil. 2007 à 08:12
Salut,
pour le peu que j'en ai vu c'est très agréable à jouer.
Mais il est vrai qu'il faut rapidement mettre les sources ICI.
Une petite remarque. Lorsque l'ordinateur réfléchit pourquoi ne pas laisser au joueur la possibilité de déplacer ses lettres (au moins sur son chevalet) pour chercher aussi en parralèle

Sinon vraiment bien fait.
A voir le code maintenant.
@+
Julien
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
23 juil. 2007 à 21:23
Je trouve ça super ! Mais il est vrais qu'il faut au moins que tu pose ton code ici, c'est les regles du site.

Merci

@+
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
23 juil. 2007 à 18:21
Salut,

Il faudrait que tu mettes au moins les sources sur le site, quitte a donner un autre lien qui pointe vers toutes les autres ressources.
Autrement, scrabble etant une marque déposée, il faut que tu trouves un autre nom pour ta source ;)
Rejoignez-nous