JEU DE DAMES UNIVERSEL EN SOLITAIRE

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 - 11 oct. 2008 à 01:13
cs_medkarim Messages postés 18 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 19 mars 2014 - 13 oct. 2008 à 23:07
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/48169-jeu-de-dames-universel-en-solitaire

cs_medkarim Messages postés 18 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 19 mars 2014
13 oct. 2008 à 23:07
j'ai verifier chez moi, j'ai m^me retelechargee la source. y a pas d'erreur.

cette erreur veut dire que RulesID ne correspond pas à la definition de la proprieté

alor va dans le control Board du projet Cheker. verifie si la propriéte rulesid existe ou si elle n a pas ete renommée.

le code correcte
'identifiant régles du jeu lecture/ecriture
Public Property Get RulesID() As Integer
RulesID = m_RulesID
End Property

Public Property Let RulesID(ID As Integer)

Select Case ID
Case 1
Set Rules = New American
Case 2
Set Rules = New Classic
Case 3
Set Rules = New International
Case 4
Set Rules = New Spanish
End Select

If m_RulesID <> ID Then 'si les regles ont changé
LoadSquares
BuilBoard

End If
m_RulesID = ID
End Property
Chrysostome Messages postés 121 Date d'inscription vendredi 17 octobre 2003 Statut Membre Dernière intervention 14 octobre 2016
13 oct. 2008 à 12:26
J'obtiens une erreur de compilation sur le form load de test.vbp:

Private Sub Form_Load()
RulesMnu(Board1.RulesID - 1).Checked = True
iCheckedRulesMnu = Board1.RulesID - 1
Me.Caption = App.Title & " " & RulesMnu(Board1.RulesID - 1).Caption
End Sub

RulesID: Method or data member not found

Merci de ta réponse et de ton travail. La note viendra après.
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
12 oct. 2008 à 17:35
tout est possible chez microsoft
cs_medkarim Messages postés 18 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 19 mars 2014
12 oct. 2008 à 17:14
je pense que vb2005 utilise la technologie MTS au lieu de COM+
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
12 oct. 2008 à 01:47
microsoft transaction server??
j'ai pas installé ce truc
je pense que l'erreur vient de vb2005 qui n'accepte pas toujours très bien les ocx ( technologie ancienne)
cs_medkarim Messages postés 18 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 19 mars 2014
12 oct. 2008 à 00:15
c'est bizzare, j'ai pas trouver beaucoup de monde qui rapporte ce type d'erreur.

En attendant que je poste le rectificatif tu met dans les proprité générale du control activeX le modele de thread sur un seul thread

tu essay j'ai pas MTS don pas de blem chez moi. tu me tient au courant.
cs_medkarim Messages postés 18 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 19 mars 2014
11 oct. 2008 à 23:47
OK c'est bon. j 'essay de corriger et je reposte
plus d'info sur l'erreur 406 http://support.microsoft.com/kb/192681/fr

l'erreur est du microsoft transaction server.
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 oct. 2008 à 22:37
c'est ça qui bloque le jeu
je viens d'essayer
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 oct. 2008 à 22:35
en plein jeu??
cs_medkarim Messages postés 18 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 19 mars 2014
11 oct. 2008 à 21:28
A Gilardg
Si tu a compiler le prog , je vois à peu prés le problème. en principe si on clic droit sur le damier une fenetre a propos devrait apparaitre

Essay pour voir.
cs_medkarim Messages postés 18 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 19 mars 2014
11 oct. 2008 à 21:23
A PCPT
Effectivement, maintenant que j y pense j'aurais du le proposer comme mise à jour de mon ancienne source. mais losque je l'ai posté, je pensé varaiment qu'il était
différent.
c'est vrai que le principe du jeu est le même mais l'OCX fonctionne autrement. dans l'ancienne version la gestion du jeu et le contrôle du jeu se fesait ensemble.
Dans la version actuelle la programation est différente. Il y séparation de la gestion du jeu (qui s'effctue dans le control lui m^me) et le contrôle qui s'effectue dans des modules de classes qui implemente un interface unique.ce qui permet de gerer plusieur regels de façon transparente et modulable.
Et je voulais garder l'ancienne version pour un interet didactique et pour les visiteurs qui aurait des dificultés avec le concepts d'implémentation.
je pense maintenant que je vais décharger l'ancienne version.
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 oct. 2008 à 18:56
erreur d'execution 406
les feuilles non modales ne peuvent être affichées dans cette application à partir
d'une dll activeX, d'un controle activeX ou d'une feuille de propriétés

pendant une phase de jeu entre humain
ensuite mon programme plante
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 oct. 2008 à 14:46
salut,

pourquoi ne pas simplement mettre à jour ta précédente source, le fonctionnement est strictement le même non?
cs_medkarim Messages postés 18 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 19 mars 2014
11 oct. 2008 à 11:24
j'ai l'impression que j'ai mal dormi cette nuit. le composant expose egalement 2 autres propriete en lecture ecriture
Dimension renvoie la taille du composant (tient celle la je ne l'ai pas testé)
et RulesID renvoie l'identifiant des regeles du jeu
1 pour américain
2 pour classique
3 pour International
et 4 pour espagnol
cs_medkarim Messages postés 18 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 19 mars 2014
11 oct. 2008 à 11:14
j'ai pas terminé
pour l'utilisation du control ChekerOCX. Il faudra le compiler et l'enregistrer puis l'ajouter à votre projet (en vb2005 je ne sais pas comment)
le composant expose
une methode:
Begingame avec comme argument un booleen against computer (Vrai pour jour contre le PC et faux pour jouer contre un humain)

2 proprités en lecture ecriture
DarkSquareColor et lightsquare color (couleur des cases foncées et claire)

2 proprités en lecture seule
Player1PieceCount et player2piecesCount (nombre de pieces restantes du joueur1 et 2)

2 evenements
Currentplayerchange indique le changement de tour l'argument newcurrentplayer renvoi le joueur qui à la main
et
EndGame indique la fin de partie l'argument winner renvoi le joueur gagnant
cs_medkarim Messages postés 18 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 19 mars 2014
11 oct. 2008 à 10:58
Merci pour les encouragments. Cependant je ne trouve pas que c'est dommage que se soit en vb6. C'est vrai question POO c'est de la daube (pas de constructeur, pas d'heritage, pas de pointeur...). Mais c'est là le plaisir d'un programeur VB6. Trouver des astuces pour controurner tous ça et d'aller au limite du language.

la performance n'est pas là. Mais pour un jeu de dame c'est sufiisant

Pour l'instant je suis occupé. Dès que je serais un peu libre, j'ajoutrais les fonctionalités de sauvgarde et de chargement de partie

Concernanant l'annulation d'un coup ou d'un tour je suis pour l'instant un peu perplexe
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 oct. 2008 à 02:06
une fonction move back
une fonction history
une fonction save game
une fonction replay saved game

ceraient bienvenue
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 oct. 2008 à 01:13
ça fonctionne :)) pas mal , j'attends avec impatience de voir ce que ça va devenir :))

juste dommage que ce soit du vb6

un peu de documentation pour l'utiliser ( je n'ai que vb2005 )
je note 10/10 pour t'encourager à continuer ce travail qui s'annonce prometeur
Rejoignez-nous