Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/01/2015, à 10:03

ubuntuforce

jeu de poker écrit en C avec la SDL2.

Salut les ubuntues,

je viens de publier sur mon site, mon premier jeu créer avec la library SDL2 (simple directmedia layer) , écrit en C, pour OS Linux de famille debian.

Il s'agit d'un jeu de Poker pour Linux:

CPocker est un jeu de poker contre l'ordinateur, pour Linux.

Vous pouvez sélectionner le nombre de tours a jouer dans l'écran d’accueil avec les flèches haut et bas, en augmentant ou diminuant le nombre de tours a jouer par défaut: 20 tours par défaut.

Le joueur, soit vous, soit l'ordinateur qui remporte le plus de tours gagne le jeu.

Un tour se fait en 6 étapes:

1) Distribution des cartes.
2) Jetez les cartes que ne désirez pas garder.
3) L’ordinateur jettes les cartes qu'il ne souhaite pas garder.
4) Distribution de nouvelles cartes remplaçant les cartes jetées.
5) Détermination du vainqueur du tour.
6) Ramassage des cartes afin de pouvoir jouer un nouveau tour.

L'ordre étant implémenté sous forme de boutons a cliquer en fonction de l'avancement du jeu.

Vous trouverez la hiérarchie des différentes combinaisons du poker dans le README accompagnant le jeu dans le dossier /usr/share/CPoker/README/ ainsi que la notice et les règles du jeu (car il existe diverses variantes du poker.) et quelques informations supplémentaires.

Dans CPocker l'algorithme de sélection des cartes a jetées de l'ordinateur et donc sa stratégie de jeu est implémenter de manière comme son créateur joue au poker.:

    C'est comme si vous jouiez au poker contre moi !!!                                
                                                     
J'ai implémenter ce jeu en faisant attention au respect du joueur dans le sens ou  l'ordinateur ne sait jamais ce que avez en mains malgré que les cartes peuvent vous être présentées de manière découvertes avant la comparaison das mains.   

Et l'ordinateur ne sait pas les cartes qui vont venir du tas pour en tirer partie afin de gagner.                                                                             

J'ai également fait attention a:

- Implémenter un bon algorithme de mixage des cartes avant chaque tour, qui est en faites l'exécution séquentiel de 3 algorithmes de mixages différents répéter un nombre aléatoire de fois.
 
  -) Un algorithme qui prend une carte au hasard et le remet dans le jeu a un emplacement aléatoire, répéter 32 fois (le nombre de cartes du jeu: de 7 a AS).
  -) Un algorithme qui génère 5 tas de cartes aléatoirement et les superposent après afin de reconstituer le jeu.
  -) Un algorithme qui divise le jeu en 2 tas puis reforme le jeu en ajoutant alternativement une carte de chaque tas
                                                                             
- Respecter l'ordre de distribution des cartes qui s'inverse a chaque tour.                                
                                                                             
- Bien mettre les cartes jetées sur le tas des cartes jeter après ramassage des cartes. Puis remis dans le jeu afin de le mixer.     
                                                                             
 
   Soyez assuré que le jeu est honnête avec vous. Comme je suis dans la vie comme tout le monde devrai.

Le jeu est assez intuitif a prendre en mains et vous pouvez jouer a votre guise.

En espérant que vous prendrez autant de plaisir a jouer a CPoker que j'en ai eu a le programmer, 
et qu'il vous procurera de grandes montés d'adrénaline.

Note: si vous avez besoin d'images d'un jeu de carte, j'ai retoucher un peu un set trouver sur internet, juste pour que les bordures soit égales. Je vous l'ai mis a disposition sous forme d'archive *.zip dans l'index de mon site.                                         

Si vous avez un problème avec le format de fichier du programme: paquetage deb.
Il existe un tarball de CPoker disponible dans l'index de mon site.

Je vous invite donc, si le cœurs vous en dit, de voir un peu mon programme.

Si vous voulez simplement le tester: essayer de le crasher pour voir si une erreur de segmentation se produit.
Ou pour tester si un dysfonctionnement se produit.

Si vous voulez aller plus loin et jeter un coup d'œil au code source, vous pourrez me dire ce que vous en pensez, car en tant qu'autodidacte l'on est livré a soit-même et l'on ne connaît pas forcément les bonnes manières appris dans une école ou centre de formation.

Je suis ouvert a toutes formes de critiques: bonne ou mauvaise. Commentaires, impression, goût de mes graphismes, etc...     

Merci pour vos réponses.


Rendez-vous sur mon site présentant mes créations open-source: http://www.open-source-projects.net/
Rendez-vous sur mon site dédier a mes créations d'imagerie 3D: http://www.3dreaming-imaging.net/
Testez pendant une semaine l'éditeur avec terminaux intégrées http://www.open-source-projects.net/it-edit/it-edit Vous l'adopterai sûrement !

Hors ligne

#2 Le 25/01/2015, à 15:51

ubuntuforce

Re : jeu de poker écrit en C avec la SDL2.

Je tiens vraiment a remercier la communauté d'Ubuntu.org pour son intérêt porter a mes créations:
-SnakeByte unpacman a la sauce python: aucune réponses.
-ScreenLocker un économiseur d'écran sécurisable: aucune réponses.
-PyImaging et EraseDropBox (traitement d'images et un effaceur de fichiers et de dossier sécuriser base sur wipe): aucune réponses.
-Ghobdcalc une calculatrice multibases : aucune réponses.
-CPoker un jeu de poker : aucune réponses.

Je sais qu'il n'est pas conseiller d'installer des logiciels tiers et que vous savez pas tous programmer.
Mais tout les programmes sont distribuer sous forme de code sources et que donc ont peut s'intéresser au code, non ?

Je comprends que ce ne vous intéresse pas, mais a passer des semaines sur un logiciel pour que personne de daigne le regarder (sur ce site contrairement a d'autres et heureusement d'ailleurs.).

J'ai un doute: il y aurai une conspiration contre moi, un appel au  boycotte ou j'ai vraiment pas de chance.

Je répète: je ne vous en veut pas et comprends que ce ne puisse pas intéresser un utilisateur lambda Linux.

Ubuntu serai-t-il tomber si bas que ce ne soit pas un OS de programmeurs, je ne demande pas qu'on utilise mes programmes au quotidiens, mais jeter un œil au code ça ne fait pas de mal puis de donner son avis, une critique (bonne ou mauvaise), une remarque... Je ne comprends votre indifférence totale et je crois que je vais faire soigner pour dépression nerveuse.

Sachez seulement que ailleurs ça intéresse et que je suis actifs dans diverses direction (upload sur PyPI (3), Bibliothèques dynamique en C et divers tutoriels...

PS: Sinon le forum est bien pour les questions qui appellent une réponse.


Rendez-vous sur mon site présentant mes créations open-source: http://www.open-source-projects.net/
Rendez-vous sur mon site dédier a mes créations d'imagerie 3D: http://www.3dreaming-imaging.net/
Testez pendant une semaine l'éditeur avec terminaux intégrées http://www.open-source-projects.net/it-edit/it-edit Vous l'adopterai sûrement !

Hors ligne

#3 Le 25/01/2015, à 16:36

TrustyKiwi

Re : jeu de poker écrit en C avec la SDL2.

Salut tongue

Perso, je vois pas l'utilité d'un Poker, d'un pacman serpent, ou d'un screenlocker killable en 2-2 par un utilisateur minimum avancé, d'une calculatrice en plus, ou d'une Trash en plus Oo
Je pense que cette catégorie intéresse plus les personnes qui veulent avoir des news de jeux / qui ont des problèmes avec des jeux ..

PS : Ton site est remplit de bug, de page 404 et le design fait que certains textes sont illisible.


Il y a deux types de personnes dans le monde : ceux qui finissent leur phrase

Hors ligne

#4 Le 27/01/2015, à 14:41

florianges

Re : jeu de poker écrit en C avec la SDL2.

Salut,

Le script d’installation ne marche pas chez moi en mode root...

Start installation from CPocker...
mkdir: impossible de créer le répertoire «/usr/share/CPoker/»: Le fichier existe
CPocker main destination directory successfull created.
mkdir: impossible de créer le répertoire «/usr/share/CPoker/Icon»: Le fichier existe
CPocker icon destination directory successfull created.
mkdir: impossible de créer le répertoire «/usr/share/CPoker/License»: Le fichier existe
CPocker license destination directory successfull created.
mkdir: impossible de créer le répertoire «/usr/share/CPoker/README»: Le fichier existe
CPocker README destination directory successfull created.
Icon successfull copied.
License successfull copied.
Sources successfull copied.
Desktop successfull copied.
README successfull copied.
Images successfull copied.
mkdir: impossible de créer le répertoire «/usr/share/CPoker/Font»: Le fichier existe
Font directory successfull created.
Font file successfull copied.
cp: impossible de créer le fichier standard «/usr/local/bin/»: N'est pas un dossier
chown: impossible d'accéder à «/usr/local/bin/CPoker»: Aucun fichier ou dossier de ce type
chmod: impossible d'accéder à «/usr/local/bin/CPoker»: Aucun fichier ou dossier de ce type
Installation of CPocker successfull !!!

Hors ligne

#5 Le 28/01/2015, à 09:14

ubuntuforce

Re : jeu de poker écrit en C avec la SDL2.

Je pense que vous avez exécuter le script install.sh plusieurs fois.
A moins qu'il n'existe une autre application portant le même nom que mon jeu sur votre système, ce qui est très improbable.
Je vous propose:
de regarder ce que contient le dossier: /usr/share/CPoker/ puisque il existe.
et de le supprimer si il est vide ou si le contenus correspond au contenus de l'archive *.tar de CPoker, ce qui semble vraiment être le cas car les autres plaintes de correspondent a ce scénario.

sudo rm -R /usr/share/CPoker/

Puis de relancer install.sh en mode root.
Par contre il va falloir installer les dépendances:

sudo apt-get libsdl2-dev
sudo apt-get libsdl2-image-dev
sudo apt-get libsdl2-ttf-dev 

Normalement le script pose la question si il ne détecte pas les dépendances.
Afin que le script puisse compiler le programme.

Merci pour l'intérêt porter a CPoker.


Rendez-vous sur mon site présentant mes créations open-source: http://www.open-source-projects.net/
Rendez-vous sur mon site dédier a mes créations d'imagerie 3D: http://www.3dreaming-imaging.net/
Testez pendant une semaine l'éditeur avec terminaux intégrées http://www.open-source-projects.net/it-edit/it-edit Vous l'adopterai sûrement !

Hors ligne

#6 Le 28/01/2015, à 09:51

florianges

Re : jeu de poker écrit en C avec la SDL2.

Salut,

Oui j'ai lancé l’installateur plusieurs fois ^^ je me suis dit que ça pouvais éventuellement résoudre les problèmes... XD

ubuntuforce a écrit :

Par contre il va falloir installer les dépendances:

sudo apt-get libsdl2-dev
sudo apt-get libsdl2-image-dev
sudo apt-get libsdl2-ttf-dev 

Normalement le script pose la question si il ne détecte pas les dépendances.
Afin que le script puisse compiler le programme.

Tu voulais sûrement dire smile

sudo apt-get install libsdl2-dev
sudo apt-get install libsdl2-image-dev
sudo apt-get install libsdl2-ttf-dev 

Il sont installé tout les 3

  0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour. 

Et une fois que je relance le script d’installation j'ai:

Start installation from CPocker...
CPocker main destination directory successfull created.
CPocker icon destination directory successfull created.
CPocker license destination directory successfull created.
CPocker README destination directory successfull created.
cp: impossible d'évaluer «/home/florian/Icon/CPoker_Icon.png»: Aucun fichier ou dossier de ce type
Icon successfull copied.
cp: impossible d'évaluer «/home/florian/License/gpl.txt»: Aucun fichier ou dossier de ce type
License successfull copied.
cp: impossible d'évaluer «/home/florian/Source»: Aucun fichier ou dossier de ce type
Sources successfull copied.
cp: impossible d'évaluer «/home/florian/Desktop/CPoker.desktop»: Aucun fichier ou dossier de ce type
Desktop successfull copied.
cp: impossible d'évaluer «/home/florian/README/»: Aucun fichier ou dossier de ce type
README successfull copied.
Images successfull copied.
Font directory successfull created.
cp: impossible d'évaluer «/home/florian/Font/FreeMonoBold.ttf»: Aucun fichier ou dossier de ce type
Font file successfull copied.
gcc: error: CPoker.c: Aucun fichier ou dossier de ce type
cp: impossible d'évaluer «CPoker»: Aucun fichier ou dossier de ce type
chown: impossible d'accéder à «/usr/local/bin/CPoker»: Aucun fichier ou dossier de ce type
chmod: impossible d'accéder à «/usr/local/bin/CPoker»: Aucun fichier ou dossier de ce type
Installation of CPocker successfull !!!

/usr/local/bin/ n'existe pas chez moi... j'ai un fichier sbin... (Ubuntu 14.04).

Hors ligne

#7 Le 29/01/2015, à 09:11

ubuntuforce

Re : jeu de poker écrit en C avec la SDL2.

Bon comme je n'ai pas contrôler le code de retour de chaque commande, notamment mkdir, si l'on exécute le script install.sh plusieurs fois il est normale que ça plante.
D'abords effacer le dossier /usr/share/CPoker.

sudo rm -R /usr/share/CPoker

Et comme tu n'a pas de dossier /usr/local/bin je me demande si tu a un OS Ubuntu et je trouve ça intrigant ?
Car /usr/local/bin fait partie des dossier standard des paquetage *.deb...???

C'est d'ailleurs a cause de ça que ça ne marche pas.

Il faut modifier le script d'installation de quelques simple lignes.

Regarde tout d'abord dans la variable d'environnement PATH:

echo $PATH

pour trouver un dossier ou installer CPoker.
Cette variable contient en gros la liste des dossier ou le système a droit d'exécuter un programme ou un script.

admettons que /usr/games s'y trouve, les chemins sont séparés par des ';'.

puis changer les lignes:

sudo cp CPoker /usr/local/bin/       # A modifier
 
 
sudo chown -R $USER:$USER "${dst_main_path}"
sudo chmod -R a+rx  "${dst_main_path}Images"
sudo chown $USER:$USER "/usr/local/bin/CPoker"  # A modifier.
sudo chmod a+x "/usr/local/bin/CPoker"                   # A modifier

par

sudo cp CPoker /usr/games/   # Copier CPoker dans /usr/games/                         
 
sudo chown -R $USER:$USER "${dst_main_path}"
sudo chmod -R a+rx  "${dst_main_path}Images"
sudo chown $USER:$USER "/usr/games/CPoker"  # Ca fait de toi le propriétaire du fichier CPoker.
sudo chmod a+x "/usr/games/CPoker"                    # Changement de permission.

Et il faut également changer l'entré dans le fichier *.desktop, afin que tu puisse lancer CPoker par son icône.
Donc remplacer dans le fichier install.sh la ligne:

sudo echo "Exec=/usr/local/bin/CPoker"     >> /usr/share/applications/CPoker.desktop

par:

sudo echo "Exec=/usr/games/CPoker"        >> /usr/share/applications/CPoker.desktop

Merci de ton intervention ça me permet de me rendre compte des négligences de mon script d'installation:
-) Installer mes programmes ailleurs que dans /usr/local/bin (Pourtant je pensais que c'était le dossier ou installer les applications externes).
-) Contrôler le code retours des commandes dans le script d'installation.
Encore merci, comme quoi l'on apprend de ses erreurs.

Dernière modification par ubuntuforce (Le 29/01/2015, à 09:14)


Rendez-vous sur mon site présentant mes créations open-source: http://www.open-source-projects.net/
Rendez-vous sur mon site dédier a mes créations d'imagerie 3D: http://www.3dreaming-imaging.net/
Testez pendant une semaine l'éditeur avec terminaux intégrées http://www.open-source-projects.net/it-edit/it-edit Vous l'adopterai sûrement !

Hors ligne

#8 Le 01/02/2015, à 12:32

florianges

Re : jeu de poker écrit en C avec la SDL2.

Salut,

Excuse moi j'ai été beaucoup occupé ces dernier jours.

Finalement en voyant dans la variable $PATH que j'avais bien le répertoire /usr/local/bin de proposé j'ai crée moi même le répertoire bin.
Du coup après avoir installé ton jeux (donc il y avais plus aucun message d'erreur) j'ai voulu le lancer depuis la liste d’application dans le menu des applications (SUPER + A). Mais il n'y étais pas... J'ai donc été obligé de redémarrer mon PC et la il y étais... peut être un problème à résoudre wink

Peut être que de Ubuntu ne crée pas de répertoire bin dans /usr/local mais que l’application qui installe un programme doit tester si le répertoire bin existe pour le crée ou non.


Pour parler du jeux en lui même...

Quand j'arrive sur la page ou il faut choisir le nombre de round et taper sur enter, je trouve qu'il manque une petite annotation "en jeux" pour te dire comment choisir le nombre de round, car je ne l'ai pas testé tout de suite après l'avoir installé et j'ai eu du mal a comprendre qu'il fallait appuyer sur les flèches du haut ou du bas. Ou sinon tu pourrais rajouter des petites flèches "bouton" ou on peut modifier le nombre de round en cliquant dessus smile

Après avoir choisi mon nombre de round je rentre donc sur l'interface "plateau", celle ou il a les cartes. Et la surprise, ce n'ai pas un "Texas Hold'em" mais un "Five-card Draw"... ça serrais sympa de le préciser quand même, même si ce n'es que sur le post du forum ^^

En toute fin de partie je trouve qu'il manque un bouton pour faire une autre partie car ici on est obliger de redémarrer le logiciel... Il y a aussi un bug quand on est en fin de partie quand on clique sur l'emplacement où nos carte devrais être posé sur le plateau, il y a un paquet de carte qui apparaît en haut a gauche et qui rétrécit XD

Pour les graphismes, je trouve ça bien pour un jeux de poker, simple et épurer.

A+

Hors ligne

#9 Le 03/02/2015, à 09:36

ubuntuforce

Re : jeu de poker écrit en C avec la SDL2.

Merci florianges pour ta critique:

Il manque effectivement une marque sous formes de flèches pour indiquer comment changer le nombre de round.

Je ne connais pas les différentes variantes du poker: j'ai donc implémenter le poker comme ont joues en famille, sans les mises.
J'ai donc implémenter un "Five-card Draw".   

florianges a écrit :

En toute fin de partie je trouve qu'il manque un bouton pour faire une autre partie car ici on est obliger de redémarrer le logiciel...

Et non il suffit d'appuyer sur ESCAPE afin retrouver l'écran d'accueil: tu n'a pas lus le README qui fait office de notice et qui contient aussi la hiérarchisation des combinaisons de cartes.
Il est vrai que sous la version Windows de CPoker il est proposer de lire la notice quand ont installe le programme.
Beaucoup de gens ne lisent pas les README et tu ne pouvait pas le deviner.
Et il faut dire que j'ai été limité en termes de place pour mettre un bouton "nouvelle partie".

florianges a écrit :

Il y a aussi un bug quand on est en fin de partie quand on clique sur l'emplacement où nos carte devrais être posé sur le plateau, il y a un paquet de carte qui apparaît en haut a gauche et qui rétrécit XD

Oups je n'ai pas vue de tel comportement car en fin de partie ont est pas censé cliquer mais appuyer sur ESCAPE, ce qui fait que je n'ai pas vue ce bug,
merci pour le bug report.   smile.

florianges a écrit :

Pour les graphismes, je trouve ça bien pour un jeux de poker, simple et épurer.

Merci c'est gentil surtout disons de la part d'un utilisateur lambda, car tu n'a pas critiqué le code, ça fait plaisir car il n'est pas facile de rivalisé avec les programmeurs professionnels et les boîtes de jeux encore moins.
Et il n'est pas facile de faire un jeu qui soit jouable et qui plaisent, surtout la première fois.

A noter que le set d'images du jeu de cartes est a votre disposition dans mon index.


Rendez-vous sur mon site présentant mes créations open-source: http://www.open-source-projects.net/
Rendez-vous sur mon site dédier a mes créations d'imagerie 3D: http://www.3dreaming-imaging.net/
Testez pendant une semaine l'éditeur avec terminaux intégrées http://www.open-source-projects.net/it-edit/it-edit Vous l'adopterai sûrement !

Hors ligne

#10 Le 06/02/2015, à 10:29

florianges

Re : jeu de poker écrit en C avec la SDL2.

Salut

Je ne connais pas les différentes variantes du poker: j'ai donc implémenter le poker comme ont joues en famille, sans les mises.
J'ai donc implémenter un "Five-card Draw".

Ouais, mais la variante du poker la plus connue est le "texas hold'em" wink

Et non il suffit d'appuyer sur ESCAPE afin retrouver l'écran d'accueil: tu n'a pas lus le README [...] Et il faut dire que j'ai été limité en termes de place pour mettre un bouton "nouvelle partie".

Je l'ai lu mais (très) rapidement en me disant que je connaissais les règles du poker et que ça devait être plus ou moins ce qu'il y a d'expliqué sur le forum. Pourquoi pas au lieux de mettre un bouton, mettre une annotation pour inviter le joueur à cliquer sur ESCAPE?

De rien smile

Hors ligne

#11 Le 19/02/2015, à 13:51

ubuntuforce

Re : jeu de poker écrit en C avec la SDL2.

Merci florianges pour ces commentaires,
Il est sûre que il va falloir que je retouche légèrement l'application afin de corriger le bug de fin de jeu et ajouter les choses proposées.
Si tu aime les jeux vidéos : rendez-vous a la section jeux de mon site (multiples jeux pour Linux et Windows).


Rendez-vous sur mon site présentant mes créations open-source: http://www.open-source-projects.net/
Rendez-vous sur mon site dédier a mes créations d'imagerie 3D: http://www.3dreaming-imaging.net/
Testez pendant une semaine l'éditeur avec terminaux intégrées http://www.open-source-projects.net/it-edit/it-edit Vous l'adopterai sûrement !

Hors ligne