Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

JEU DU REVERSO


Information sur la source

Catégorie :Jeux Classé sous : bitmap, animation, scanline, jeu, ressource Niveau : Débutant Date de création : 23/08/2008 Date de mise à jour : 24/08/2008 15:33:23 Vu / téléchargé: 2 379 / 144

Note :
6,67 / 10 - par 3 personnes
6,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (30)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Bonjour,
voici un jeu sans grande prétention, de Reverso.
Il se nomme Reversi (héhé).
Bon le code est assez concis (malgré quelques redondances inévitables ...) et simple.

Si vous ne connaissez pas les règles les voici :

Le jeu commence avec un nombre défini de cases, noires ou blanches.
Le but du jeu est de retourner toutes les cases afin d'obtenir uniquement des cases blanches.
Quand vous cliquez sur une case, cette case et toutes les cases adjacentes inversent leurs couleurs.
A règles simples, jeu simple !

Voici les principales difficultés rencontrées :

- l'animation de la case qui inverse sa couleur.

C'est tout ...

Sinon je trouve que avec seulement 6 images (60 * 60), l'animation est très bien rendue, et très sympathique.
Un exemple également de comment jouer un son depuis une ressource mémoire ...

Un exemple de ScanLine également, qui modifie la luminosité du plateau de jeu, avec l'aide de la molette de la souris (augmente ou descend ...).

Vous remarquerez que j'ai essayé d'alléger le zip au maximum, avec seulement 6 images et 1 son (en fait il y en a 2 mais j'en utilise un qui se trouve dans Windows\Media. ^^

Vous assisterez également à la plus forte compression jamais vue (à ma connaissance) d'un fichier DFM, avec moins de 5% de ratio compression !

Main.dfm = 406.200 octets.
Compressé = 8306 octets.

Enfin bon ...
 

Conclusion

Bon ben les remarques, critiques, conseils, etc ... sont les bienvenus !

Cordialement, Bacterius !
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • GameType.dfmTélécharger ce fichier [Réservé aux membres club]3 926 octets
  • GameType.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 594 octets
  • Main.dfmTélécharger ce fichier [Réservé aux membres club]406 411 octets
  • Main.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier12 630 octets
  • ReversoExe.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier351 octets
  • ReversoExe.resTélécharger ce fichier [Réservé aux membres club]1 748 octets
  • Sounds.RESTélécharger ce fichier [Réservé aux membres club]2 376 octets

Télécharger le zip

Historique

23 août 2008 17:08:34 :
// Oublié de mettre BorderStyle à bsSingle
23 août 2008 17:24:19 :
// Petit bug image de fond
24 août 2008 15:33:23 :
// Utilisation ScanLine + Correction du bug du Canvas [merci Débiars :) ]

Commentaires et avis

signaler à un administrateur
Commentaire de Bacterius le 23/08/2008 17:10:16

Source codée sous Delphi 6 Personal Edition (bientôt TurboDelphi ...)
J'ai également fait une mise à jour critique 2 secondes après le post de cette source, j'avais oublié de mettre la propriété BorderStyle de la fenêtre principale à bsSingle (elle était à bsSizeable, et on pouvait redimensionner la fenêtre, c'était pas bon).

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de Bacterius le 23/08/2008 17:25:31

Bon un dernier petit bug, l'image de fond était chargée dans le Bitmap du TImage, et donc ça balancait une exception à chaque fois qu'on mettait un JPEG ... c'est corrigé ^^

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de John Dogget le 23/08/2008 17:42:40

Lu :)

J'ai le même soucis qu'avec ta dernière source, c'est à dire que la fenêtre est toute noire (elle est verte sur ta capture).
Sinon, ça marche bien, c'est codé proprement, comme d'hab quoi -> 8/10

signaler à un administrateur
Commentaire de John Dogget le 23/08/2008 17:43:04 8/10

Oups, oublié la note ...

signaler à un administrateur
Commentaire de Bacterius le 23/08/2008 17:50:55

Encore ce problème de WindowsXP.RES ? Faudra voir d'ou ça vient véritablement un de ces jours ^^
Sinon merci :)
Mais n'as-tu pas de remarques, de conseils, etc ?
Et que penses-tu de l'animation de "flip" quand les couleurs s'échangent ? Car j'ai fait cette source principalement pour cela ^^

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de Bacterius le 23/08/2008 18:46:01

Bonjour,
je viens de déceler un bug dans mon source. Rien de bien méchant, voilà :

Quand vous faites par exemple un jeu à 5*5 cases, le canevas s'auto-redimensionne pour remplir l'image.
Seulement si vous refaites ensuite une partie à 7*7 (plus grande surface en tout cas), le canevas ne se redimensionne pas, et donc les cases dans la surface non gérée par le canevas ne s'affichent pas.
J'ai essayé Canvas.ClipRect mais, lecture seule.
Quelqu'un sait-il comment agrandir un canevas ?

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de blueperfect le 23/08/2008 22:00:46

