begin process at 2008 08 08 21:43:41
1 223 607 membres
365 nouveaux aujourd'hui
14 230 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

JEU DE CARTES ITALIENNES EN VISUAL C++


Information sur la source

Catégorie :Jeux Niveau : Débutant Date de création : 27/01/2003 Date de mise à jour : 10/02/2003 00:25:39 Vu / téléchargé: 3 658 / 409

Note :
7 / 10 - par 3 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

This article present a simple game card, programmed with MFC, for the graphics and the user feedback, and at lower level I used the STL of C++ to manage the classes for the deck, the players, the game. The same low level structure, could be reused for a different future game (Poker? Bridge...is too difficult I guess!) I used a dialog based application in the MFC wizard.

Description

The italian game card "Sette e mezzo" or "Seven and half" is a tipical Christmas game. You have to bet your "virtual" dollars and then take a card from the deck until you feel that your points are enough and under 7 and half that is the maximum allowed point. Then is the Pc's turn to play and it will take cards until it will arrive over your points or until it will loose, because over 7 and half!
    

Source

  • The whole code and project is in the zip file!
  • Here there is only a description.
  • Classes
  • I used 2 classes for the MFC dialog boxes and classes for the lower level C++/STL engine. CDeck for the deck of cards, CGameCard for the 40 cards, CPlayer for the 2 players you and your Pc and GameNapoletano for the whole game.
  • Some code
  • I used a function to load .jpg and .bmp from files and to render them to the DC: // This function loads a file into an IStream.
  • void myUtilities::LoadPictureFile(LPCTSTR szFile, LPPICTURE &gpPic)
  • And this function uses the OLE technology To map cards picture with the key code that identify the card I used the std::map. For each card I built a key code using its value and its family (there are 40 cards, 10 cards and 4 families) typedef std::map<int, LPPICTURE, std::less > PicCardType;
  • So in the OnPaint function of the main dialog box I show all the current cards in the game, using a std::vector, where I pushed the pointer to the picture card: std::vector<LPPICTURE>
  • Before that, every random card, taken from the deck, has to be found in the map already built, by its key code. // take the idCard from the current card
  • int idCard = card.GetIdCard();
  • // with the idCard we can find the iterator to the picture by the map
  • m_itMyCard = m_CardMap.find(idCard);
  • When the 40 cards are all gone, I have to reshuffle the deck, but I have not to use the card still on the table! So I have to use another deck where I copied all the cards used and reshuffle that one...
  • Conclusion
  • I wrote this code for hobby. Next step will be a poker card game, hopefully reusing the same structure and inheriting from the same classes... Feel free to suggest me your code, and your opinion is always appreciated. Tell me where I have to change, where the code really sucks and what you would do instead.
  • Thank you
The whole code and project is in the zip file!
Here there is only a description.

Classes
I used 2 classes for the MFC dialog boxes and classes for the lower level C++/STL engine. CDeck for the deck of cards, CGameCard for the 40 cards, CPlayer for the 2 players you and your Pc and GameNapoletano for the whole game. 
Some code
I used a function to load .jpg and .bmp from files and to render them to the DC: // This function loads a file into an IStream.
void myUtilities::LoadPictureFile(LPCTSTR szFile, LPPICTURE &gpPic)

And this function uses the OLE technology To map cards picture with the key code that identify the card I used the std::map. For each card I built a key code using its value and its family (there are 40 cards, 10 cards and 4 families) typedef std::map<int, LPPICTURE, std::less > PicCardType;

So in the OnPaint function of the main dialog box I show all the current cards in the game, using a std::vector, where I pushed the pointer to the picture card: std::vector<LPPICTURE>

Before that, every random card, taken from the deck, has to be found in the map already built, by its key code.    // take the idCard from the current card
   int idCard = card.GetIdCard();
   // with the idCard we can find the iterator to the picture by the map
   m_itMyCard = m_CardMap.find(idCard);

When the 40 cards are all gone, I have to reshuffle the deck, but I have not to use the card still on the table! So I have to use another deck where I copied all the cards used and reshuffle that one... 
Conclusion
I wrote this code for hobby. Next step will be a poker card game, hopefully reusing the same structure and inheriting from the same classes... Feel free to suggest me your code, and your opinion is always appreciated. Tell me where I have to change, where the code really sucks and what you would do instead. 

Thank you 
    

Conclusion

Mauro (Maurus) Mindoli
email:
mindolimauro@rocketmail.com

Hobbyes: Soccer, Chess, Programming, Progressive Rock, Video Games
    
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de MaurusAP le 27/01/2003 23:07:28

    Bonjour,
    j'aimerais bien de recevoir de commentaires sur le jeu, mais surtout sur le code.
    Si vous voyez des modifies nécessaire à faire ou des bugs n'hesitez pas l'écrire ici.
    Je aime bien ameliorer ma programmation en MFC et C++ (et mon français aussi!)

    Ciao!

  • signaler à un administrateur
    Commentaire de c2lamerd le 26/06/2003 16:58:53

    c'est a chier

  • signaler à un administrateur
    Commentaire de xBJx le 11/07/2003 10:56:12

    Je ne suis pas d'accord avec c2lamerd. On peut d'ailleurs supposer qu'avec un pseudo pareil, il ne fasse que critiquer.
    Le programme est assez bien fait à part peut-être le pointeur qui n'est pas très pratique, même si la modification du pointeur est intéressante.

    bon courage pour le français

  • signaler à un administrateur
    Commentaire de zouki2003 le 01/05/2004 09:32:41

    Comment faire pour jouer car il n'y a pas de fichier exe et comme moi et l'informatique ca fait  2 lol

  • signaler à un administrateur
    Commentaire de ephores le 01/04/2005 21:41:05

    bien bien, j'essayerais d'apprendre pour faire pareil ;-)

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Boutique

Boutique de goodies CodeS-SourceS