Mon Premier Code

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Torp
Messages : 360
Inscription : lun. 22/nov./2004 13:05

Message par Torp »

C'est un jeu basé sur les mots (Le jarnac est un jeu de société). La seule version informatique du jeu, n'est accessible qu'au abonnés wanadoo. Il n'existe pas dans le commerce... Et comme dans ma famille certains sont fan, j'ai décidé d'en faire un... :lol:
Le gros morceaux va etre de faire un dico qui valide les mots...
C'est trés loin d'etre terminé mais j'ai fait ce post pour avoir des critiques sur ma programmation car c'est mon 1er prog... :oops:
J'ai des notions de basic (mais vraiment basic... style ATARI 800XL...), alors je glane ca et là des infos sur le forum pour programmer... mais j'avoue pas toujours tout piger (notamment les librairies et bien d'autres choses...). En ce moment je planche sur comment intégrer un chrono limitant le temps de reflexion des joueurs... Bon mon prob survient des qu'il faut j'utilise une fonction de windows (d'apres ce que j'ai compris), comme settimer ou #WM_LBUTTONUP que j'ai pompé (:oops:) dans mon prog car je les connaissait pas et c'est pas dans la doc... Voila je sais pas si c'est clair tout ca mais j'apprends à coup de forum. :lol:

++
Torp
Messages : 360
Inscription : lun. 22/nov./2004 13:05

Message par Torp »

Chris a écrit :Ca a l'air joli, mais c'est pareil, j'ai pas compris le fontionnement.

J'imagine qu'il faut faire des mots avec les lettres qu'on a en stock, mais là, je viens d'essayer, j'avais six consonnes sur six lettres. Pas facile de faire un mot avec ça :lol:

En redémarrant le jeu, j'ai réussi à faire un mot de quatre lettres, mais qu'est-ce que je fais, avec les deux qui restent ?

Faudrait faire un petit mode d'emploi, sinon, ça a l'air sympa :wink:
Ben pour le moment tu peux pas faire grand chose, j'ai juste bossé sur le déplacement des pions selon la règle du jeu
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Ah c'est pour ça que je comprenais pas :lol:

Pour le timer, c'est pas très compliqué

SetTimer_(Handle, N° du timer, delai, @procédure)

Handle, c'est le handle de la fenêtre à laquelle est attaché le timer, celle de ton jeu, donc. Tu obtiens le handle de la fenêtre avec WindowID()

N° du timer, ben c'est le n° du timer en partant de 1 :lol:
Le délai, c'est le temps en millisecondes entre chaque evenements
@procedure, ça permet d'envoyer les evenemets timer directement à une procedure, sans passer par un #WM_TIMER dans la boucle.

La procédure est simple :

Code : Tout sélectionner

Procedure TimerProc(hwnd.l, uMsg.l, idEvent.l, dwTime.l)
  Select uMsg
    Case #WM_TIMER
      Select idEvent
        Case 1
          Evenements du premier timer
        Case 2
          Evenements de second timer
        Case (n)
          et ainsi de suite
      EndSelect
  EndSelect
EndProcedure
Pour le timer, ça donne ça

Code : Tout sélectionner

SetTimer_(Hwnd, 1,1000, @TimerProc())

Select uMsg : Tu récupères le message #WM_TIMER
Case #WM_TIMER
Select idEvent :Tu récupères le n° de ton timer.
Case 1
Ici, tu mets le code qui te permet de faire une action, par exemple, changer de joueur, ou autre chose
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Tiens, voilà un petit exemple simple

Code : Tout sélectionner

Procedure TimerProc(hwnd.l, uMsg.l, idEvent.l, dwTime.l)
  Select uMsg
    Case #WM_TIMER
      Select idEvent
        Case 1
          Debug "--------------------1 seconde"
          ; Ici, le code à executer toutes les secondes
        Case 2
          Debug "0.2 secondes"
          ; Ici, le code à executer toutes les 200 millisecondes
        Case 3
          Debug "-------------------------------------------3 secondes"
          ; Ici, le code à executer toutes les 3 secondes
      EndSelect
  EndSelect
EndProcedure


If OpenWindow(0, 100, 100, 100, 100, #PB_Window_SystemMenu, "")
  Handle = WindowID(0)
  
  SetTimer_(Handle, 1, 1000, @TimerProc()) ; envoie un evenement toutes les 1000 millisecondes
  SetTimer_(Handle, 2, 200, @TimerProc())  ; envoie un evenement toutes les 200 millisecondes
  SetTimer_(Handle, 3, 3000, @TimerProc())  ; envoie un evenement toutes les 3000 millisecondes
  
  Repeat 
  Until WaitWindowEvent() = #PB_Event_CloseWindow 
EndIf 
 
Torp
Messages : 360
Inscription : lun. 22/nov./2004 13:05

Message par Torp »

Merci ca va m'etre très utile pour la suite. Mais ou trouver (mis a part sur le forum) des infos sur ce type de fonction. Je suppose que tous ceux qui postent ici ne sont pas programmeurs professionnels.:roll: (msdn?)
Autre question à 2 balles : c'est quoi le structure viewer?

Euh...des questions comme ca j'en ai à la pelle... :!: :wink:
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

j'ai telecharger les images mais le programme ne les trouve pas
comment faire
Jbernard13
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

j"'ai trouver
et ca marche
Jbernard13
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Torp a écrit :Merci ca va m'etre très utile pour la suite. Mais ou trouver (mis a part sur le forum) des infos sur ce type de fonction. Je suppose que tous ceux qui postent ici ne sont pas programmeurs professionnels.:roll: (msdn?)
Autre question à 2 balles : c'est quoi le structure viewer?

Euh...des questions comme ca j'en ai à la pelle... :!: :wink:
Le Structure Viewer, ça sert à visualiser les structures et les interfaces qui sont déjà définies dans PureBasic, et à insérer les éléments de la structure (ou de l'interface) directement dans ton code.

Pour voir comment ça fonctionne, tu l'ouvres, et tu fais des tests sur un code vierge. C'est encore la meilleure façon de comprendre à quoi il sert.

Pour les infos, j'ai mis une "Liste de liens utiles" dans la rubrique "Débutants". Cherche dans les posts en annonce.
Torp
Messages : 360
Inscription : lun. 22/nov./2004 13:05

Message par Torp »

TipTop les liens je les avais pas vu (doit etre aveugle...)

++
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Tiens pour le dico , je savais que j'en avais vu un quelque part , mais impossible de remettre la main dessus . et en cherchant autre chose je suis tombé dessus à nouveau .

Il contient 240 000 mots avec les verbes conjugués

http://www.bellamyjc.net/download/dicofr.zip
Torp
Messages : 360
Inscription : lun. 22/nov./2004 13:05

Message par Torp »

Alors là, Comtois, t'es un champion du monde!!!!!! Ca fait des jours et des jours que je cherche une base pour la vérification des mots, et je me sentais pas de rentrer tout le larousse à la main... :lol: Tu m'enlève un gros tronc d'arbre du pied !!! :10:
Encore Merci

++
_/Torp\_
Torp
Messages : 360
Inscription : lun. 22/nov./2004 13:05

Message par Torp »

Euh... Au fait dans quelle mesure je peux utiliser ce dico, si je veux distribuer mon programme?... :roll:
Et puis tant qu'on y est, puis-je diffuser mon programme tout simplement, sachant qu'il est basé sur un concept de jeu existant?...

http://jarnac.wanadoo.fr/
et aussi
http://www.le-jarnac.com/

Huuumm... Voila une question qu'elle est bonne... :?
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Salut,
Tu peux utiliser ce dico sans problème dans la mesure où la langue française appartient à tous. Manquerai plus qu'on nous demande des droits sur l'usage des mots ! :(
Rien ne t'empêche de remercier l'auteur de ce travail énorme de recensement dans ton prog.

Tu peux aussi le modifier, maintenant que tu as la base, il est possible de séparer les mots par catégorie (ex: infinitif; conjugués; etc... ou créer des catégories propres à ton jeu ) mais ce sera un peu de boulot en plus.

Tu peux transformer ce dico.txt en dico.chm par exemple.
Ou découper les fichiers.txt en plus petits ( ex : de A à AF puis de AF à AM etc...) d'une taille inférieure à 64 ko, sa simplifie l'usage.

Quant au jeu de Jarnac, vois s'il est sous licence. Si oui vérifie les termes et agis en fonction de ceux-ci. Tu peux aussi contacter l'auteur et lui demander la permission de diffuser une version tienne de son jeu.
Ou encore tu distribues ton jeu en free en annonçant la couleur comme beaucoup le font déjà sans se soucier des droits. Regardes toutes les copies de jeux qui existent déjà, rien que sur ce forum il y en a quelques unes. La protection de ces copies c'est la multitude et le fait que tous ces jeux ont déjà un vécu important et franchement ce serai mesquin de la part des auteurs originaux de poursuivre un développeur en particulier. tant que tu n'en fais pas la vente je ne pense pas que tu seras inquiété.
Mais on ne sait jamais... :mrgreen:

Autre possibilité, tu modifies quelques détails, tu renommes le jeu et tu le sors comme Nouveauté. avec des slogans du genre INEDIT !! du JAMAIS VU !! mais là ça craint, on tombe dans l'escroquerie. :?
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Torp
Messages : 360
Inscription : lun. 22/nov./2004 13:05

Message par Torp »

Jacobus a écrit : Autre possibilité, tu modifies quelques détails, tu renommes le jeu et tu le sors comme Nouveauté. avec des slogans du genre INEDIT !! du JAMAIS VU !! mais là ça craint, on tombe dans l'escroquerie. :?
...héhé... en effet je l'ai appélé PURE ARNAQUE... ca colle bien à la situation...

Bon sinon à part le nom que j'ai changé et le look qui est différent c'est un clone.
le jeu original possède et petit R (Registered) et un copyright... mais je sais pas si c'est sur son nom ou sur le concept...

De toute facon actuellement on ne peut joueur qu'a deux sur le meme micro, j'ai pas encore attaqué la phase jeu en réseau. J'ai donc encore p'tit moment pour y penser. :lol:
Répondre