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
» Une calculatrice en une ligne de programme
Taquin III  Emptypar jean_debord Aujourd'hui à 8:01

» Gestion d'un système client-serveur.
Taquin III  Emptypar Pedro Hier à 19:31

» Les maths du crocodile
Taquin III  Emptypar jean_debord Hier à 10:37

» Naissance de Crocodile Basic
Taquin III  Emptypar jean_debord Hier à 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Taquin III  Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Taquin III  Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Taquin III  Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Taquin III  Emptypar papydall Dim 21 Avr 2024 - 23:30

» Form
Taquin III  Emptypar leclode Dim 21 Avr 2024 - 18:09

» trop de fichiers en cours
Taquin III  Emptypar Marc Dim 21 Avr 2024 - 2:41

» 2D_fill_color(résolu)
Taquin III  Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Taquin III  Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Taquin III  Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Taquin III  Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

» Bataille-navale
Taquin III  Emptypar jjn4 Mer 3 Avr 2024 - 14:08

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
-39%
Le deal à ne pas rater :
Pack Home Cinéma Magnat Monitor : Ampli DENON AVR-X2800H, Enceinte ...
1190 € 1950 €
Voir le deal

 

 Taquin III

Aller en bas 
2 participants
AuteurMessage
Marc

Marc


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

Taquin III  Empty
MessageSujet: Taquin III    Taquin III  EmptyJeu 3 Déc 2015 - 23:06

Bonjour à tous,

Voici ma version 3 du TAQUIN / Pousse Pousse.

J'ai suivi les remarques de Papydall avec son souhait de plusieurs niveaux : 3x3, 4x4 et 5x5. Pas de 6x6 par manque de lettres dans l'alphabet.

J'ai suivi les conseils de Minibug : j'ai habillé le jeu et ajouté un effet visuel et sonore lorsque l'on gagne => à améliorer, je manque d'imagination...

J'ai soigné l'aspect pour conserver le même format de jeu lorsque l'on change le niveau de 9 à 16 ou 25 cases.
En fonction de la grandeur des cases, la police est adaptée.

J'ai gardé les 12 thèmes possibles. Le plus dur semble être le binaire décroissant.

A utiliser avec PANORAMIC 0.9.27i2 pour un meilleur effet visuel.

Taquin III  Taquin12

Code:
' ____________________________________
'
' Pousse-Pousse v3
' Marc37
' http://panoramic.1fr1.net/
' ____________________________________

WIDTH 0, 680
   CAPTION 0,""
   HEIGHT 0, 457
   FONT_NAME 0, "arial"
   FONT_SIZE 0, 20

SCENE2D 50
   FULL_SPACE 50
   FILE_LOAD 50, "1.bmp"

SOUND 60
FILE_LOAD 60,"applause.mp3"


DIM i%, J%, K%, L%, x%, y%
DIM n% : n% = 4 : ' 3 = 'Débutant' ; 4 = 'Confirmé' ; 6 = 'Expert'
DIM A%(25)
DIM B$(25), C$(25), D$(25), E$(26), F$(25), G$(25)
DIM tirage%, soluble%, swap%, Theme%
DIM Case_Vide%, X_casevide%, y_casevide%

LABEL Jeu
LABEL Melange
LABEL Choix_Theme
LABEL Debutant
LABEL Confirme
LABEL Expert

