begin process at 2010 02 10 05:02:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > JEU DU SOLITAIRE AVEC LES PIONS

JEU DU SOLITAIRE AVEC LES PIONS


 Information sur la source

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Jeux Classé sous :jeu, solitaire, pions, bitmap, ini Niveau :Initié Date de création :02/08/2008 Date de mise à jour :15/08/2008 18:49:16 Vu / téléchargé :6 803 / 311

Auteur : Bacterius

Ecrire un message privé
Commentaire sur cette source (86)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Bonjour,
voici un jeu du solitaire. Je ne parle pas de celui avec les cartes, mais bien de celui avec les pions !

A priori il est stable, toutes les images sont inclues dans les ImageList, et sont de haute qualité (sauf l'icône de la balle multicolore, puisque c'est une icône 16 couleurs) ...

Je n'ai pas vu un seul source de solitaire avec pions sur le site DelphiFr.com, sauf 1, mais il était codé sous Lazarus. Je pose donc ici ma version Delphi de ce jeu (mais avec mon propre code, je n'ai pas copié !).

J'espère que ce jeu vous plaira, et que le code sera bien écrit.

Le code est indenté et commenté, fortement par endroits interessants, mais pas trop dans les blocs faciles à comprendre.

Voici ce que mon code vous apprendra :

Débutant :
- utiliser un timer
- gérer un jeu de plateau graçe aux Records (enregistrements)
- créer ses propres procédures
- utilisation des ImageList
- utiliser un canevas et dessiner dessus
- faire un splash screen
- et d'autres choses encore

Initié :
- jouer du .wav sans mediaplayer ni fichier
- gérer efficaçement une page d'options
- gérer un fichier ini
- éviter un crash malencontreux d'une application à cause d'un fichier non présent, avec un système de récupèration (je parle du fichier ini)
- créer votre propre console windows
- d'autres trucs encore ...

Expert :
- ben rien du tout ...

Je l'ai mis en initié, car je pense qu'il est facilement compréhensible, mais que des endroits de code peuvent être compliqués (et j'en ai marre de mettre toutes mes sources en débutant ^^).
Voila merci d'avance de prêter de l'attention à ma source :p

Pronto !


 Conclusion

Bon, ben tous les conseils, commentaires, critiques, remarques, etc ...

Bon jeu, et bonne prog' !

Cordialement, Bacterius !

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

03 août 2008 14:26:28 :
// Choix de la bille de départ en cliquant dessus
03 août 2008 14:37:42 :
// Arrangement de certaines incohérences dans l'aide, suite à la modification du démarrage de la partie (voir MAJ précédente) + Initialisation de la page par défaut de l'aide à la page "Solitaire", plutôt que la page "Comment jouer".
03 août 2008 16:04:26 :
// Plusieurs dispositions possibles !
03 août 2008 22:15:09 :
// Version 2 révisée, structure interface revue.
04 août 2008 09:57:08 :
// Correction d'une incohérence dans le code + changement de couleur des labels de victoire.
04 août 2008 11:12:41 :
// Correction d'un petit beug
04 août 2008 11:53:16 :
// Remise à jour car problème de mise à jour ...
04 août 2008 13:47:26 :
// Nouvelle interface de fin de jeu + augmentation version
04 août 2008 14:45:27 :
// Ajout de 4 nouvelles dispositions (Full, Riverfall, Mediévale, et Pythagore (lol) )
11 août 2008 14:16:51 :
// Ajout du son !
11 août 2008 14:44:26 :
// Correction de quelques bugs de son
11 août 2008 17:49:58 :
// Ajout d'une splash form + volume
11 août 2008 20:10:22 :
// Ajout du fichier DOF à la demande de Cantador, et correction de l'avertissement du compilateur (H non initialisé).
12 août 2008 12:13:06 :
// Optimisation + ajout de "Hints" dans options
12 août 2008 15:59:20 :
// Bon voila c'est réparé le beug du son.
12 août 2008 16:13:05 :
// Correction des bugs de son (2).
13 août 2008 16:21:48 :
// Options paramètres -debug et -nosound
14 août 2008 19:16:58 :
// Ajout du top scores
15 août 2008 14:19:38 :
// Annulation du dernier coup + eradication des Bass
15 août 2008 14:33:02 :
// Petits bugs de compilation + petits bugs de l'aide + petits bugs d'annulation du coup
15 août 2008 15:46:13 :
// Mise en place des librairies BASS
15 août 2008 16:40:42 :
// Ajout du lien de la SoundFont (sur HammerSound.com)
15 août 2008 18:49:17 :
// remise en fonctionnement des 2 MediaPlayer ^^

 Sources du même auteur

Source avec Zip Source avec une capture UNITÉ DE SUPPORT VISTA
Source avec Zip Source avec une capture GESTION DES "CRASHS D'APPLICATION"
Source avec Zip Source avec une capture CONJECTURE DU CARRÉ DES FACTEURS
Source avec Zip Source avec une capture EFFET VITRE ET THUMBNAILS SOUS VISTA
Source avec Zip Source avec une capture UTILISER UNE DLL INCLUSE EN RESSOURCES

 Sources de la même categorie

Source avec Zip Source avec une capture JEU DE DÉS ZORG6 par dubois77
Source avec Zip Source avec une capture JOUEZ : LIGHTS 1.4 par JulioDelphi
Source avec Zip Source avec une capture JEU DE DAME DELPHI 7 par aom333
Source avec Zip JEU RAMI DES CHIFFRES SOLITAIRE par Toidil
Source avec Zip JEU DE TAQUIN par JCLESAGE

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture JOUEZ : LIGHTS 1.4 par JulioDelphi
Source avec Zip Source avec une capture JEU DU REVERSO par Bacterius
Source avec Zip LE JEU OTHELLO par djfeeler
Source avec Zip Source avec une capture POUR NOËL, SIGMA, UN PETIT JEU DE RÉFLEXION... par Debiars
Source avec Zip LES POINTEURS : LE PETIT JEU DU SERPENT... par PyRuSs

Commentaires et avis

Commentaire de Bacterius le 02/08/2008 20:26:37

Jeu codé sous Delphi 6 Personal Edition, version 1.3.4, build 133.

Cordialement, Bacterius !

Commentaire de Bacterius le 02/08/2008 20:26:58

Oups version 1.4.3 ^^

Cordialement, Bacterius !

Commentaire de John Dogget le 02/08/2008 21:49:50

J'ai un gros soucis avec les couleurs :/
Certianes fenetres sont toutes noires, ce qui empeche de lire ce qu'il y a d'écris dessue.

Sinon, c'est effectivement très propre comme codage, félicitations ;)

Commentaire de Bacterius le 02/08/2008 21:57:35

Bonsoir,
@John Dogget : merci pour les felicitations :)
J'ai beaucoup souffert pour indenter le code, je me suis forcé car j'utilise le Tab au lieu des espaces ^^
Mais pourrais-tu me dire quelles pages sont touchées par les problèmes de couleur ?
C'est peut-être un problème de palette ...
On va arranger ca ^^

Cordialement, Bacterius !

Commentaire de Bacterius le 03/08/2008 14:31:38

Bonjour,
suite à une question de ma soeur (qui adore mon solitaire), on peut maintenant choisir la bille de départ, au lancement du jeu. Il suffit de cliquer dessus, elle disparaît et la partie peut continuer.
La version a été augmentée de 1.4.3:133 à 1.5.3:137.

Pour cette mise à jour, une variable à été créée, 2 fonctions ont été modifiées, ainsi que 3 procédures.
Une variable "Starting" globale devient True quand on commence une partie (NewGameLabelClick)
Dans le OnMouseUp de l'image, si Starting est à True, alors on fait disparaître direct la bille, et on met Starting à False, et la partie continue.
Dans le DrawGame, on lance le Win si Starting est à False (car au début, il n'y a aucun trou, donc le jeu est tout de suite gagnant ...).
Je n'ai pas pensé à commenter ces parties, prenez les explications ci-dessus pour des commentaires ^^
Les fonctions modifiées sont GetLeftPawns et GetOutPawns.

GetLeftPawns : le résultat devient Integer, pour plus de sécurité
GetOutPawns : Idem, et ce n'est plus une soustraction à partir de 44, mais de 45 (car au début toutes les billes sont là, et c'est pas terrible d'avoir un résultat genre -1).

Voila :p

Cordialement, Bacterius !

Commentaire de Bacterius le 03/08/2008 14:33:01

Ah un dernier truc : j'ai laissé un "Exit" en commentaire, juste dans le OnMouseUp de l'image, une fois que le Starting devient False.
Sans le Exit : un seul click fait disparaître la première bille.
Avec le Exit : un double-click est nécessaire.

^^

Cordialement, Bacterius !

Commentaire de Bacterius le 03/08/2008 14:38:35

Dernier petit arrangement que j'ai noté juste en voulant faire une partie : voir dans l'explication de la modification N°2.

Cordialement, Bacterius !

Commentaire de Bacterius le 03/08/2008 14:55:49

Bonjour,
j'ai décidé de revoir le système de placement des pions. En effet, la disposition actuelle correspond à celle déterminée par "J. C. Wiegleb, 1779, Allemagne (45 trous)".
Il existe pas mal de variantes, je vais implémenter ça, et le placer dans les options, comme pour les couleurs (aléatoire, ou bien un seul niveau au choix !).

Je reviens dès que possible avec la version améliorée !

Cordialement, Bacterius !

Commentaire de Bacterius le 03/08/2008 16:08:19

Bonjour,
voilà la disposition est faite.
Maintenant des dispositions différentes sont possibles :
Européenne, Allemande, Anglaise, Asymétrique, Diamant.

Je n'explique pas le système, il est plutôt compliqué à expliquer sans exemple, donc allez voir dans le code, dans InitGame ^^.

On passe de la version 1.6.3:144 à 2.7.3:159 !

Grâce à la technique de codage appliquée pour la disposition, il est très simple d'ajouter de nouvelles dispositions : il suffit de :
- ajouter le nom de la disposition dans le ComboBox dans les options
- Augmenter le range Random (en cas de choix de disposition aléatoire) de 1
- Ecrire la disposition dans l'étiquette case correspondante à l'ItemIndex du ComboBox.
- Et c'est tout je crois bien :p

Voilà j'espère que cette nouvelle version vous plaira encore plus que la précédente ^^.

Cordialement, Bacterius !

Commentaire de systmd le 03/08/2008 19:39:32 8/10

Bonjour, j'adore tout ces petit jeux.
Moi aussi j'ai la partie droite toute en noir.
J'ai résolu le problème en supprimant {$R WindowsXP.RES}.

Cordialement

Commentaire de Bacterius le 03/08/2008 19:45:54

Bonsoir,
merci pour la note :) ca donne envie de continuer, et j'aurais dû me douter que le windowsxp.res aurait pu poser des problèmes de compatibilité. D'ailleurs il ne sert presque à rien, si ce n'est pour egayer un peu la page Options, qui en a grandement besoin. Je vais essayer de trouver un autre moyen pour les boutons (parce que le style 98 est bof bof).

