SokoBoihn
Bonjour à tous
,
Je viens de finir, correctement, enfin dû moins du mieux que j'ai pu, ma première petite application mac. Bon beaucoup me diront sûrement que c'est pas extraordinaire, sachez que j'ai 18 ans, et qu'après avoir lu quelques petit commentaire sur, forums, sites de développeurs, etc, j'ai retenus que la programmation SDL était, pour faire des jeux 2d basiques, la plus simple et facile d'accès des nombreuses bibliothèque, donc j'ai décidé de partir de là il y a quelques jours. Soyez donc indulgent s'il vous plais.
Voici donc SokoBoihn.
Présentation:
SokoBoihn est un jeu basé totalement sur le très célèbre jeu du Sokoban, où il faut pousser des caisses d'une certaine façon pour les amener sur des objectifs. La difficulté est le fait que les caisses ne peuvent pas être poussé si elle sont faces à une autre, si elles sont face à un mur.
Ici dans SokoBoihn, vous être un petit Ourson qui à perdu ces petites bêtes de compagnie, les Boihns, de petites boules de couleurs. Aider donc l'Ourson à rassembler les Boihns dans leur caisse.
Fonctions:
Les fonctions présentes dans le jeu SokoBoihn sont très limités, mais suffisante pour passé quelques minutes de votre temps.
En plus de la fonction principale, "Jouer" vous pouvez "à‰diter" le niveau dans lequel vous jouer. C'est à dire que dans SokoBoihn ce ne sont pas des niveau pré-définis mais UN seul niveau que vous "à‰ditez" en y supprimant, et rajoutant, des ARBRES, l'OURSON, les BOIHNs et les CAISSES.
Amélioration à venir:
- Possibilité de sauvegardé plusieurs niveau et de choisir lequel charger.
- Choisir la taille du niveau.
- Implantation d'un temps et d'un meilleur record.
Si vous avez des suggestions pour l'amélioration du programme n'hésitez pas à m'en faire part.
Remarques ou critiques non constructives S'ABSTENIR

Je viens de finir, correctement, enfin dû moins du mieux que j'ai pu, ma première petite application mac. Bon beaucoup me diront sûrement que c'est pas extraordinaire, sachez que j'ai 18 ans, et qu'après avoir lu quelques petit commentaire sur, forums, sites de développeurs, etc, j'ai retenus que la programmation SDL était, pour faire des jeux 2d basiques, la plus simple et facile d'accès des nombreuses bibliothèque, donc j'ai décidé de partir de là il y a quelques jours. Soyez donc indulgent s'il vous plais.
Voici donc SokoBoihn.

Présentation:
SokoBoihn est un jeu basé totalement sur le très célèbre jeu du Sokoban, où il faut pousser des caisses d'une certaine façon pour les amener sur des objectifs. La difficulté est le fait que les caisses ne peuvent pas être poussé si elle sont faces à une autre, si elles sont face à un mur.
Ici dans SokoBoihn, vous être un petit Ourson qui à perdu ces petites bêtes de compagnie, les Boihns, de petites boules de couleurs. Aider donc l'Ourson à rassembler les Boihns dans leur caisse.
Fonctions:
Les fonctions présentes dans le jeu SokoBoihn sont très limités, mais suffisante pour passé quelques minutes de votre temps.
En plus de la fonction principale, "Jouer" vous pouvez "à‰diter" le niveau dans lequel vous jouer. C'est à dire que dans SokoBoihn ce ne sont pas des niveau pré-définis mais UN seul niveau que vous "à‰ditez" en y supprimant, et rajoutant, des ARBRES, l'OURSON, les BOIHNs et les CAISSES.
Amélioration à venir:
- Possibilité de sauvegardé plusieurs niveau et de choisir lequel charger.
- Choisir la taille du niveau.
- Implantation d'un temps et d'un meilleur record.
Si vous avez des suggestions pour l'amélioration du programme n'hésitez pas à m'en faire part.
Remarques ou critiques non constructives S'ABSTENIR
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tiens, en parlant de gratuit, tu pourrais proposer les sources ?
Le lien : http://www.bemill.com/prog/sokoboihn/
Je dois vous avouez que je ne vois pas comment réglé l'erreur qui apparemment est simplement que le logiciel ne trouve pas le framwork qui est utilisé pour charger les images.
Rah... toujours ces petits problèmes
C'est à dire les sources ? Et pourquoi mettre le lien je comprend pas lol...
Mettre les sources de ton projet pour partager ton code avec la communauté.
Pour le lien, j'ai fait un mixte avec un autre topic, désolé.
Donc les sources, on attend ?
Attention à ne pas tout mélanger lugdanum. C'est pas parce que je suis capable de faire un site web gratuit pour quelqu'un que je dois lui donner les fichiers .PSD du template par exemple.
Tu n'as pas copié le framework dans ton bundle on dirait.
L'exécutable cherche "SDL_image.framework" alors que le framework se norme "SDL.framework". À moins que ce ne soit un second framework ?
Je vais essayé de corriger se problème et rééditerais pour que vous me disiez si ça fonctionne chez vous.
Merci pour vos aides et conseil.
Oui c'est effectivement ça, je m'en suis bien inspiré après avoir donc appris le SDL, qui est apparemment la meilleur librairie pour faire de la programmation 3D car elle s'adapte facilement à tout les systèmes.
Sinon toi, as-tu déjà programmer en SDL et plus précisément est-ce que tu aurais déjà utilisé SDL_image, car si c'est le cas peut être que tu as déjà la librairie SDL_image dans ton Mac et du coup il la trouve, contrairement au deux problèmes des autres qui dit qu'il ne la trouve pas.
J'ai fais quelques recherches pour savoir si il y avait une librairie de Mac OS X et Xcode histoire que j'ai pas tout ces problèmes de frameworks avec SDL, mais j'ai pas vraiment trouvé de chose meilleur que SDL ou équivalent en matière de conception de jeu 2D.
Par contre je ne sais pas comment faire en sorte de faire fonctionne les raccourcis de base et faire un menu pour la barre en haut. Genre quand on fait pomme+Q ça ne quitte pas ça fait rien.
Et dans le menu en haut on ne peut voir que les trucs de bases.
Si quelques aurait une réponse à ma question?
SDL j'avais utilisé pour ma part il y a très longtemps (dans mes jeunes années étudiantes au tout début lol), mais ça fait une éternité que je l'ai pas utilisé et codé avec, j'avais limite oublié qu'il existait
Pour des GUI crossplateform moi j'utilise Qt (Trolltech).
Pour des graphismes, les libs propres à la plateforme sont tellement bien foutues en général que je m'embête pas avec SDL (tellement plus simple de faire [UIImage imageNamed:@toto.jpg] en Cocoa par exemple pour charger une image
Si ce n'est pas le cas je ne vois vraiment pas comment faire.
Manque un petit chrono pour mettre un peu la pression
Si je peux me permettre je vais faire quelques remarques:
-Faire attention aux fautes d'orthographe ("le but est de mettre touS les Boà¯hns...")
-Mais surtout, je sais pas pour les autres, mais moi la sémantique de cliquer sur le bouton de fermeture pour revenir au menu me choque beaucoup, surtout que ce n'est pas expliqué, ou alors c'est bien caché...
Mais sinon c'est assez sympa comme jeu, et graphiquement réussi.
Pour le chrono, c'est une évolution que j'envisage en effet, pour les prochaines versions.
Pour les fautes d'orthographes, je tacherais d'y faire attention car c'est vraie que ça perd de sa crédibilité.
Ensuite tu peux faire ECHAP pour revenir aux fenêtre précédentes, et pour quitter le programme une fois à la fenêtre de base. Mais je suis en train de voir pour intégrer correctement le menu de Mac OS X avec les raccourcis normaux pour fermer comme pomme+Q.
Merci encore pour vos critiques et, bientôt je sortirais une autre version avec le chrono et les raccourcis plus sympathique.
Bon voila, j'ai arrêté un peu la programmation hors de mes cours à l'IUT pour justement les suivre, le semestre 2 est un peut plus costaux et surtout plus intéressant
Bon là j'ai recherché un peu et je me perd pas mal.
J'ai remarqué qu'en créant une application Cocoa dans Xcode, c'était plus facile grâce à l'Interface Builder de rajouté les menus, les raccourcis d'Apple etc, mais je me demande justement ensuite comment mettre dans cette fenêtre mon code de SDL/C++.
Ayant un minimum de jugote et connaissant un minimum la programmation Mac, je sais que Cocoa et fait en Objectif-C et donc pas compatible avec le SDL/C++, peut être grâce au .mm donc à l'Objectif-C++ mais parait que ça merde des fois.
Donc ma requête est la suivante, j'ai cherché mais je m'y perd un peut.
COmment puis-je recréer de la même manière qu'avec la SDL, mon programme ?
Quartz ? Cocos2D (apparemment plus orienté pour les apps iPhone/iPod Touch) ?
Enfin voila, je sais pas si vous comprenez mais ça m'aiderais énormément car bon mon but c'est de pouvoir refaire le programme mais en le codant en faisant un Nouveau Projet : Cocoa Application (ou autre si il faut mettre autre chose) pour pouvoir acceder au fameux Interface Builder, et ainsi avoir plusieurs fenêtre mettre des boutons, des tools barre etc etc...
J'espère vraiment que vous comprenez ce que je veux dire et m'expliquez un peut car je me perd pour choisir...
Ca fait longtemps que j'ai pas touché à SDL donc je sais plus trop à quoi ça ressemble au final, mais CoreGraphics n'est pas bien méchant, dessiner des formes et des bezierpaths ça change pas du principe de SDL.
En fait pour ce genre de jeu "en grille", il y a deux choix possibles en général :
- Soit tu n'utilises qu'une seule NSView et tu dessines tout à la main dedans, un bloc par ci, une case vide par là , un mur par ci, le joueur par là , ...
- Soit tu peux aussi utiliser une NSView par case (quitte à regarder du côté de NSMatrix, ça fait un bail que j'ai pas fait de prog Mac depuis que je taf sur iPhone mais il me semble qu'elle pourrait t'aider), et du coup tu fais une sous-classe de NSView par type de bloc (bloc, case vide, mur, joueur, case but...), et tu les places au bon endroit en tant que subview de la NSView qui représente tout ton terrain de jeu
- A la limite, ultime solution, tu fais un mix des deux : ta NSView qui représente ton aire de jeu, tu lui fais dessiner les parties fixes, et pour les parties mobiles (joueur, bloc mobile) tu utilises des NSViews distinctes, que tu mets en subview de la NSView de l'aire de jeu.
Dans tous les cas, faut une petite logique MVC qui va bien (M = Modèle représentant ton terrain modélisé sous forme de cases, par exemple un tableau de tableau d'enums CASE_VIDE,MUR,BLOC,CASE_BUT,... ou tout autre représentation de l'état courant de ton plateau de jeu ; V = la représentation visuelle de ton plateau de jeu, tel que décrit à l'instant).
Si jamais vous avez des tutoriels je suis preneur lol.
Personnellement je ne connais pas la syntaxe de l'Objectif-C mais j'ai de très bonne base en C++.
Et je vois pas comment avec Quartz j'arriverais à gérer les évènements.
Ensuite CoreGraphics je vois pas du tout ce que c'est (peut-être la gestion des évènements justement lol).
Si tu veux apprendre à gérer les événements et autres trucs du genre... Bah y'a pas de mystère, va falloir te mettre à l'Objective-C :P
Tu verras, la syntaxe est déroutante au début, faut s'y faire et apprendre à bien gérer la mémoire également... mais à part ça, tu retrouveras la plupart des concepts du C++ (classes, héritage, variable d'instance, méthodes membre, ...) enfin de la POO en général quoi.