Bonjour à tous
Je suis nouveau sur le forum mais cela fait déja un semestre que j'ai commencé la programmation avec les cours d'ISN de mon lycée. Nous travaillons sur le logiciel Processing et nous devons préparer un projet assez conséquent pour la fin de l'année, en vue d'un oral à passer pour le bac.
Nous avons carte blanche pour le projet de fin d'année, cependant la majorité des gens choisissent de créer des jeux vidéo. Dans mon groupe de travail (nous n'avonc pas échapper à la règle ), nous avons décider de nous lancer dans la création d'un jeu du type RPG en très (très très..) basic.
Le jeu se déroule donc dans un univers post apocalyptique (du type STALKER). Nous avons déja créé une sorte d'interface pour les "duels" sous la forme d'un Shoot Them Up. Cependant c'est pour la création de la map et les déplacement que nous nous retrouvons bloqués
En effet, ce n'est pas le déplacement du joueur sur la carte qui pose problème (il suffit juste de faire se déplacer la carte et de laisser le personnage au milieu de l'écran pour ceux qui se poseraient la question ), quoique un déplacement du personnage plus fluide serait le bienvenu .
Ce qui nous embête ce sont les "collisions", ou comment empêcher le personnage de traverser les mur, de passer au dessus de l'eau, etc... On avait l'idée d'empêcher l'activation des touches du key board lorsque nécesssaire pour éviter une collision (par exemple : appuyer sur la flêche de gauche n'a pas d'effet lorsque le personnage est accolé à la droite d'un mur). Cependant, cette méthode est très longue et laborieuse et elle nécessite de répéter l'opération pour chaque murs, cours d'eau, parois, façades... de la carte.
Si quelqu'un à une idée ou un bout de programmation permettant de "dire" au logiciel : "ceci est un mur, le joueur ne peut pas le traverser", je suis preneur
J'espère que je n'ai oublier aucune formalité en m'inscrivant, merci d'avance pour votre aide
Hors ligne
Salute,
Dans ce genre de projet, il faut premièrement favoriser la Programmation Orientée Objet pour une meilleure écologie du code; pour ne pas se retrouver à besogner sur des kilomètres de lignes. Ne pas hésiter à faire plusieurs classes (Item, Monstre, décor ou que sais-je...).
Ensuite, ce fil traite de la question des collisions par le biais de matrices :
http://codelab.fr/4974
Cela pourrait donner quelques idées de solutions...
Hors ligne
Merci pour tes conseils
Nous n'avions pas trop insister sur les objets en classe, je m'y met tout de suite ^^
J'avais comme idée de modeliser la carte sur photoshop avec une dizaine de pattern prédéfini maximum (de 10x10 pixels), ensuite je me rend sur processing, je scan la "carte"/"terrain" sur des cases de 10x10 à l'aide d'un tableau et en fonction des valeurs RGB de la case j'implante un objet d'une classe spécifique (mur par exemple) aux coordonnées de la case scannée et je défini les caractéristiques de la classe(ne pas traversé si joueur à coté) dans un autre onglet.
Est-ce que cela vous parait réalisable ?
Hors ligne
Rebonsoir à tous
J'ai donc utilisé la méthode que j'avais préconisé précédement
Le scan de la surface marche parfaitement bien, cependant, je n'arrive pas à faire correspondre un carré d'une certaine couleur à un certain objet :
"ArrayIndexOutOfBoundsException : -43" s'affiche...
Je vous envoie le programme qui marche en atttendant de trouver ce qui cloche sur l'autre
Hors ligne
Et voici le fichier sur lequel je bloque
Hors ligne
Non c'est bon finalement j'ai réussi a me débrouiller tout seul ^^
Du coup si quelqu'un veut avoir le programme je peux le mettre en ligne
Hors ligne
Pages: 1