Cordialement, Bacterius !

PS : bravo pour ton image perso :p

Commentaire de Bacterius le 03/08/2008 19:47:01

Ah et aussi finalement je n'aurai mes drivers audio que la semaine prochaine, c.a.d. samedi ou dimanche prochain :(

Cordialement, Bacterius !

Commentaire de cantador le 03/08/2008 21:51:34 10/10

Excellent travail, Bacterius..
Sur la source en Lazarus, j'avais regretté
qu'il n'y avait pas la même chose en delphi..
C'est chose faire désormais grace à toi.
On attend avec impatience tes futures oeuvres..
je te mets 10 pour ton obstination.

Commentaire de Bacterius le 03/08/2008 22:14:08

Bonsoir,
merci beaucoup Cantador :)
Et je poste maintenant la version 2 révisée du solitaire, avec quelques améliorations, surtout dans la structure de l'interface.
Merci à tous pour vos encouragements :)

Cordialement, Bacterius !

Commentaire de Bacterius le 03/08/2008 22:17:09

Voila c'est fait.
J'ai juste un petit problème : je tente d'utiliser une PaintBox pour l'image principale (celle du plateau) pour économiser mémoire et ressources.
Tout fonctionne (ca va même plus vite :p) mais à la fin de la partie, les labels qui nous disent qu'on a gagné n'apparaissent pas transparents ... et c'est pas beau :(
Quelqu'un a-t-il une explication/solution à ce problème ? :x

Cordialement, Bacterius !

Commentaire de cantador le 03/08/2008 23:13:31

"  if GetLeftPawns = 1 then WinLabel.Caption := 'Gagné !';
  if (GetLeftPawns in [2..8]) then WinLabel.Caption := 'Gagné !';
  if GetLeftPawns > 8 then WinLabel.Caption := 'Gagné !';   "

if (GetLeftPawns = 1) or (GetLeftPawns in [2..8]) or
   (GetLeftPawns > 8) then
   WinLabel.Caption := 'Gagné !';

Commentaire de Bacterius le 04/08/2008 09:48:03

Bonjour,
erf pendant un petit test avec les labels j'ai foiré ici, en fait : 1..1 = Gagné / 2..8 = Bien joué ! / 9 .. (total billes) = Jeu fini !

Je mets ça à jour, merci de l'avoir dit Cantador =)

Cordialement, Bacterius !

Commentaire de Bacterius le 04/08/2008 09:58:16

Voilà c'est corrigé Cantador.
J'ai aussi changé la couleur des 2 labels qui apparaissent quand on gagne (on avait du mal à lire en Lime, je les aie mis en Cyan et on les voit mieux :p)

Cordialement, Bacterius !

Commentaire de Bacterius le 04/08/2008 11:13:57

Bonjour,
dites-moi, serait-ce une bonne idée de modifier un peu le code de dessin pour dessiner des bordures sur le plateau (entre les cases toutes oranges, et les trous/billes), ou celà ralentirait-il trop le jeu ?
J'attends votre avis :)

Cordialement, Bacterius !

Commentaire de Bacterius le 04/08/2008 11:51:01

Bonjour,
la capture d'écran a foiré, et le zip aussi alors je suppose, je remets à jour.

Cordialement, Bacterius !

Commentaire de Bacterius le 04/08/2008 13:49:28

Bonjour,
bon j'ai mis en ligne une version améliorée :
Version passe de 2.1.0:170 à 2.2.1:186

Ce qu'elle apporte :

- Nouvelle interface quand on gagne la partie
  - Plus sympa
  - Donne le pourcentage de réussite
  - Autres ...

Bon je n'ai pas pu tester si elle donne bien 100% avec une bille restante (car je n'ai pas réussi à avoir 1 bille restante) mais théoriquement ça devrait ...

Voilà

Cordialement, Bacterius !

Commentaire de Bacterius le 04/08/2008 14:48:47

Bon ben voila j'ai ajouté 4 nouvelles dispositions dans la liste :

Full : tout est rempli ! (j'ai du corriger un truc pour ça)

Riverfall : un peu bizarre, on dirait 2 rives séparées par une rivière ^^

Pythagore : un triangle rectangle

Médiévale : ressemble à un jardin médiévale, avec une cour au milieu et des jardins aux quatre coins.

J'ai préfixé ces 4 cartes d'un asterisque car je ne sais pas si la victoire est possible dessus (j'ai d'ailleurs ajouté un label l'expliquant dans le menu options).

Il est de mieux en mieux le solitaire lol ^^

Cordialement, Bacterius !

PS : sur la plupart des sources de CS, j'ai noté que le pourcentage des personnes qui téléchargent par rapport aux visites totales se rapprochent tout le temps des 10%.
Autrement dit 1 visiteur sur 10 télécharge la source.
Effrayant, non ?

Commentaire de cantador le 04/08/2008 18:25:36

non, c'est normal, tout le monde ne joue pas au solitaire..
Et il y a les vacances...
Mais on revient sur les sources un peu plus tard quelquefois en fonction des besoins.
ne te plains pas, tu fais déjà un tabac!

Commentaire de Bacterius le 04/08/2008 18:29:50

Bonjour,
lol oui je sais c'est les vacances, et je ne parlais pas spécialement de ma source en fait.
Je parlais de la plupart des sources (de moi ou pas) qui se trouvent sur CS, à chaque fois c'est du genre 912 vus, 92 téléchargés, 345 vus, 37 téléchargés.
C'est une constatation :p

Et "ne te plains pas, tu fais déjà un tabac!" comment ça ?

Cordialement, Bacterius !

Commentaire de noch100 le 05/08/2008 12:47:45

c'est un tres bon jeux
félicitation pour le design

Commentaire de Bacterius le 05/08/2008 18:21:48

Bonjour,
Merci beaucoup Noch100 :)

Cordialement, Bacterius !

Commentaire de cantador le 05/08/2008 19:22:06

tu pourrais aussi plancer sur :
"montrer une solution automatique"

Commentaire de Bacterius le 05/08/2008 19:29:25

Bonsoir,
dès le début une solution automatique ?
ca risque d'être compliqué :o

Cordialement, Bacterius !

Commentaire de cantador le 05/08/2008 19:56:21

non à la fin pour mettre les boules au joueur..
mais au fait y a t-il plusieurs solutions ?

Commentaire de Bacterius le 05/08/2008 20:06:10

Bonsoir,
ça peut être possible quand il reste par exemple moins de 10 boules, pour avoir le meilleur score possible.
Pour les solutions, en théorie il y a au moins 2 solutions (pour obtenir 1 pion) pour les plateaux classiques (européen, allemand ...), mais pour ceux que j'ai inventés (pythagore, médiéval ...) je n'en sais rien :/

Sinon pour obtenir un score de > 1 pion chaque combinaison est gagnante ^^

Cordialement, Bacterius !

Commentaire de noch100 le 06/08/2008 13:22:41

1-pour quoi pas la posibilité de choisir la forme des pions carre, triangle, diamant ou ...d'autre forme
2-la posibilé de faire une option pour generé des forme et les suvgarde pour les donne a d'autre joueurs (commet un deffi )

Commentaire de noch100 le 06/08/2008 13:25:07

faire le top scoures avec une sauvgarde une capture de la partie pour contnuit plus tard

Commentaire de Bacterius le 06/08/2008 18:26:21

Bonjour,
1) si tu veux dire la forme des billes, ça ferait vraiment très lourd pour l'application. Mais c'est facilement faisable, mais si t'as envie de rajouter 1 Mo à l'appli ^^'

2) Option pour générer des formes, pas mal comme idée, il faudrait mettre un algorithme pour voir si il n'y a pas de pion isolé, etc ... et sauvegarder les formes ... ça va m'obliger à revoir le système de disposition des formes :x

3) top scores ... je vais y réfléchir

4) sauvegarde d'une partie : je ne sais pas si c'est très intelligent : une partie dure difficilement plus de 3 minutes ^^ et puis pour un solitaire ...

Je vais me pencher sur cela ^^

Cordialement, Bacterius !

Commentaire de Bacterius le 11/08/2008 14:19:22

Bonjour,
bon ben voila j'ai récupéré mes drivers audio : maintenant il y a du son, ça ajoute 109 kilos à l'appli, mais c'est pas bien grave :p

2 sons :
- Quand on bouge un pion
- Quand on gagne

1 musique :
- J'ai oublié le titre ^^

Bon c'est un peu pauvre sur la quantité de son, mais il n'est pas nécessaire d'en ajouter plus pour expliquer le fonctionnement du source. Mais il peut toujours être bon d'en ajouter plus !

Depuis le temps que je voulais du son sur ce jeu ...

Cordialement, Bacterius !

Commentaire de Bacterius le 11/08/2008 14:47:29

Bonjour,
bon j'ai corrigé quelques incohérences au niveau de la musique : en effet quand elle se termine, elle ne redémarre pas, et le seul moyen est alors de la désactiver et de la réactiver dans les options. Maintenant, quand on commence une nouvelle partie, ou quand on bouge un pion, si jamais la musique est finie elle repart.
Et également, le fichier n'est ouvert qu'une seule fois, même si on ne veut pas jouer de musique. Avec la première version de son, le fichier musique était ouvert à chaque fois qu'on le jouait ... mauvais ...

En outre, je pense avoir oublié un fichier dans la MAJ précédente ... donc c'est corrigé !

Enfin bon voilà ça devrait être bon maintenant :p

Cordialement, Bacterius !

PS : que pensez-vous de la musique ? ^^

Commentaire de cantador le 11/08/2008 15:33:10

petite erreur dans les noms des units..
plantage à la compil..
musique déplacement..j'aime bien
musique de fond..pas mal mais un peu trop..
une musique un peu plus subliminale ?
prévoir un trackbar pour le son.

bon courage

Commentaire de Bacterius le 11/08/2008 15:41:17

Bonjour,
Plantage à la compil ? pourquoi ? quelle erreur y'a t'il dans le nom des units ? :O
Musique de fond : tu veux dire une musique un petit plus futuriste, alien ? lol
C'est vrai que celle que j'ai prise est un peu lourde ^^ (psychologiquement).
Pour le trackbar : aucun problème, si ce n'est que : comment détecter le volume, pour placer la trackbar en bonne position à chaque fois qu'on ouvre la fenêtre des options ?

Cordialement, Bacterius !

Commentaire de Bacterius le 11/08/2008 17:53:34

Bonjour,
@Cantador : ah je vois le problème de nom des units : j'avais oublié de retirer Resource_Unit, que j'avais ajoutée mais je n'en avais pas besoin en fait ^^

Sinon maintenant il y a 2 musiques de fond, un splash screen, et pour règler le volume (*rougit de honte*) j'ai simplement fait un bouton qui ouvre la fenêtre de gestion du volume Windows, je sais c'est la solution de facilité mais j'avais essayé de gérer le son depuis mon application, mais ça bugait à mort, seul le canal droit répondait, enfin bref ... et puis après tout quand la personne veut gérer le volume, il est aussi content de voir la fenêtre Windows apparaître, miracle ! ^^

Et tout ça dans un peu plus de 1 Mo ^^

Cordialement, Bacterius !

Commentaire de Bacterius le 11/08/2008 18:15:40

Plus qu'a faire les scores et eventuellement editeur de niveaux, mais je ne sais pas si c'est une bonne idée ... :o

Cordialement, Bacterius !

Commentaire de cantador le 11/08/2008 19:02:49

Il faut que ta compil soit nickel chrome.
Décoche les trois dernières options des messages du compilateur et garde le .dof dans le zip
(qui les conservent->> çà pourrait servir à f0xi..)
Reste une variable H (handle) non initialisée..

Commentaire de Bacterius le 11/08/2008 19:17:58

Bonsoir,
je vais décocher les 3 dernières options sur ton conseil, ajouter le .dof dans le zip.
Et quant à la variable H, aucun problème : il suffit de mettre "H := 0" dans la routine correspondante.
J'arrange tout ça après manger ^^

Cordialement, Bacterius !

Commentaire de Bacterius le 11/08/2008 19:19:17

Ah mince j'ai que 2 options dans les messages compilateur ; bon ben tant pis je décoche les 2 ^^

Cordialement, Bacterius !

Commentaire de Bacterius le 11/08/2008 20:11:57

Voila, l'avertissement sur le H n'existe plus !
Et j'ai ajouté le .dof du projet (je parie que DOF = Delphi Options File) :p

Cordialement, Bacterius !

Commentaire de cantador le 11/08/2008 21:45:02

compil nickel
tu peux peut-être supprimer le 1er doublebuffered..
tu peux aussi simplifier tes fonctions :

function TGameForm.CanGoLeft(X, Y: Byte): Boolean;
begin
//  Result := False;
  if X <= 2 then Exit; // Si il peut aller à gauche

  Result := (Game[X - 2, Y].CellType = CTEmpty) and (Game[X - 1, Y].CellType = CTBille);

//  if (Game[X - 2, Y].CellType = CTEmpty) and (Game[X - 1, Y].CellType = CTBille) then
//    Result := True;
end;

Sinon bienvenue au club Bacterius !

Commentaire de Bacterius le 11/08/2008 23:06:37

Bonsoir,
ah je ne savais pas qu'on pouvait utiliser "and" comme résultat booléen, plutot que "if" :) ca va beaucoup m'aider. Je vais simplifier toutes les fonctions demain, et je posterai :)

"Sinon bienvenue au club Bacterius !" ah merci ^^ !

Cordialement, Bacterius !

Commentaire de Bacterius le 12/08/2008 11:08:48

Bonjour,
@Cantador : de quel 1er double-buffered parles-tu ? Si il s'agit du DB de la fiche GameForm, ce n'est pas possible car l'image du plateau est directement posée sur la fiche, donc bonjour les scintillements ^^ !

Cordialement, Bacterius !

Commentaire de Bacterius le 12/08/2008 11:20:44

Ah mince, je viens de m'apercevoir que j'aurais dû garder le .dof depuis le début : sans lui la version et le nom du fichier ne sont pas inclus dans les options du projet ...
J'y penserai pour les prochaines sources / MAJ.

Cordialement, Bacterius !

Commentaire de Bacterius le 12/08/2008 12:14:02

Bonjour,
voilà, optimisation de certaines routines, mise des options en "Hint" + optimisation massive du formatage du temps des options ... mais je pense rajouter un truc de ce coté la.

Cordialement, Bacterius !

Commentaire de cantador le 12/08/2008 14:47:33

Un petit défaut, à chaque clic, la musique de fond s'arrête et repart ensuite..

Commentaire de Bacterius le 12/08/2008 14:58:37

Bonjour,
"à chaque clic" tu veux dire à chaque mouvement de pion avec un "pop" ?

Ca dépend si ton périphérique/pilote audio prend en charge un truc, je crois que c'est le mixage. Chez moi ça marche parfaitement, mais par exemple chez ma mère (qui a Vista), la musique se coupe à chaque "pop" et reprend après ^^

Je crois que ça ne peut pas être arrangé via le logiciel malheureusement ...

Mais après tout je me trompe sûrement ?

Cordialement, Bacterius !

Commentaire de cantador le 12/08/2008 15:12:42

Si en faisant un thread..
mais je m'arrête là car je ne suis pas spécialiste du son..
D'autres comme Francky23012301 te répondront sûrement.

Commentaire de Bacterius le 12/08/2008 15:16:54

Ok lol ^^
Ca ne devrait pas être sorcier de faire un thread qui execute du son chaque fois qu'on lui demande, pendant que l'appli principale joue la musique de fond ...

Cordialement, Bacterius !

Commentaire de Bacterius le 12/08/2008 15:57:13

Ah mince mince Cantador erreur sur la personne !
en fait tu ne parlais pas d'une coupure de la musique à chaque "pop" ! en fait tu disais que la musique se remettait au début à chaque fois. Je corrige de suite ! J'avais oublié de tester, et en voulant faire une partie je découvre ^^.

Cordialement, Bacterius !

Commentaire de Bacterius le 12/08/2008 16:00:09

Bon voilà c'est corrigé. Décidément je HAIS les MediaPlayer !
Grr ...

Cordialement, Bacterius !

Commentaire de Bacterius le 12/08/2008 16:05:33

Ah y'a également des graves bugs sur les musiques de fond ... j'arrange ça tout de suite ... enfin après mon gouter lol :x

Cordialement, Bacterius !

Commentaire de Bacterius le 12/08/2008 16:15:33

Finalement je l'ai fait avant gouter ^^
Bon je vous explique : l'ItemIndex de la liste des musiques n'était pas définie à chaque ouverture de la fenêtre Options selon le fichier .ini, ce qui causait pas mal d'incohérences dans le logiciel.
J'ai également mis en place un système qui ne relance la musique uniquement si elle est différente de celle qui joue actuellement (aucune vérification auprès des médiaplayer, tout est déduit). J'ai dû ajouter une variable booléenne ...

Si vous trouvez d'autres bugs reportez-les moi s'il vous plaît :)

Cordialement, Bacterius !

Commentaire de cantador le 12/08/2008 16:21:22

je m'inquiète car si tu bosses le ventre vide...(lol)

Commentaire de Bacterius le 12/08/2008 16:34:07

Lol ^^ je viens de me recharger, je peux tenir 11 heures de plus maintenant ...
Mais fais gaffe, si je travaille le ventre vide je suis capable de fabriquer des virus à l'insu de mon propre gré, et les jeter sur CS >)
(je rigole bien sûr)

Cordialement, Bacterius !

Commentaire de Bacterius le 12/08/2008 16:34:39

de mon plein gré*

Commentaire de Francky23012301 le 13/08/2008 00:49:12

Salut,

Je n'ai pas encore totalement regardé le code mais je me permets de rebondir sur tes problemes de TMediaPlayer : Pourquoi ne pas avoir utilisé la libraire Bass avec le Add-On Midi ? Il y a un flag BASS_SAMPLE_LOOP qui te permet de jouer un morceau en continue. De plus avec Bass pas besoin de gérer les erreurs (Tout est fait in Situ si on peut dire).

Si tu veux on peut voir cela en privé (MP ou MSN) : contacte moi si ca te dis.

Je regarde le source de plus pres en attendant

Commentaire de Bacterius le 13/08/2008 10:10:40

Hmm ouais mais est-il possible d'inclure la DLL dans l'executable, et l'extraire en cas de besoin ? Car j'ai horreur des programmes qui ont besoin de fichiers exterieurs pour fonctionner ...
Sinon aucun problème je vais piquer la BASS quelque part sur le site ^^
Et ça me permettra d'enlever ces 2 mediaplayer ...

Cordialement, Bacterius !

Commentaire de Bacterius le 13/08/2008 11:29:15

Je prévois de faire des options paramètre pour le solitaire (-debug et -nosound).
Le -nosound est fait ainsi que le -debug.
Bon voila je récapitule ce qu'il me reste à faire :
- faire en sorte que la console n'apparaisse pas DU TOUT au démarrage (elle apparaît de toute façon 1 seconde, et ensuite disparaît si elle le doit).
- gérer les sons avec la librairie BASS
- faire le top scores

...

Cordialement, Bacterius !

Commentaire de Bacterius le 13/08/2008 16:27:23

Bonjour,
bon voilà j'ai mis en ligne la version qui prend les -debug et -nosound, mais je n'ai pas updaté la version ni mis un paragraphe sur ces options dans l'aide.
Il reste donc à faire les top scores et la gestion de la musique de fond avec les librairies Bass.dll et BassMidi.dll (mais j'ai besoin de renseignements dessus, donc je ne peux rien faire actuellement). Et le top scores j'ai envie que ça soit en dernier.

Description des options :

-debug : permet d'afficher une console avec les informations de jeu (quelles routines sont executées, les resultats, etc ...).
Et puis ça fait toujours "pro" d'avoir ça dans une application.

-nosound : empêche tout son d'émaner de l'application. De plus, le chargement est nettent plus rapide car les 2 musiques midi ne doivent pas être chargées en mémoire au démarrage sur -nosound.
(mais cela changera peut-être avec les librairies Bass ??)

Cordialement, Bacterius !

Commentaire de Bacterius le 13/08/2008 16:27:59

erf faute d'orthographe : nettement* au lieu de "nettent" ^^'

Cordialement, Bacterius !

Commentaire de cyp84 le 14/08/2008 07:41:43

salut,

chez moi impossible de compiler il me demande le fichier Bass.pas et BassMidi.pas

cordialement
cyp84

Commentaire de Bacterius le 14/08/2008 11:39:09

Bonjour,
tu les vires de la clause "uses" ils ne servent à rien pour l'instant, je n'ai pas encore mis la librairie bass.

Cordialement, Bacterius !

Commentaire de Bacterius le 14/08/2008 19:21:14

Bonsoir,
bon j'ai fait les top scores à la demande de Noch100 (je n'en avais jamais fait avant vous me direz ce que vous en pensez) cela a ajouté quelque 100 kilos à l'application.
A priori les scores sont stables, si jamais il y a une anomalie dans le fichier ini l'application le réécrit entièrement (mais pourquoi pas réécrire uniquement les parties corrompues et conserver le maximum à l'avenir ?), et il n'y a pas d'erreurs connues ...
Pour info et pour vous éviter de chercher, les 2 stringlists globales utilisées dans les scores sont libérées dans le OnClose de la fiche principale (GameForm).

Il me reste donc à trouver une soundfont potable et pas trop lourde, et à utiliser les librairies BASS pour jouer les sons midi !

Vous remarquerez que j'ai supprimé les fichiers Bass.pas, BassMidi.pas, et les DLLs, car je ne les utilise pas dans cette version (dans la prochaine ils seront au tableau d'honneur ^^).

J'attends vos commentaires, remarques (sur la fiche des scores surtout).

Cordialement, Bacterius !

Commentaire de cantador le 14/08/2008 19:52:09

j'ai supprimé les fichiers Bass.pas, BassMidi.pas, et les DLLs
c'est pas trop tôt...
J'étais complètement bloqué..
le jeu se mettait à jouer tout seul !
terrible..

Commentaire de Bacterius le 15/08/2008 10:30:52

Lol ?
Comment ça "le jeu se mettait à jouer tout seul" ?
Les humains ont perdu le contrôle de la machine !
On va tous crever !

Non serieusement,
je les ai retirés car ils alourdissaient le zip, et qu'il n'en avait pas besoin actuellement ...
Mais je ne comprends pas pourquoi ça bloque le jeu ? (ni pourquoi il joue tout seul ^^).
Je vais faire un test sur mon ordi ça sra bizarre à voir ^^

"terrible.." c'est pour ton problème de blocage ou c'est pour la fiche des scores ? :)

Cordialement, Bacterius !

Commentaire de Bacterius le 15/08/2008 10:32:31

Ah aussi
"le jeu se mettait à jouer tout seul !"
héhé même plus besoin d'implémenter de démo de l'ordinateur qui joue (avec une IA complexe), c'est déjà tout fait ! :p
Tu pourras m'envoyer tes fichiers source qui font jouer l'ordi tout seul s'il te plaît cantador ?

Cordialement, Bacterius !

Commentaire de cantador le 15/08/2008 12:30:58

sniff..
je pars me faire bronzer..

Commentaire de cantador le 15/08/2008 13:10:28

Tu pourrais aussi mettre en place l'annulation
d'un coup ce qui donnerait un plus à la qualité du jeu..
et profites pour Inhiber les bass (ils sont toujours là..)

@+

Commentaire de Bacterius le 15/08/2008 13:11:10

Pourquoi bronzer ?

Cordialement, Bacterius !

Commentaire de Bacterius le 15/08/2008 13:12:46

Annulation d'un coup facile à mettre en place (image mémoire du jeu, ou du moins d'une partie) je m'en occupe directement.
Concernant les bass (rrah ça résiste ce truc) je vais les virer pour de BON ><

Cordialement, Bacterius!

Commentaire de Bacterius le 15/08/2008 14:23:57

Bon voilà.

La version 3 est enfin là !

Ce qu'elle apporte :
- Annulation du dernier coup
- Header sympa dans la console
- Correction d'un petit bug dans les options, côté contrôle du son (rrah me fra ch*** jusqu'au bout !)
- Aide encore plus détaillée et complète
- Eradication des Bass.pas, BassMidi.pas, des DLLs ...

Voilà, maintenant la version est à 3.0.0.233 !

Maintenant j'ai plus qu'à fixer le truc des 2 mediaplayer ... et j'aurai ptet fini !

Et Cantador tu me diras ce que tu penses du système d'annulation du dernier coup.

Cordialement, Bacterius !

PS : la fiche principale (GameForm) fête ses 1000 lignes de code ^^ (je l'ai un peu aidé avec quelques sauts de lignes).

Commentaire de Bacterius le 15/08/2008 14:35:37

Correction de 3 bugs :

- bug de compilation : une fiche inutile ...

- bug de l'aide : oublié de mettre un paragraphe sur l'annulation du coup

- bug de l'annulation du coup : oublié de remettre les cellules mémoire (MemCells) à 0 après un rollback (ce qui fait que on peut annuler autant de fois qu'on veut sur quelque chose qui a déjà été annulé (pas dangereux, mais gênant ...).

Ca devrait être bon cette fois :p

Cordialement, Bacterius !

Commentaire de Bacterius le 15/08/2008 15:49:33

Bon eh bien voilà, c'est le grand moment tant attendu ...
Les librairies Bass sont enfin utilisées.
Il peut exister certains problèmes du côté de l'arrêt / reprise de la musique midi, alors j'ai mis un bouton "Relancer le son" au cas ou.
Mais normalement tout devrait marcher.
Et voilà, la musique Midi est gérée par Bass et BassMidi.

Vous m'excuserez d'avoir mis 2 DLLs sans source dans le code, les sources ne sont pas disponibles. Mais tout le monde sait que Bass.dll et BassMidi.dll ne servent qu'à jouer de la musique :}

Et voilà Francky merci pour toute ton aide, je pense que c'est bon :p

Cordialement, Bacterius !

Commentaire de cantador le 15/08/2008 16:19:07

petit souci de Maj "Sounds.res non trouvé à la compil".

pour l'annulation, je verrais bien l'action sur Control Z

une seule fois ou possiblité de revenir au début ?

bon courage

Commentaire de Bacterius le 15/08/2008 16:24:00

Bonjour,
Cantador : Sounds.res n'est pas dans le zip pour la simple et bonne raison qu'elle est trop lourde (avec la SoundFont), il y a un lien dans la description de la source ^^

Quand à l'action Ctrl+Z, je pensais à un HotKey ?
Et puis une seule fois me semble raisonnable, mais sinon c'est simple à faire je pense, à part que ça va prendre de la mémoire ^^

Cordialement, Bacterius !

Commentaire de cantador le 15/08/2008 16:42:57

HotKey ?
non je ne pense pas..
il faut rester cohérent avec le reste..
Un mouvement naturel qu'on utilise partout.

Commentaire de Bacterius le 15/08/2008 17:37:34

"Un mouvement naturel qu'on utilise partout."
C'est une énigme ...

Commentaire de Bacterius le 15/08/2008 18:52:19

Bon voila j'ai remis les TMediaPlayer.
La raison ? Ca ne valait pas la peine de sortir tout un arsenal de soundfonts, dlls, Bass ... pour jouer 100 kilos de musique MIDI.
Mais merci quand même Francky tu m'as fait découvrir Bass je m'en servirai sûrement plus tard !
Et j'ai également mis un raccourci clavier Ctrl+Z pour l'annulation du coup. Mais je n'ai pas encore planché sur l'annulation de plusieurs coups à la suite ...
En tout cas Cantador pourra jouer au Solitaire ^^

Cordialement, Bacterius !

Commentaire de cantador le 15/08/2008 19:39:42

et les autres aussi..

Commentaire de Bacterius le 15/08/2008 20:26:24

Bonjour,
oui en effet Cantador les autres pourront jouer aussi.
Mais j'ai écrit "Cantador" car tu m'a envoyé un message privé où tu dis que ... enfin tu sais bien.

Cordialement, Bacterius !

Commentaire de cantador le 15/08/2008 20:43:01

J'aime bien jouer de temps en temps et comme je pars pour 3 semaines, j'espérais une version finie.
C'est chose faite.

nb : bien le control Z !

Commentaire de Bacterius le 15/08/2008 21:06:51

:D

Cordialement, Bacterius !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

dessin sur un bitmap [ par jlg75 ] J'ai commencé un petit prog de dessin pour mes débuts en DELPHI.Je dessine sur un bitmap (feuille blanche pour l'instant),chargé dans une TImage. J'ut help!!!!!svp les best en delphi :) [ par eedy31 ] j'ai un gro pblém : je debute en delphi et il me fo du temps pour apprendre!!!ET le pblém c'est que mon père monopolise le PC avec son jeu(atlantis3.. Jeu avec le source [ par Synthox ] Si ca vous dis de faire un jeu de carte, je vous met mes sources en telechargement sur mon site, il contiens aussi un fichier RES avec les cartes de t lecture et écriture dans un fichier .ini [ par finipe ] Bonjour à tous !Je voudrais savoir comment faire pour : - écrire dans un .ini tous les items d'une listbox, de manière à pouvoir les récupérer en lisa fichiers .ini encore une petite fois ! [ par finipe ] Bonjour à tous... Je cherche tant bien que mal à récupérer toutes mes sections d'un fichier .ini (enfin les trucs entre []), afin de les mettre dans u fichier .ini [ par lanosic ] Bonjour, j'aimerais savoir comment enregistrer des donnée dans un fichier ini et comment les utiliser?Merci!Bonne journée a tous! Protection des applications et utilisation du registre au lieu d'un fichier INI [ par apz ] Salut,Pour proteger mon appli. j'ai utilisé un fichier ini (Limite d'utilisation)le code pour ecrire :// var publique fEmplacement : string;Str0, Str protection de son appli [ par apz ] Salut,Pour proteger mon appli. j'ai utilisé un fichier ini (Limite d'utilisation)le code pour ecrire :// var publique fEmplacement : string;Str0, Str Comment faire les menus d'un jeu en Delphi ?! Vite ça presse ! [ par Gropoli ] Je suis entrain de faire un jeu de type wargame en delphi et je me demande comment je dois faire les menus du jeu : menu principal (nouveau jeu, optio Comment faire les menus d'un jeu en Delphi ?! Vite ça presse ! [ par Gropoli ] Je suis entrain de faire un jeu de type wargame en delphi et je me demande comment je dois faire les menus du jeu : menu principal (nouveau jeu, optio


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,718 sec (3)

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