Projet bomberman !

redfox55555 Messages postés 3 Date d'inscription vendredi 1 avril 2005 Statut Membre Dernière intervention 16 décembre 2006 - 8 avril 2005 à 23:28
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 - 13 avril 2005 à 18:13
Bonjour,
Je suis etudiant et je realise un projet Bomberman avec delphi !
J'ai deja fait le deplacement des personnage avec le blocage des murs exterieurs mais
je n'arrive pas a trouver une procedure qui me permet de bloquer le bomberman sur
les cases(murs) au centre de la map!
Merci davance pour votre aide

3 réponses

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
9 avril 2005 à 00:04
il faut faire un test avant le déplacement : si la case d'à côté est vide, on avance, sinon rien ne se passe...


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
0
redfox55555 Messages postés 3 Date d'inscription vendredi 1 avril 2005 Statut Membre Dernière intervention 16 décembre 2006
13 avril 2005 à 14:39
J'y suis toujour pas arriver, en faite je n'arrive pas a lui dire que :
-si bomberman rencontre "mur1" alors bomberman ne bouge pas.

si quelqu'un pouvait m'aider ca serai pas mal merci d'avance !
0
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
13 avril 2005 à 18:13
En delphi ça donnerait bien quelquechose comme ça :

TBomberman = class
private
position : TPoint ;
protected
function RencontreMur( X, Y ) : Boolean ;
public
procedure Deplacement ;
end ;

function TBomberman.RencontreMur( X, Y ) : Boolean ;
begin
Result := TableDesMurs[X,Y] ;
end ;

procedure TBomberman.Deplacement ;
begin
case ToucheAppuyee of
FlecheDroite :
if ( not RencontreMur( Position.X + 1, Y ) ) then Position.X := Position.X + 1 ;

FlecheGauche :
if ( not RencontreMur( Position.X - 1, Y ) ) then Position.X := Position.X - 1 ;

FlecheHaut :
if ( not RencontreMur( X, Position.Y + 1 ) ) then Position.Y := Position.Y + 1 ;

FlecheBas :
if ( not RencontreMur( X, Position.Y - 1 ) ) then Position.Y := Position.Y - 1 ;
end ;
end ;

Cordialement.
0
Rejoignez-nous