Je vais quand même participer, Juste pour apprendre...
où j'en suis :
ce qui ne va pas
flèches du clavier pas résolu. j'utilise des boutons à cliquer (pas pratique)
toujours pas de formes complexes. c'est obligatoire ?
ce qui va
bug collision résolu. je ne rencontre plus de problèmes
gestion d'un ligne pleine résolue... et toutes les briques descendent d'une ligne (faut dire qu'actuellement il n'y a que la ligne du bas (ou une colonne) qui peut se remplir...)
mais ça progresse... mais encore du boulot...
Bonjour,
j'ai essayé mais je n'ai pas bien compris comment ça marchait...
voir ...
Pour ne pas cliquer (pour l'instant) j'ai mis &A et &P dans les caption (avec alt+A et alt+P) ça dépanne. mais c'est provisoire...
et comme je suis en ce moment sur un autre point du programme ce n'est pas l'urgence immédiate...
merci.
Pourtant, tout est dit dans la discutions Je comprends pas vraiment ton problème, car quand je fais ça, ça marche.
Tu vas dans les events de ta Form, et tu choisie OnKeyDown ou OnKeyPressed je sais plus. Et tu utilise les constante données dans la discution pour récupéré les flèches directionnelles.
oui ça marche...
la discussion ayant évolué, une solution a été donné... 1 point de moins pour mon projet sans doute...
J'avais du faire un test un peu trop rapide la 1ere fois..
je viens d'utiliser KeyDown
sinon est-ce bien comme cela qu'on appelle une procédure déjà créée ?
dans mon cas ça fonctionne mais ce n'est peut-être pas très propre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState ); begin case Key of VK_RIGHT: Button4Click(form1); VK_LEFT: Button3Click(form1); ...
Salut
Ya pas de raisons ... Le but d'un forum c'est d'aider, pas de penaliser1 point de moins pour mon projet sans doute...
En fait, le parametre, c'est Sender. Donc, normalement, tu devrais lui passer en parametres le bouton sur lequel tu est censé cliquer, du genre Button4Click(Button4);.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState ); begin case Key of VK_RIGHT: Button4Click(form1); VK_LEFT: Button3Click(form1); ...
Apres, tu peux tres bien lui passer nil, si ton code dans ta procedure Button4Click ne tiens pas compte du parametre Sender. Le plus propre reste de faire une procedure DeplacerDroite par exemple, et de l'appeler dans le ButtonClick et dans le KeyDown.
Un petit conseil qui sera surement payant : renomme tes composants !!!
Articles :
Création d'un système de chat en Pascal
Programmes :
Défi Pascal 2011 - Mon Tetris
Défi Pascal 2010 - Mon système de chat
Défi Delphi 2009 - Mon Sudoku Solver
Retrouvez mes différents projets sur ma page personnelle.
comme tu as déjà une réponse éclairée j'ajoute juste un commentaire sur ton usage de Form1 comme paramètre des méthodes click.
ça fonctionne, y'a pas à dire, mais c'est une très mauvaise habitude dont tu devrais te débarrasser. Ton application ne possède probablement qu'une seule fiche de type TForm1 et la variable globale Form1 pointe sur la seule instance de cette fiche ... mais imaginons que demain tu veuilles lancer deux tétris en parallèle pour corser le jeu. Tu vas créer deux fiches TForm1 l'une à côté de l'autre...sauf que la variable Form1 ne pourra pointer que sur une seule des deux. Avec ton code le clic sur le bouton1 d'une fiche va fonctionner, le clic sur le bouton1 de l'autre fiche fera bouger la pièce de la première !
alors comment accéder à la fiche sans passer par la variable form1 ? tout simplement avec le mot clé Self qui à l'intérieur d'une méthode de la fiche te retourne l'instance de celle-ci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 procedure TForm1.Button1Click(Sender); begin if Self = Form1 then ShowMessage('C''est pratique !'); end;
Alors vous en êtes où ? Bientôt fini ??
La deadline approche à grands pas
M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal
Articles :
Création d'un système de chat en Pascal
Programmes :
Défi Pascal 2011 - Mon Tetris
Défi Pascal 2010 - Mon système de chat
Défi Delphi 2009 - Mon Sudoku Solver
Retrouvez mes différents projets sur ma page personnelle.
Bonsoir,
j'ai livré ma version ce soir... je suis dans les délais...
à part ça la version livrée a le mérite d'exister, sans plus... c'est même pas un Tetris....
J'ai fait ce que j'ai pu avec le peu que je connaissais en la matière...
Bonne continuation aux autres...
Le défi est prolongé jusqu'au 31 décembre 2011.
Règles du forum
Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
Mes tutoriels et sources Pascal
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]
Nous avons pour l'instant reçu deux projets.
N'hésitez pas à renvoyer des versions améliorées, c'est la dernière en date qui sera prise en compte pour le défi.
Règles du forum
Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
Mes tutoriels et sources Pascal
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]
Ok cool, j'envoi la bêta1 ce soir Elle marche elle compile, mais à mon avis, faut être informaticien pour savoir s'en servir
Et de trois ! Super
Règles du forum
Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
Mes tutoriels et sources Pascal
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]
je viens revoir ma mainloop ce soir. c'est fou ce qu'on gagne en rapidité quand on change juste les lignes de place! maintenant, mon programme est au moins 10x plus rapide
Alors ça avance ? la date va venir venir vite
Bon aller quelque screen de mon projet
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager