FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
Taquin Pousse Pousse Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Taquin Pousse Pousse Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Taquin Pousse Pousse Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Taquin Pousse Pousse Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Taquin Pousse Pousse Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Taquin Pousse Pousse Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Taquin Pousse Pousse Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Taquin Pousse Pousse Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Taquin Pousse Pousse Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Taquin Pousse Pousse Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Taquin Pousse Pousse Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Taquin Pousse Pousse Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Taquin Pousse Pousse Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Taquin Pousse Pousse Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Taquin Pousse Pousse Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
Display Star Wars Unlimited Ombres de la Galaxie : où l’acheter ?
Voir le deal

 

 Taquin Pousse Pousse

Aller en bas 
+2
Yannick
Marc
6 participants
AuteurMessage
Marc

Marc


Nombre de messages : 2397
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Taquin Pousse Pousse Empty
MessageSujet: Taquin Pousse Pousse   Taquin Pousse Pousse EmptyLun 23 Nov 2015 - 16:09

Jeu de  Taquin, encore un !
Un classique pousse-pousse … très (Panoramic)basique.
Merci à Klaus qui m’a bien aidé -à son insu-  pour le problème d’invariant : J’ai repris quelques lignes de son cru.

Taquin Pousse Pousse Taquin10

Code:
' ____________________________________
'
' Pousse-Pousse v1
' Marc37 23/11/2015
' http://panoramic.1fr1.net/
' ____________________________________

DIM i%, J%, K%, L%, x%, y%
DIM A%(25)
DIM tirage%, soluble%, swap%
DIM Case_Vide%, X_casevide%, y_casevide%

LABEL Jeu
LABEL Melange

Mask()

Tirage_aleatoire()

END
' ------------------------------------------------------------------------------
Jeu:
   l% = NUMBER_CLICK
   x%=INT((l%-1)/5)
   y%=(l%-1)-(x%*5)
   X_casevide% = INT((Case_Vide% -1)/5)
   y_casevide%=(Case_Vide%-1)-(x_casevide%*5)
   IF y% = y_casevide% OR x%=x_casevide%
      IF ABS(Y%-y_casevide%) = 1 OR ABS(x%-x_casevide%)=1
         a%(Case_Vide%)=a%(l%): CAPTION Case_Vide%, a%(Case_Vide%)
         A%(l%)=25
         Case_Vide%=l%
         CAPTION l%, " "
      END_IF
   END_IF
   verif_gagne()
RETURN
' ------------------------------------------------------------------------------
SUB Tirage_aleatoire()
   FOR i% = 1 to 25:A%(i%)=0:NEXT i%
   FOR i% = 1 TO 24
      Tirage% = INT(1+RND(24))
      FOR j%=1 TO 24
         IF Tirage% = a%(j%) THEN EXIT_FOR
      NEXT j%
      IF j% = 25
         a%(i%)=Tirage%
         CAPTION i%, a%(i%)
      ELSE
         I% = I% - 1
      END_IF
   NEXT i%
   A%(25)=25
   Case_vide% = A%(25)
   CAPTION 25,""
   Swap%=0
  FOR i%=1 TO 23
      FOR j%=i%+1 TO 24
      IF a%(i%)>a%(j%) THEN Swap% = Swap% + 1
      NEXT j%
   NEXT i%
   Soluble% = 1 - bin_and(Swap%,1)
   IF Soluble% = 0
      k%=a%(1) : a%(1)=a%(2) : a%(2)=k%
      CAPTION 1, a%(1)
      CAPTION 2, a%(2)
   END_IF
   verif_gagne()
END_SUB
' ------------------------------------------------------------------------------
SUB verif_gagne()
   FOR i% = 1 to 25
   IF a%(i%) <> i% THEN EXIT_FOR
   NEXT i%
   IF i% = 26 THEN BEEP : CAPTION 102, "Gagné !" : ELSE : CAPTION 102, ""
END_SUB
' ------------------------------------------------------------------------------
Melange:
   Tirage_aleatoire()
RETURN
' ------------------------------------------------------------------------------
SUB Mask()
   WIDTH 0, 680
   HEIGHT 0, 457
   COLOR 0, 0,175,40
   FONT_NAME 0, "arial"
   FONT_SIZE 0, 20
   FOR k% = 1 TO 5
      FOR j% = 1 TO 5
         i% = i% + 1
         BUTTON i%
         WIDTH i%, 60
         HEIGHT i%, 60
         LEFT i%, 60 * j%
         TOP i%, 60 * k%
         ON_CLICK i%, Jeu
      NEXT j%
   NEXT k%

   BUTTON 100
   TOP 100, 300
   LEFT 100, 430
   WIDTH 100, 170
   HEIGHT 100, 45
   FONT_SIZE 100, 18
   CAPTION 100, "Mélange"

   ALPHA 101
   TOP 101, 80
   LEFT 101, 430
   FONT_ITALIC 101
   CAPTION 101, "Jeu de Taquin"

   ALPHA 102
   TOP 102, 180
   LEFT 102, 464
   CAPTION 102, "Gagné !"

   ON_CLICK 100, Melange
END_SUB


Dernière édition par Marc37 le Sam 28 Nov 2015 - 14:01, édité 1 fois
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Taquin Pousse Pousse Empty
MessageSujet: re   Taquin Pousse Pousse EmptyLun 23 Nov 2015 - 18:00

cheers Bravo !

Joli jeu.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Taquin Pousse Pousse Empty
MessageSujet: Re: Taquin Pousse Pousse   Taquin Pousse Pousse EmptyLun 23 Nov 2015 - 20:52

Je confirme, sympa et bien fait !
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Taquin Pousse Pousse Empty
MessageSujet: Re: Taquin Pousse Pousse   Taquin Pousse Pousse EmptyLun 23 Nov 2015 - 21:19

Bravo Marc !

Bien réalisé et simple d'utilisation.

Juste une petite remarque :
Lorsque l'on gagne la partie, un petit effet visuel serai sympa, comme par exemple un passage d"une autre couleur ou bien quelques clignotements de couleurs...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Taquin Pousse Pousse Empty
MessageSujet: Re: Taquin Pousse Pousse   Taquin Pousse Pousse EmptyLun 23 Nov 2015 - 21:27

Oui, propre et fonctionnel Wink
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2397
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Taquin Pousse Pousse Empty
MessageSujet: Re: Taquin Pousse Pousse   Taquin Pousse Pousse EmptyMar 24 Nov 2015 - 0:47

Merci à vous tous !
C'est trop gentil !

Et comme vous êtes tous très fort à ce jeu, je poste la version 2...

J'ouvre un nouveau post.
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Taquin Pousse Pousse Empty
MessageSujet: Re: Taquin Pousse Pousse   Taquin Pousse Pousse EmptyMar 24 Nov 2015 - 14:11

Salut tout le monde.

Bravo Marc37 pour ce code bien fait.
Pour ne pas décourager les « débutants » comme moi, j’ai apporté une petite modification du code pour choisir le niveau de difficulté : ‘Débutant’, ‘Moyen’, ‘Confirmé’ et ‘Expert’ (on peut ajouter d’autres niveaux pour les super-experts et les hyper-experts !!!)

Pour cela j’ai déclaré une variable n% (qu’on peut initialiser à 3, 4 ,5 ou 6).
Ensuite on déclare en conséquence la variables tableau A%(n%,n%) au lieu de A%(5,5).
J’ai du modifier plusieurs lignes du code pour utiliser n% au lieu de la constante 5 et ses combinaisons.

Si  tu approuves, tu peux modifier le code pour ajouter ce choix sous forme d’options de choix et laisser l’utilisateur choisir lui-même son niveau.

Un conseil, si j’ose donner des conseils à des Panoramiciens confirmés : utiliser autant que possible des variables (telles que n%) au lieu des constantes.  Votre code ne sera que plus facile à maintenir : Pour changer de valeurs, il suffit de modifier uniquement la variable sans se soucier du reste du code.


Code:

' ____________________________________
'
' Pousse-Pousse v1
' Marc37 23/11/2015
' http://panoramic.1fr1.net/
' ____________________________________

DIM i%, J%, K%, L%, x%, y%
dim n% : n% = 3 : ' 3 = 'Débutant' ; 4 = 'Moyen' ; 5 = 'Confirmé' ; 6 = Expert'
DIM A%(n%*n%)
DIM tirage%, soluble%, swap%
DIM Case_Vide%, X_casevide%, y_casevide%

LABEL Jeu
LABEL Melange

 Mask()
 Tirage_aleatoire()

END
' ------------------------------------------------------------------------------
Jeu:
   l% = NUMBER_CLICK
   x%=INT((l%-1)/n%)
   y%=(l%-1)-(x%*n%)
   X_casevide% = INT((Case_Vide% -1)/n%)
   y_casevide%=(Case_Vide%-1)-(x_casevide%*n%)
   IF y% = y_casevide% OR x%=x_casevide%
      IF ABS(Y%-y_casevide%) = 1 OR ABS(x%-x_casevide%)=1
         a%(Case_Vide%)=a%(l%): CAPTION Case_Vide%, a%(Case_Vide%)
         A%(l%)=n%*n%
         Case_Vide%=l%
         CAPTION l%, " "
      END_IF
   END_IF
   verif_gagne()
RETURN
' ------------------------------------------------------------------------------
SUB Tirage_aleatoire()
   FOR i% = 1 to n%*n%:A%(i%)=0:NEXT i%
   FOR i% = 1 TO n%*n%-1
      Tirage% = INT(1+RND(n%*n%-1))
      FOR j%=1 TO n%*n%-1
         IF Tirage% = a%(j%) THEN EXIT_FOR
      NEXT j%
      IF j% = n%*n%
         a%(i%)=Tirage%
         CAPTION i%, a%(i%)
      ELSE
         I% = I% - 1
      END_IF
   NEXT i%
   A%(n%*n%)=n%*n%
   Case_vide% = A%(n%*n%)
   CAPTION n%*n%,""
   FOR i%=1 TO n%*n%-2
      FOR j%=i%+1 TO n%*n%-1
      IF a%(i%)>a%(j%) THEN Swap% = Swap% + 1
      NEXT j%
   NEXT i%
   Soluble% = 1 - bin_and(Swap%,1)
   IF Soluble% = 0
      k%=a%(1) : a%(1)=a%(2) : a%(2)=k%
      CAPTION 1, a%(1)
      CAPTION 2, a%(2)
   END_IF
   verif_gagne()
END_SUB
' ------------------------------------------------------------------------------
SUB verif_gagne()
   FOR i% = 1 to n%*n%
   IF a%(i%) <> i% THEN EXIT_FOR
   NEXT i%
   IF i% = n%*n%+1 THEN BEEP : CAPTION 102, "Gagné !" : ELSE : CAPTION 102, ""
END_SUB
' ------------------------------------------------------------------------------
Melange:
   Tirage_aleatoire()
RETURN
' ------------------------------------------------------------------------------
SUB Mask()
   WIDTH 0, 680
   HEIGHT 0, 550
   COLOR 0, 0,175,40
   FONT_NAME 0, "arial"
   FONT_SIZE 0, 20
   FOR k% = 1 TO n%
      FOR j% = 1 TO n%
         i% = i% + 1
         BUTTON i%
         WIDTH i%, 60
         HEIGHT i%, 60
         LEFT i%, 60 * j%
         TOP i%, 60 * k%
         ON_CLICK i%, Jeu
      NEXT j%
   NEXT k%

   BUTTON 100
   TOP 100, 300
   LEFT 100, 430
   WIDTH 100, 170
   HEIGHT 100, 45
   FONT_SIZE 100, 18
   CAPTION 100, "Mélange"

   ALPHA 101
   TOP 101, 80
   LEFT 101, 430
   FONT_ITALIC 101
   CAPTION 101, "Jeu de Taquin"

   ALPHA 102
   TOP 102, 180
   LEFT 102, 464
   CAPTION 102, "Gagné !"

   ON_CLICK 100, Melange

END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Taquin Pousse Pousse Empty
MessageSujet: Re: Taquin Pousse Pousse   Taquin Pousse Pousse Empty

Revenir en haut Aller en bas
 
Taquin Pousse Pousse
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Le pousse-pousse
» Le jeu de Taquin
» Taquin III
» Taquin II Le Retour
» Panoramic Android : jeu de Taquin

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les jeux faits avec Panoramic-
Sauter vers: