begin process at 2012 05 30 14:03:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Programmation solitaire en GTK


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Programmation solitaire en GTK

lundi 4 octobre 2010 à 21:29:31 | Programmation solitaire en GTK

camillepissaro

Bonjour , Je suis en deuxième année d'une école d'ingénierie à Casablanca , au Maroc !
je dois programmer le jeu solitaire , le jeux de cartes , en Gtk !!
J'ai trouvé la programmation de tous les jeux , sauf celui la , donc si quelqu'un a un lien à me refiler , ca serait sympa .
Merci
vendredi 8 octobre 2010 à 01:07:54 | Re : Programmation solitaire en GTK

Spl3en

Tiens, c'est marrant, y'a un projet exactement similaire dans une école d'ingénieur de deuxième année mais à Paris, et j'entends parler de ce projet de plus en plus avec la date d'échéance qui approche... Drôle de coïncidence ;)

Bon, vu que j'aide déjà quelqu'un, autant que ça serve à tout le monde, donc je t'envoie le même message que je lui ai envoyé, en espérant que ça en aide d'autres.

Je vais te donner les bons axes de programmation pour te faciliter les choses. (Et crois moi, je pense pas me tromper, en te disant que ce que je vais te dire est ce qui est attendu de toi, et que s'il y a un quelconque rapport, c'est à peu près ce qu'il faudra en ressortir.)

Dès le début, commence surtout pas par faire l'interface en GTK, reste en console.
Sinon tu risques de t'emmêler les pinceaux.

Commence à coder une structure "Carte" puis une autre "Tas" (qui représentera un tas de cartes) avec ses petites fonctions, genre "pick_card" (pour retirer une Carte du tas), "put_card" (pour en rajouter une), etc.

La structure devrait ressembler à ça (c'est le minimum) :

typedef struct _Carte
{
int couleur; // Couleur de la carte
int valeur; // Valeur de 1 à 13 de la carte
int visible; // Retournée ? Cachée ?
} Carte;

typedef struct _Tas
{
ListeChainee *liste_carte;
int type; // si c'est la pioche, si c'est la défausse, si c'est un tas de jeu, ou si c'est un des quatres tas en haut à droite
} Tas;

Pour les listes chaînées, je te conseille d'utiliser les GQueue puisque tu as droit au framework GTK, donc GLib.

Si t'aimes pas les GQueue, ou si tu veux tout simplement avoir du code source sous la main, je te met à disposition mes propres fonctions de file/pile, BbQueue http://spl3en.alwaysdata.net/src/C/BbQueue/

Bref, en tout cas, garde bien en tête que ce projet c'est de la liste chaînée A FOND.
Chaque "Tas" est une liste chaînée, et chaque Carte est un élément de ces listes.
En changeant une carte d'un tas à un autre, il faut que tu fasse transiter cet élément d'une liste chaînée à une autre.
C'est pourquoi je te conseille fortement d'utiliser GQueue ou BbQueue, à moins que tu sois sûr et certain de l'efficacité de tes fonctions de file/pile.

Toujours en mode console, teste tes fonctions "pick_card" et "put_card", regarde l'état de tes files, si tout va bien etc.
Attention, "put_card" devra évidemment checker la carte du dessus du tas visé, et vérifier qu'elle correspond bien à valeur+1 de la valeur de la carte.

Une fois que ces deux fonctions marchent bien, et seulement à ce moment là, commence à programmer ton interface en GTK.

Côté GTK :
Je te déconseille GDK si tu t'y connais pas. C'est d'un niveau d'exigence assez élevé, et le rendu d'affichage risque d'être assez décevant si tu n'y connais rien en multi-threading.

Utilise simplement GTK pour te simplifier la vie, c'est un conseil. Après forcément ça sera beaucoup moins beau mais bon...
Tu fais une GtkTable, et tu y positionnes comme il faut des GtkBox : 1 pour la pioche, 1 pour la défausse, 1 pour les 4 cartes en haut à droite et 1 pour les tas de jeu.
Eventuellement, tu peux en rajouter une en bas, qui stockera la carte pickée en cours.

Pour faire un truc pas trop moche, je te conseille de faire apparaître la dernière carte en tant que GtkButton, avec la propriété "relief" à GTK_RELIEF_NONE
(Cf : GtkReliefStyle, g_object_set, http://library.gnome.org/devel/gtk/unstable/GtkButton.html).
Ainsi quand l'utilisateur clique dessus, la carte cliquée devient "pickée" et un deuxième clic sur le tas entraîne un "put_card", qui retourne 1 en cas de succès ou 0 en cas d'échec, ce qui te permet d'ajuster ton affichage aussi (1 => la carte pickée va sur le tas visé, 0 => la carte retourne à sa place)

Met des GtkImage à l'intérieur de tes GtkButton, affichée en fonction de carte->valeur.

Pour les conditions de victoires, il te suffit de checker si toutes les listes chaînées défausse + jeu + tas de jeu sont vides, si oui => c'est gagné.

Voilà, je peux pas vraiment aider plus que ça ... Y'a plus qu'à coder tout ça !

Bonne chance :)


Cette discussion est classée dans : programmation, jeux, gtk, solitaire


Répondre à ce message

Sujets en rapport avec ce message

programmation du jeu d'échecs [ par danyx ] bonsoir à tousvoila ma passion c'est de développer mon prog d'échecs (en C) . S'il y a des personnes qui désirent discuter de ce sujet et des dificult code source jeux GTK [ par polly19 ] Bonjour, Voila mon problème est simple je cherche le code source d'un jeu ! http://www.jeuxflashonline.fr/Jeux/Pipe-line,165.html Ce genre de jeux, programmation des jeux avec C++ [ par sacar ] salut,j'ai besoin des cours sur la programmation des jeux vedeo avec C/C++ svp [^^happy13] ou des conseils pour les débutant dans ce domaine et merci Programmation jeux en C++ [ par GhadaAngie ] Salut j'ai un projet en classe qui nous demande de faire une simulation du jeux de Morpion (Tic Tac Toe) en C++ le plus simple possible si vous pouvez Programmation 16F877A + LCD (C) [ par ult1m4tum ] Messieurs, mesdames (bien qu'elles se fassent rare sur ce genre de forum) Je cherche a créer un code en C me permettant d'afficher un simple caractèr Aide à la reconnaissance de formes [ par bigvalou ] bonjour, je suis un debutant en programmation, a l'ecole j'ai un projet de reconnaissances de formes en programmation c! J'aimerais beaucou Programmation du calcul de la matrice de cooccurrence pour une image couleur [ par aylan ] J ai programmé la matrice de cooccurrence pour une image bmp. Maintenant, je veux la programmer pour des images couleurs, mais je n'arrive à le faire. programmation système [ par sirina25 ] Bonjour, j'ai besoin de programmer la sémaphore de synchronisation processus père-fils en C dans le cadre de programmation système (programmation C so bsr je cherche un code de jeux sudoko avec c [ par sassi1985 ] bsr je cherche un code de jeux sudoko avec c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 0,187 sec (4)

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