Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Défi Pascal 2011 : Un jeu librement inspiré du Tetris
. Faites preuve d'originalité et de créativité

Le , par Alcatîz

0PARTAGES

1  0 
Bonjour à toutes et à tous,

Pour cette année 2011, l'équipe Pascal a essayé de proposer un défi accessible à tous (contrairement à 2010 ) et offrant suffisamment de challenge aux développeurs expérimentés. Le choix s'est porté sur un jeu librement inspiré du célèbre Tetris.

Vous pouvez laisser s'envoler votre imagination : il n'y a aucune contrainte de plateforme ni de compilateur... du moment que ce soit du Pascal.
L'originalité, la créativité et l'ergonomie sont des critères importants; n'ayez donc pas peur de vous lancer si vous êtes débutant(e).

Voici le règlement complet du défi :

Cahier des charges :

Réaliser un jeu librement inspiré du Tetris.



Nous ne pouvons imaginer que vous ignoriez ce dont il s'agit : http://fr.wikipedia.org/wiki/Tetris.

Les règles du jeu de base sont connues, rien ne vous empêche de les modifier avec originalité (multijoueur, en trois dimensions...).

Le choix de la plateforme et du compilateur sont entièrement libres ! Que ce soit sur Windows, Linux, MacOS, Android, etc : peu importe.
Que ça tourne sur PC, téléphone mobile, Nintendo DS, WII, etc : peu importe.
Que vous utilisiez Turbo Pascal, Lazarus, Delphi, Flash Pascal, Turbo51, etc : peu importe.

Le but est double :
  • 1. Vous éclater,
  • 2. Nous étonner !


Date limite :

Les sources pourront être envoyés à Alcatîz jusqu'au 31-12-2011.
Au fur et à mesure de la réception des sources, la liste des participants sera mise à jour à la suite de ce message.

Surtout ne postez pas vos sources sur le forum.

Notation :

Les différents projets seront classés selon les différents critères ci-dessous. Le premier classé dans chaque critère recevra 5 points, le second 4 points... jusqu'au 5ème, qui recevra 1 point.
Le projet qui totalisera le plus de points sera le gagnant.

Voici les différents critères :
  • Originalité et créativité;
  • Look et ergonomie;
  • Qualité du package (source + manuel d'installation et d'utilisation);
  • Qualité du code (rapidité, exempt de bugs, gestion des exceptions...);
  • Originalité technique (plateforme originale, compilateur exotique, technologie...)


Participants :

joreveur (projet envoyé le 31-10-2011) ;
mick605 (projet envoyé le 31-10-2011) ;
titeeee (projet envoyé le 01-11-2011) ;
Paul TOTH (projet posté le 16-12-2011).

Publication des résultats :

Les résultats seront publiés dans le courant du mois de février 2012.

Soyez inventifs et mettez-en nous plein la vue !
Bonne chance à tous les candidats.

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de M.Dlb
Rédacteur/Modérateur https://www.developpez.com
Le 03/01/2012 à 21:28
Voici les miennes:

Tetris
2  0 
Avatar de Alcatîz
Responsable Pascal, Lazarus et Assembleur https://www.developpez.com
Le 31/01/2012 à 21:48
Et voici les résultats !

Il est dommage de devoir départager les quatre participants car ils ont investi beaucoup de leur temps dans ce défi et les quatre jeux que nous avons reçus valent vraiment le détour. Mais il faut un gagnant...

Pour rappel, les quatre projets ont été classés par les quatre membres du jury selon les cinq critères suivants :
  • Originalité et créativité : deux projets se sont démarqués du Tetris original, dont un très franchement
  • Look et ergonomie : nous avons vraiment été gâtés !
  • Qualité du package (source, manuel d'installation et d'utilisation, aide en ligne...) : il faut bien avouer que ce n'est pas le poste dans lequel les candidats ont investi le plus d'énergie.
  • Qualité du code (rapidité, exempt de bugs, gestion des exceptions...) : foncez vite télécharger les codes sources :
  • Originalité technique (plateforme originale, compilateur exotique, technologie...) : sur ce point, les solutions multiplatformes ont pesé lourd dans la balance.

Chaque projet s'est distingué dans au moins un des cinq critères :
  • Originalité et créativité : mick605 ;
  • Look et ergonomie : mick605 ;
  • Qualité du package : titeeee ;
  • Qualité du code : Paul TOTH ;
  • Originalité technique : joreveur.


Allez, nous ne vous faisons pas languir plus longtemps, le vainqueur du défi Pascal 2011 est :

titeeee

Bravo à lui !
2  0 
Avatar de mick605
Membre chevronné https://www.developpez.com
Le 19/07/2011 à 10:54
Si j'ai bien compris, il s'agit de faire une libre adaptation du jeu, donc pas de recréer exactement un Tetris ... A toi d'ajouter, enlever, modifier le jeu pour le rendre intérressant ...

Les règles du jeu de base sont connues, rien ne vous empêche de les modifier avec originalité (multijoueur, en trois dimensions...).
En tout cas, je participe !
1  0 
Avatar de Alcatîz
Responsable Pascal, Lazarus et Assembleur https://www.developpez.com
Le 25/08/2011 à 9:32
Citation Envoyé par wormful_sickfoot Voir le message
Je participe également...

A base de SDL...
Oui mais toi tu ne peux pas gagner...
1  0 
Avatar de darrylsite
Rédacteur https://www.developpez.com
Le 27/08/2011 à 16:55
Citation Envoyé par titeeee Voir le message
Bonjour, j'aimerai un développeur pascal pour m'épaulé un peut, parce que j'ai bien commencé, et j'ai des bug que je ne sais pas du tout résoudre. Donc si quelqu'un et partant, qu'il me contacte. Merci !
Salut,

Si c'est pour le défi, le forum est toujours disponible. Il suffit de ne pas dévoiler ta solution.
1  0 
Avatar de darrylsite
Rédacteur https://www.developpez.com
Le 05/09/2011 à 12:00
Citation Envoyé par joreveur Voir le message
bonjour,

et la 3D avec Lunettes ?

sérieusement, je ne sais même pas si je vais arriver à coder quelque chose en 2D...

pour l'instant j'arrive juste à faire descendre un carré et à le déplacer pendant la descente à droite ou à gauche... pas très avancée mon affaire...
Vous êtes donc déjà bien avancé si vous pouvez descendre et deplacer un carré. Quelques heures de plus et vous pourrez manipuler des formes.

Bon courage
1  0 
Avatar de mick605
Membre chevronné https://www.developpez.com
Le 07/09/2011 à 17:25
Salut,

Quand vous dites :
Citation Envoyé par Alcatîz Voir le message
[*]Originalité technique (plateforme originale, compilateur exotique, technologie...)
Vous parlez de ca ?

[ame="http://www.youtube.com/watch?v=Hui5Azx5jQo"]Scopetris demo - YouTube[/ame]
1  0 
Avatar de mick605
Membre chevronné https://www.developpez.com
Le 22/09/2011 à 1:15
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
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 !!!
1  0 
Avatar de Paul TOTH
Expert éminent sénior https://www.developpez.com
Le 22/09/2011 à 6:09
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
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
1
2
3
4
5
 
procedure TForm1.Button1Click(Sender);
begin
  if Self = Form1 then ShowMessage('C''est pratique !');
end;
1  0 
Avatar de joreveur
Membre averti https://www.developpez.com
Le 13/12/2011 à 13:23
trop bien

j'espère que tu seras le 1er
1  0