begin process at 2012 05 28 10:50:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

Casse brique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Casse brique

mercredi 2 mars 2005 à 21:23:33 | Casse brique

HUSNET

Slt
en fait j'utilise c++ builder et je dois faire un casse brique en cours seulement je n'arrive pas
a trouver comment faire pour supprimer la brique au contact de la balle sans faire
plein de tests pour chaque brique et si quelqu'un a une astuce, bah ça serait super sachant
 que j'ai deja fait les trajectoires pour la balle... et il me reste plus que les briques...
merci d'avance
jeudi 3 mars 2005 à 13:53:01 | Re : Casse brique

Vulpetrus

Réponse acceptée !
Normalement tu n'as pas à faire plein de test,  pour un casse brique de taille m X n, tu travaille avec un tableau d'entier montab[m][n], tes briques  sont  representées dans ce tableau.
si montab[x][y] = 0 y a pas de brique à cette endroit
si  montab[x][y] = 1 il y a une brique  (=2 brique plus resistante =3 brique incassable etc ...)
montab[x][y] =  -1 il y a une de tes balles
comme tu connais ta trajectoir de ta  (tes) balle(s) (c'est toi qui l'a dit) , tu peux donc determiner quelle va être la nouvelle position de ta balle, tu fais un test sur cette nouvelle position, si il ya une brique, tu la détruis (en mettant montab[x][y] = 0) et tu change la trajectoire de ta balle. si  il y en a pas tu déplace ta balle à cette position. etc ...

y a pas plus simple je pense.
bon courage ;)
jeudi 3 mars 2005 à 18:19:29 | Re : Casse brique

HUSNET

Merci beaucoup pour ton conseil
Je pense que j'utiliserais des tableaux pour les briques:tab[i][j]=1 au debut
et ça dessineras la brique et -1 au cas ou il y a contact pour ne pas dessiner avec une condition et j'espere que ça marcheras.

si tu veux mon programme il se résume a peu pres a ça:
il est bidon, je sais   (je suis en premiere année de dut et je viens juste de commencer vcl et ça c'est mon projet)    mais je ferais des améliorations après avoir régler les problèmes les plus importants



//---------------------------------------------------------------------------
TForm1 *Form1;
int i, j;
float X=100, Y=100, A=5, B=5, C=550, D=680;

                                    //il faut aussi que je déclare les briques tab[i][j] et je les initialise a 1
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Refresh();
Canvas->Brush->Color = clYellow;
Canvas->Pen->Color = clBlue;
Canvas->Ellipse(X,Y,X+10,Y+10);
X=X+A;Y=Y+B;
if(Y<0){B=-B;}//equation de trajectoire de la balle au contact du mur
if(X>1020){A=-A;}
if(X<0){A=-A;}
Canvas->Brush->Color = clGray;
Canvas->Pen->Color = clBlue;
Canvas->Rectangle(C,D,C+200,D+20);
if(X>C)                  //equation de trajectoire de la balle au contact de la raket
        {if(X<C+200)
                {if(Y+10>D)
                        if(Y<D)
                        {
                        {if(X<C+25){A=-2.8*2;B=-0.8*2;}
                 else
                        {if(X<C+50){A=-2.3*2;B=-1.7*2;}
                 else
                        {if(X<C+75){A=-1.7*2;B=-2.3*2;}
                 else
                        {if(X<C+100){A=-0.8*2;B=-2.8*2;}
                 else
                        {if(X<C+125){A=0.8*2;B=-2.8*2;}
                 else
                        {if(X<C+150){A=1.7*2;B=-2.3*2;}
                 else
                        {if(X<C+175){A=2.3*2;B=-1.7*2;}
                 else
                        {A=2.8*2;B=-0.8*2;}
                        }}}}}}}}}}
for(i=0;i<20;i++)               //briques c'est la que je ferais ce que tu m'as dis
        {
                for(j=1;j<3;j++)
                {
                        Canvas->Brush->Color = clRed;
                        Canvas->Pen->Color = clBlue;
                        Canvas->Rectangle(i*50,j*20,(i+1)*50,(j+1)*20);

                }
        }
}

void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{

if(X<925)         //mouvement de la raket
        {if(X>100)
                {
                C=X-100;
                }
        }

}

jeudi 3 mars 2005 à 18:32:46 | Re : Casse brique

Vulpetrus

Perso, j'utilise visual c++, c'est trés convivial.
Bonne chance pour ton projet. ;)
jeudi 3 mars 2005 à 20:32:17 | Re : Casse brique

HUSNET

en fait moi aussi j'utilise visual (c++ builder 5) je me suis trompé
et au fait merci parceque ça commence à marcher sauf que les images n'arrete pas de clignoter, je pense que c'est à cause du timer mais j'arrive pas à résoudre le pb
En tout cas merci pour ton conseil


Cette discussion est classée dans : casse, balle, brique


Répondre à ce message

Sujets en rapport avec ce message

casse brique pb collision [ par mat74 ] voila je suis en train de faire un casse brique et je n'arrive pas a gerer les collisions entre les briques et la balle "correctement" .je connais le pb lancer executable [ par mat74 ] salut a ts voila je suis en train de faire un casse brique . j'ai également fais un éditeur de niveauce sont 2 exe différent mais j'aimerais pouvoir l Casse Brique Besoin URGENT d'aide [ par paulina82 ] Bonjour Je dois programmer un casse brique en opengl,mais je n'y comprend rien.Est ce que vous avez des exemples de programmation pour que je puisse y probleme de collision casse brique en c [ par loizokitue ] bonjour a tous je fais un casse brique en C pour un projet que je dois rendre ... le probleme est que l'on a pas le droit aux librairy graphiques... j Jeu de plateforme : balle [ par ketinu ] Bonjour à tous,J'ai un projet à effectuer pour les cours. Il consiste à créer un jeu, le jeu que je souhaite créer est un jeu de plateforme : une ball Problème rencontré pour un projet de Mini Golf avec C en OpenGl: Rotation [ par Volkan78220 ] Bonjour,Je rencontre actuellement quelques problèmes lors de la réalisation de mon projet : un mini golf...Rotation de la flèche indiquant la directio jeu SDL [ par uzixucf ] bonjour tout le monde, je suis nouveau d'entre vousje suis entrain de developper un jeu en SDL (language C)  qui se présente ainsi                     Loi de newton. [ par ralekely ] Bonjour à tous!Je souhaite resoudre un problème, qui je dois avouer, est plus un problème physique qu'un problème de code.Voilà: Je souhaite modeliser jeu de tir en c++ [ par Damocless123 ] Bonjour, J'ai un jeu de tir en c++ à faire, mais j'ai de la difficultés lorsque vient le temps de programmer la trajectoire de la balle. j'ai un pet


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,732 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales