IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Pascal Discussion :

Défi Pascal 2011 : un jeu librement inspiré du Tetris


Sujet :

Pascal

  1. #41
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    ça donne :
    A - je crée un nouvelle pièce aléatoire, si collision -> fin de partie !
    B - doit-on faire une rotation ? si oui, faire la rotation -> si collision, annuler la rotation !
    C - la pièce descend d'une case -> si collision, remonter d'une case et passer à la pièce suivante !

    et il faut également tester les lignes complètes évidemment ^^ mais ça n'est pas le plus dur
    Grace a toi, j'ai corrigé une 10ene de bug, parceque je ne testait pas dans le bon sens. Merci !

  2. #42
    Membre averti
    Avatar de joreveur
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2010
    Messages : 293
    Points : 365
    Points
    365
    Par défaut
    Citation Envoyé par joreveur Voir le message
    Pour l'instant je n'ai qu’une seule forme... (un carré de 1x1) et j'ai un gros bug concernant la collision. bug que je m'explique pas... tant que je ne résous pas je vais pas plus loin...
    comme je suis parti dans l'idée de la vitesse de déplacement avec le composant Ttimer que je paramètre, je ne dois pas être synchro entre l'affichage et ce qui se passe d'où la brique qui ne fait pas ce que j'escomptai...
    Quand au multiformes je ne l'ai même pas envisagé...
    à suivre ou pas...

    voila où j'en étais..
    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...

  3. #43
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    Citation Envoyé par joreveur Voir le message
    ce qui ne va pas
    flèches du clavier pas résolu. j'utilise des boutons à cliquer (pas pratique)
    Pourquoi n'utilise tu pas l’évènement OnKeyPressed ?

  4. #44
    Membre averti
    Avatar de joreveur
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2010
    Messages : 293
    Points : 365
    Points
    365
    Par défaut
    Citation Envoyé par titeeee Voir le message
    Pourquoi n'utilise tu pas l’évènement OnKeyPressed ?
    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.

  5. #45
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    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.

  6. #46
    Membre averti
    Avatar de joreveur
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2010
    Messages : 293
    Points : 365
    Points
    365
    Par défaut
    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 ?

    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);
    ...
    dans mon cas ça fonctionne mais ce n'est peut-être pas très propre ?

  7. #47
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Salut

    1 point de moins pour mon projet sans doute...
    Ya pas de raisons ... Le but d'un forum c'est d'aider, pas de penaliser

    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);
    ...
    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);.

    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 !!!

  8. #48
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Citation Envoyé par joreveur Voir le message
    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 ?

    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);
    ...
    dans mon cas ça fonctionne mais ce n'est peut-être pas très propre ?
    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;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  9. #49
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    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

  10. #50
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Citation Envoyé par wormful_sickfoot Voir le message
    Alors vous en êtes où ? Bientôt fini ??

    La deadline approche à grands pas
    ah oui tient, je pensais que c'était pour la fin d'année ^^

    bon ben je n'aurais rien à proposer alors
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  11. #51
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    ah oui tient, je pensais que c'était pour la fin d'année ^^

    bon ben je n'aurais rien à proposer alors
    Alala, un bon programmeur comme toi le fait en 3 jours !

    Pour ma part, j'espere que je finirai à temps !

  12. #52
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Citation Envoyé par mick605 Voir le message
    Alala, un bon programmeur comme toi le fait en 3 jours !

    Pour ma part, j'espere que je finirai à temps !
    J'ai hâte de voir de voir le résultat.

    Bon courage !

  13. #53
    Membre averti
    Avatar de joreveur
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2010
    Messages : 293
    Points : 365
    Points
    365
    Par défaut
    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...

  14. #54
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Citation Envoyé par mick605 Voir le message
    Alala, un bon programmeur comme toi le fait en 3 jours !

    Pour ma part, j'espere que je finirai à temps !
    oui mais j'ai une vie en dehors de Delphi ^^
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  15. #55
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 416
    Points
    59 416
    Billets dans le blog
    2
    Par défaut
    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]

  16. #56
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 416
    Points
    59 416
    Billets dans le blog
    2
    Par défaut
    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]

  17. #57
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    Ok cool, j'envoi la bêta1 ce soir Elle marche elle compile, mais à mon avis, faut être informaticien pour savoir s'en servir

  18. #58
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 416
    Points
    59 416
    Billets dans le blog
    2
    Par défaut
    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]

  19. #59
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    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

  20. #60
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    Alors ça avance ? la date va venir venir vite

    Bon aller quelque screen de mon projet
    Images attachées Images attachées    

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 29
    Dernier message: 26/10/2013, 16h40
  2. [Delphi] Défi Pascal 2011 - Tetris - Projet de titeeee
    Par EpiTouille dans le forum Codes sources à télécharger
    Réponses: 3
    Dernier message: 08/01/2012, 12h22
  3. [Delphi] Défi Pascal 2011 - Tetris - Projet de mick605
    Par Alcatîz dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 04/01/2012, 21h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo