[Projet] SokoTouch
Voici un jeu qui ne sortira sans doute jamais et que j'avais programmé y'a 1 an environ
http://www.eagle-of-liberty.com/sokotouch/Level1.mov
Un bon vieux Sokoban comme on les aime
ça reprend les memes niveau que MySokoban sur Mac (on avait demandé l'autorisateur aux développeurs / graphistes du jeu originel évidemment)
Je voulais juste vous le faire partager tant que j'y pense
http://www.eagle-of-liberty.com/sokotouch/Level1.mov
Un bon vieux Sokoban comme on les aime

ça reprend les memes niveau que MySokoban sur Mac (on avait demandé l'autorisateur aux développeurs / graphistes du jeu originel évidemment)
Je voulais juste vous le faire partager tant que j'y pense

Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Parce que je suis une vraie merde en ce qui concerne la programmation de jeux vidéos
Et puisque j'ai pas honte je vais vous expliquer comment j'ai fait xD
Déjà le truc super laid :
#1 Une image de fond qui représente le décor
#2 Une image pour le perso
#3 plusieurs images pour les caisses
Donc déjà pour un jeu, bosser avec des UIImageView.. heu bon c'est pas terrible ::)
-Pour déterminer l'emplacement des caisses sur le décor, j'avais fait un simple fichier .plist qui contient les origines X et Y de chacune des box au démarrage d'un level :fouf): (oui oui vous pouvez dire "OMG")
-Le personnage avait lui aussi un X et Y précis pour chaque level
Mais comment je gère la collision?
C'est assez con. Votre personnage commence à 0, 0. Si vous pouvez le faire aller en haut, alors vous rajoutez 0,1. S'il peut aller en haut puis à droite, vous rajoutez la case 1,1. Si il peut aller simplement à droite : 1,0.. Donc imaginez un peu le truc super chiant... mettre toutes les cases possibles.. erf..
Mais j'ai vraiment rien trouvé de mieux... ;D Et je suis fier de ma grosse bouze
Bhaaa c'est pas propre y paraà®t ;D Mais si c'est pour un petit jeu c'est vraiment rien
Surtout pas plusieurs views ; une grosse view pour dessiner tout en y affichant des images ressources... Pour gérer les éléments, ben... juste un tableau avec des nombres
Quand il y a un changement graphique, on ne redessine que les cases changées en appelant "setNeedsDisplayInRect:", qui doit bien sûr être optimisé en fonction de "rect"