Belle source !

Un truc marrant à faire avec ScanLine est l'éclairage d'un plateau....

signaler à un administrateur
Commentaire de Bacterius le 23/08/2008 22:49:12

Ah bonne idée d'augmenter la luminosité du plateau de jeu ... pourquoi pas l'augmenter, la descendre, aléatoirement ? lol

Mais personne n'a une idée pour le bug spécifié dans mon dernier message (pas celui-ci) ?

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de blueperfect le 23/08/2008 23:08:14

Tu ne peux pas aggrandir un TCanvas, par essence abstrait !

Par contre, avec Windows.SetWorldTransform, tu dois pouvoir appliquer un facteur aux affichages...

Pour la luminosité, penses à l'orientation du faisceau !

signaler à un administrateur
Commentaire de Bacterius le 23/08/2008 23:22:26

Hmm n'existe-t-il pas une façon simple de définir le ClipRect d'un Canvas ?

Sinon pour le faisceau de lumière ne t'inquiete pas j'ai pensé à tout, par contre j'espère que ça ne ramera pas trop au final ...

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de blueperfect le 23/08/2008 23:53:38

Je crois que c windows qui le définit, le fameux cliprect...

sinon, au lieu de dessiner sur le canvas, dessine sur un bitmap-buffer, et fait un stretchdraw sur ton canvas....

Avec ScanLines ça fuse : tu fais un copyrect de ton canvas dans un tbitmap, et tu joues avec scanline...

signaler à un administrateur
Commentaire de Bacterius le 24/08/2008 00:02:18

Ca ne change rien le stretch-draw.

J'ai essayé InvalidateRect pour modifier le cliprect, mais rien n'y fait ... :x

Sinon pour le faisceau d'eclairage j'avais pensé encore plus simple :

un bitmap avec l'image du plateau de jeu
un bitmap avec une ellipse blanche sur fond noir, l'ellipse est dessinée à l'endroit du curseur

un BitBlt avec un morphing de couleurs entre les deux ...

Mais j'ai pas encore essayé.

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de blueperfect le 24/08/2008 02:02:19

http://www.delphifr.com/codes/EFFET-LAMPE-TORCHE_28402.aspx

signaler à un administrateur
Commentaire de Debiars le 24/08/2008 09:58:23

B'jour;
Essaye ceci :
Dans la procédure DrawAll, immédiatement après le Begin,
ajoute "Img.Picture := nil;"

J'ai également un fond noir ???

signaler à un administrateur
Commentaire de Bacterius le 24/08/2008 14:13:01

Aah parfait ça marche Débiars :)
Pour le fond noir ça vient de {$R WindowsXP.RES}, je vais l'enlever (dommage n'empêche ...). Je le remplace par XPMan, on sait jamais, et si jamais ça marche pas, tant pis je l'enleverai ...

Sinon pour l'effet de faisceau ... je vais y reflechir ...

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de Bacterius le 24/08/2008 15:34:45

Et voilà, le bug est corrigé et j'ai trouvé quelque chose à faire avec ScanLine (luminosité modifiable avec molette souris !)
Si vous rencontrez encore des problèmes d'écran noir, enlevez "XpMan" dans les Uses.

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de blueperfect le 24/08/2008 15:41:03 4/10

Tu pourrais aussi intégrer une loupe !

signaler à un administrateur
Commentaire de Bacterius le 24/08/2008 16:03:04

Une loupe ? Pourquoi faire ?

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de Bacterius le 24/08/2008 16:04:48

4 ?? Pourquoi ma source a-t-elle merité cette note ?
Ques-ce qui ne va pas ? :O

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de blueperfect le 24/08/2008 16:09:27

Veux-tu t'améliorer : je te note 4...
Veux-tu être le meilleur : Je ne te noterais pas !

Sinon, je suis sur un projet, ça t'interresse ?

signaler à un administrateur
Commentaire de Bacterius le 24/08/2008 16:35:01

Je veux m'améliorer mais si tu as noté 4 c'est que la source a un problème quelque part ?

Et pour ton projet, dis toujours de quoi ça parle ?

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de blueperfect le 24/08/2008 16:47:44

Ta source, comme c pas moi qui l'est écrite, elle vaut moins que le compilateur de Borland, mais plus que rien...

En fait j'adore l'othello !

Sinon, mon projet, il parle de sélection 3D dans des sphères, de vie de documents dans l'entreprise et de communications entres objets dédiés (les idées), pour aboutir à une sorte de réseau neuronique des connaissances injectées dans un disque dur !

signaler à un administrateur
Commentaire de Bacterius le 24/08/2008 16:52:16

"Ta source, comme c pas moi qui l'est écrite, elle vaut moins que le compilateur de Borland, mais plus que rien..."

je vois ...

"Sinon, mon projet, il parle de sélection 3D dans des sphères, de vie de documents dans l'entreprise et de communications entres objets dédiés (les idées), pour aboutir à une sorte de réseau neuronique des connaissances injectées dans un disque dur !"

woah je ne crois pas être a la hauteur ^^' déjà que chuis pas doué en SVT ...

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de Debiars le 24/08/2008 17:10:07

Problèmes avec la dernière version :

- C'est quoi l'unité Buttons pleine d'erreurs

- et où puis-je trouver Fluidificateur ?

Merci

jp

signaler à un administrateur
Commentaire de cantador le 24/08/2008 17:14:45 8/10

Quelques soucis avec l'unité "fluidificateur" non présente.
et le clic sur la molette fait varier la luminosité déclenche aussi l'inversion des couleurs.

L'idée n'est pas neuve car on peut trouver ici ou là des jeux exploitant cette technique d'inversion..

Mais, ce source est bien soigné et le design est agréable.
C'est un beau travail.

signaler à un administrateur
Commentaire de Bacterius le 24/08/2008 17:18:58

Hmm je ne sais pas d'ou vient Buttons, et le fluidificateur c'était pour un test et j'ai oublié de l'enlever. On peut enlever Buttons + Fluidificateur je pense ...
Je n'avais pas vu qu'un clic sur molette inversait les couleurs ?
Sinon je voulais juste tester un peu ScanLine, car je viens de m'y initier ^^
D'ailleurs je prépare un composant (mon premier ^^) qui utilise les ScanLine massivement.

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de blueperfect le 25/08/2008 16:41:25

Pour la qualité du code, je rigolais... j'ai pas à juger !

Sinon, en ce qui concerne tes "compétences" : tout s'apprends, il suffit de s'y interresser !

signaler à un administrateur
Commentaire de cantador le 25/08/2008 19:07:31

@Bacterius:
tu traites l'éclairage lors de la création du tableau alors qu'aucun choix n'est encore pris.
il serait peut-être mieux de le faire uniquement sur la roulette évitant ainsi de tout redessiner.

signaler à un administrateur
Commentaire de Bacterius le 25/08/2008 19:35:32

Comment ça ?
Si l'on le fait que sur la roulette, à chaque changement de couleur, tout se redessine et les changements de luminosité sont perdus ?

Cordialement, Bacterius !

signaler à un administrateur
Commentaire de cantador le 25/08/2008 19:48:26

Peut-on modifier la luminosité sans redessiner ?

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Mettre un Bitmap en fond de form depuis une ressource sur une Dialog en ressource aussi [ par RocketSpawn ] Déjà, merci de vous interresser à mon problèmes ! :)Donc en fait, j'ai en ressource, une Dialog, un icon et un Bitmap, et je voudrais savoir comment m Problème lors de la compilation d'une ressource [ par John Dogget ] Bonjour à tous. Je ne parviens pas à compiler mon fichier ressources ... Dans mon repertoire de travail, j'ai deux bitmaps : Activer.bmp création d'une animation/jeu sur site web : cherche développeur [ par Kelper ] Bonjour,   Deux questions du 'nouveau' en forme d'aveu..Je ne sais même pas comment on définit en queqlues mots API et ActiveX&nbs Application de jeu en réseau [ par Spikto ] Bonjour je souhaites faire un partie en réseau où un joueur peut heberger une partie et que un joueur puisse la rejoindre. Et je voudrais fa Animation d'images 3D + Powerpoint [ par bouzegza ] bonjour, je veut m'informer sur l'animation en delphi surtout un exemple qui montre la rotation d'une image, les différents effets sue les images Rave Report et Bitmap transparent [ par macpc ] Bonjour à tous,Je n'arrive pas à activer la transparence des bitmap lors des impressions à l'aide de Rave Report, alors qu'elle est cor Faire un Xfire-like ou fraps-like [ par jpalluel ] Bonjour, j'aimerai faire un petit programme qui, à la maniere de xfire, permette de faire apparaitre/disparaitre des messages pendant un jeu vid Graphisme / TBitmap TPaintBox [ par jadsof ] Bonjour,   Je suis entrain de créer une application graphique afin d'afficher un chemin de fer (liste de pages): Chaque page est c ecrire bouton [ par jmjmjm ] J'ai un petit probleme, j'ai une serie de bouton Button1,Button2,Button3,Button4......et je veux ecrire dedant de facon aleatoire :For I := 0 to 12 do Donnee pixels ds1fichier txt -> image [ par Nicolas___ ] Tout d abbord BONJOUR,Bon le sujet n est peut etre pas bien expliquer donc je vous mets ce code :procedure TForm1.EnregisterClick(Sender: TObject);var


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,998 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.