Datas()
Mask()
Init()

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%, b$(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%, b$(a%(i%))
      ELSE
         I% = I% - 1
      END_IF
   NEXT i%
   A%(n%*n%)=n%*n%
   Case_vide% = A%(n%*n%)
   CAPTION n%*n%,""
   Swap% = 0
   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, b$(a%(1))
      CAPTION 2, b$(a%(2))
   END_IF
   verif_gagne()
   FOR i% = 1 to n%*n% : ON_CLICK i%, Jeu : NEXT i%
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
       FOR i% = 1 to n%*n% : OFF_CLICK i% : NEXT i%
       PLAY 60
       SPRITE_SHOW 3
       FOR i% = -400 to 456
       SPRITE_Y_POSITION 3, i%
       PAUSE 5
       NEXT i%
   END_IF
END_SUB
' ------------------------------------------------------------------------------
Melange:
   Tirage_aleatoire()
RETURN
' ------------------------------------------------------------------------------
SUB Mask()
   FOR i% = 1 to 25
   BUTTON i%
   NEXT i%

   BUTTON 100
      TOP 100, 310
      LEFT 100, 445
      WIDTH 100, 150
      HEIGHT 100, 35
      FONT_SIZE 100, 16
      CAPTION 100, "Mélange"

   BUTTON 103
      TOP 103, 250
      LEFT 103, 445
      WIDTH 103, 150
      HEIGHT 103, 35
      FONT_SIZE 103, 16
      CAPTION 103, "Thème"

   BUTTON 105
      TOP 105, 190
      LEFT 105, 445
      WIDTH 105, 40
      HEIGHT 105, 35
      FONT_SIZE 105, 12
      CAPTION 105, "3x3"

   BUTTON 106
      TOP 106, 190
      LEFT 106, 500
      WIDTH 106, 40
      HEIGHT 106, 35
      FONT_SIZE 106, 12
      CAPTION 106, "4x4"

   BUTTON 107
      TOP 107, 190
      LEFT 107, 555
      WIDTH 107, 40
      HEIGHT 107, 35
      FONT_SIZE 107, 12
      CAPTION 107, "5x5"

   SPRITE 1
   SPRITE_FILE_LOAD 1,"contour.bmp"
   SPRITE_POSITION 1, 43,44

   SPRITE 2
   SPRITE_FILE_LOAD 2,"titre.bmp"
   SPRITE_POSITION 2, 433,55

   SPRITE 3
   SPRITE_FILE_LOAD 3,"paillettes.bmp"
   SPRITE_HIDE 3
   SPRITE_POSITION 3, 350,-400

   ON_CLICK 100, Melange
   ON_CLICK 103, Choix_theme
END_SUB
' ------------------------------------------------------------------------------
SUB Damier()
   OFF_CLICK 105
   OFF_CLICK 106
   OFF_CLICK 107

   FOR i% = 1 to 25
   IF OBJECT_EXISTS(i%)=1 THEN HIDE i%
   NEXT i%

   i%=0
   FOR k% = 1 TO n%
      FOR j% = 1 TO n%
         i% = i% + 1
         WIDTH i%, 300/n%
         HEIGHT i%, 300/n%
         LEFT i%, 60 + ((j%-1)*300/n%)
         TOP i%, 60 + ((k%-1)*300/n%)
         SHOW i%
         ON_CLICK i%, Jeu
      NEXT j%
   NEXT k%

   ON_CLICK 105, Debutant
   ON_CLICK 106, confirme
   ON_CLICK 107, expert

END_SUB
' ------------------------------------------------------------------------------
Choix_theme:
   FOR i% = 1 to n%*n% : OFF_CLICK i% : NEXT i%
   Theme% = theme%+1
   IF Theme% = 13 THEN Theme% = 1
   SELECT Theme%

   CASE 1
      FOR i% = 1 to n%*n%: FONT_SIZE i%,35-(3*n%) : NEXT i%
      FOR i% = 1 to n%*n%-1: b$(i%)= i% : NEXT i%

   CASE 2
      FOR i% = 1 to n%*n%: FONT_SIZE i%,35-(3*n%) : NEXT i%
      FOR i% = 1 to n%*n%-1: b$(i%)= n%*n%-i% : NEXT i%

   CASE 3
      FOR i% = 1 to n%*n%: FONT_SIZE i%,29-(3*n%) : NEXT i%
      FOR i% = 1 to n%*n%-1: b$(i%)= C$(i%) : NEXT i%

   CASE 4
      FOR i% = 1 to n%*n%: FONT_SIZE i%,29-(3*n%) : NEXT i%
      FOR i% = 1 to n%*n%-1: b$(i%)= C$(n%*n%-i%) : NEXT i%

   CASE 5
      FOR i% = 1 to n%*n%: FONT_SIZE i%,27-(3*n%) : NEXT i%
      FOR i% = 1 to n%*n%-1: b$(i%)= D$(i%) : NEXT i%

   CASE 6
      FOR i% = 1 to n%*n%: FONT_SIZE i%,27-(3*n%) : NEXT i%
      FOR i% = 1 to n%*n%-1: b$(i%)= D$(n%*n%-i%) : NEXT i%

   CASE 7
      FOR i% = 1 to n%*n%: FONT_SIZE i%,35-(3*n%) : NEXT i%
      FOR i% = 1 to n%*n%-1: b$(i%)= E$(i%) : NEXT i%

   CASE 8
      FOR i% = 1 to n%*n%: FONT_SIZE i%,35-(3*n%) : NEXT i%
      FOR i% = 1 to n%*n%-1: b$(i%)= E$(27-i%) : NEXT i%

   CASE 9
      FOR i% = 1 to n%*n%: FONT_SIZE i%,35-(3*n%) : NEXT i%
      FOR i% = 1 to n%*n%-1: b$(i%)= F$(i%) : NEXT i%

   CASE 10
      FOR i% = 1 to n%*n%: FONT_SIZE i%,35-(3*n%) : NEXT i%
      FOR i% = 1 to n%*n%-1: b$(i%)= F$(n%*n%-i%) : NEXT i%

   CASE 11
      FOR i% = 1 to n%*n%: FONT_SIZE i%,35-(3*n%) : NEXT i%
      FOR i% = 1 to n%*n%-1: b$(i%)= G$(i%) : NEXT i%

   CASE 12
      FOR i% = 1 to n%*n%: FONT_SIZE i%,35-(3*n%) : NEXT i%
      FOR i% = 1 to n%*n%-1: b$(i%)= G$(n%*n%-i%) : NEXT i%

   END_SELECT

   FOR i% = 1 to n%*n%-1
   CAPTION i%,b$(i%)
   NEXT i%

   CAPTION n%*n%, ""

RETURN

' ------------------------------------------------------------------------------
SUB Datas()
   DATA I,II,III,IV,V,VI,VII,VIII,IX,X,XI,XII,XIII,XIV,XV,XVI,XVII,XVIII,IXX,XX,XXI,XXII,XXIII,XXIV,XXV
   DATA 00001,00010,00011,00100,00101,00110,00111,01000,01001,01010,01011,01100,01101,01110,01111,10000,10001,10010,10011,10100,10101,10110,10111,11000,11001
   DATA A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
   DATA 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97
   DATA 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49
   FOR i% = 1 to 25 : READ C$(i%) : NEXT i%
   FOR i% = 1 to 25 : READ D$(i%) : NEXT i%
   FOR i% = 1 to 26 : READ E$(i%) : NEXT i%
   FOR i% = 1 to 25 : READ F$(i%) : NEXT i%
   FOR i% = 1 to 25 : READ G$(i%) : NEXT i%
END_SUB
' ------------------------------------------------------------------------------
Debutant:
   n%=3
   Init()
RETURN
' ------------------------------------------------------------------------------
Confirme:
   n%=4
   init()
RETURN
' ------------------------------------------------------------------------------
Expert:
   n%=5
   Init()
RETURN
' ------------------------------------------------------------------------------
SUB Init()
   Damier()
   THEME%=0
   GOSUB Choix_theme
END_SUB
rem ===============================================================

Reste à tester !

A télécharger (6 fichiers) sur mon Webdav => Taquin Pousse Pousse V3
Revenir en haut Aller en bas
Jicehel

Jicehel


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

Taquin III  Empty
MessageSujet: Re: Taquin III    Taquin III  EmptyVen 4 Déc 2015 - 7:26

Ca fait chouette, en effet Wink
Revenir en haut Aller en bas
 
Taquin III
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Le jeu de Taquin
» Taquin II Le Retour
» Panoramic Android : jeu de Taquin
» Taquin Pousse Pousse

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: