FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Calculatrice
par papydall Hier à 22:54

» EPP_V01 éditeur pour Panoramic
par Minibug Mer 19 Sep 2018 - 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Mer 19 Sep 2018 - 21:02

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Mer 19 Sep 2018 - 15:58

» Planétarium virtuel.
par Pedro Alvarez Mer 19 Sep 2018 - 9:28

» Demande pour Jack concernant PanExpress
par Marc Mar 18 Sep 2018 - 23:56

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 Les 2 font la paire

Aller en bas 
AuteurMessage
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Les 2 font la paire   Mer 20 Fév 2013 - 1:17

Un petit jeu simple avec des sprites.
Il suffit de faire des paires.
Il est en cours d'évolution, alors soyez indugent... Laughing

Le source est sur mon webdav avec ses fichiers annexes

La lib et les images sont sur mon webdav dans "Panoramic 2013/Tutti_Frutti"


Dernière édition par ygeronimi le Ven 22 Fév 2013 - 2:13, édité 14 fois (Raison : mise à jours : vs 0.5)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bignono

avatar

Nombre de messages : 1127
Age : 61
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Les 2 font la paire   Mer 20 Fév 2013 - 7:14

Bonjour Ygeronimi, Smile
Il est très bien ce petit jeu. Tout simple et très bien adapté pour mes filles!
A+ Wink Wink Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5929
Age : 46
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Les 2 font la paire   Mer 20 Fév 2013 - 8:29

Très proprement programmé.
Je t'ai fais quelques boucles pour diminuer le nombre de ligne et par ce que ça m'aide à comprendre comment ça marche Wink
Code:
Application_title "Tutti Frutti"

Constantes()
Variables()
Event()
Interface()

End

Sub Constantes()
End_Sub

Sub Variables()
  Dim Clic%,Change%
  Dim z,r,t,v(8),j,Img%(16)
  Dim i%,i$,cpt%,vu%,e%,sp%
End_Sub

Sub Event()
  Label Clic,Change
  Label tirage,tirage2
  Label Start
End_Sub

Sub Interface()
  O_Form(0,0,1,0,0,350,308,"Tutti Frutti"):color 0,150,20,20
  O_Main_Menu(1,0)
  O_Sub_Menu(2,1,"Jeu",0)
  O_Sub_Menu(3,2,"Nouvelle Partie",1)
  O_Sub_Menu(4,2,"Abandon",1)
  O_Sub_Menu(5,2,"Quitter",1)
  O_Sub_Menu(9,1,"Options",0)
  O_Sub_Menu(10,9,"Temps de mémorisation",0)
  O_Sub_Menu(11,10,"5 secondes",1)
  O_Sub_Menu(12,10,"10 secondes",1)
  O_Sub_Menu(13,10,"20 secondes",1):mark_on 13:i%=20
  O_Sub_Menu(6,1,"A Propos...",1)
  O_sub_Menu(7,1,"Aide",0)
  O_Sub_Menu(8,1,"",0):inactive 8
  O_Scene2d(100,0,1,6,6,280,280):color 100,25,68,10
  on_click 100,clic :cursor_point 100:inactive 100
  Timer 200 :timer_off 200:Timer_interval 200,1000
End_Sub

Clic:
  Clic%=Number_click
  Select Clic%
  Case 3 : inactive 3:inactive 4:active 100:Distribution():New_G():Chrono()
  Case 4 : Initialise()
  Case 5 : Quitter()
  Case 6 : APp()
  Case 7 : Aide()
  Case 11: i%=5 :mark_on 11:mark_off 12:mark_off 13
  Case 12: i%=10 :mark_on 12:mark_off 11:mark_off 13
  Case 13: i%=20 :mark_on 13:mark_off 11:mark_off 12
  case 100 : Affich()
  End_Select
Return

Change:
  Change%=Number_Change
  Select Change%
  End_Select
Return

Sub Distribution()
t=1
repeat
tirage:
  z=0:r=int(rnd(13))+1
  for j=1 to t-1
    if r=v(j) then z=1
  next j
  if z=1 then goto tirage
  v(t)=r:t=t+1
until t>8
t=1
repeat
tirage2:
  z=0:r=int(rnd(8))+1
  for j=1 to t-1
    if v(r)=img%(j) :z=z+1 :end_if
  next j
  if z=2 then goto tirage2
  img%(t)=v(r):t=t+1
until t>16
End_Sub

Sub New_G()
  Dim_local x%,y%,N%,L%,T%
  N%=200:T%=-70:L%=-70
  for x%=1 to 4
      L%=L%+70 :T%=-70
      for y%=1 to 4
        N%=N%+1 :T%=T%+70
        Sprite_target_is 100
        Sprite N%
        Sprite_file_load N%,str$(img%(n%-200))+".bmp"
        Sprite_position N%,L%,T%
      next y%
  next x%
  cpt%=0 :vu%=0
End_Sub

Sub Chrono()
  inactive 100
  Timer_on 200 :on_timer 200,Start
  Start:
  i%=i%-1
  i$=str$(i%)
  if len(i$)=2
      i$=string$(18," ")+i$
  else
      i$=string$(19," ")+i$
  end_if
  caption 8,i$
  if i%=0
      timer_off 200
      sprite_hide_all
      active 100 :active 4
      caption 8,""
  end_if
  return
End_Sub

Sub Initialise()
  dim_local x%
  sprite_delete_all
  vu%=0 :cpt%=0:e%=0:sp%=0
  active 3 :inactive 100
End_Sub

Sub Quitter()
  Terminate
End_Sub

Sub Aide()
End_Sub

Sub APp()
  if object_exists(500)=0
      O_Form(500,0,1,0,0,150,300,"A Propos...")
      font_name 500,"Arial"
      O_Alpha(501,500,1,10,110,0,0,"Créé avec")
      O_Alpha(502,500,1,25,25,0,0,"Panoramic Editor")
      font_size 502,20:font_bold 502:font_color 502,80,200,220
      O_Alpha(503,500,1,55,105,0,0,"Vs 0.9.24i10")
      O_Alpha(504,500,1,75,100,0,0,"Par : ygeronimi")
      font_bold 503
  else
      show 500
  end_if
End_Sub

Sub Affich()
  dim_local x%,y%,v%,w%,z%,d%,i%
  if mouse_left_down(100)=1
      v%=mouse_x_left_down(100)
      w%=mouse_y_left_down(100)
      for i% = 0 to 3
          if v%=>(1+(70*i%)) and v%<=(70+(70*i%)) then x%=0+70*i%
          if w%=>(1+(70*i%)) and w%<=(70+(70*i%)) then y%=0+70*i%
      next i%
  end_if
      d%=200 : i%=0

      for z%=0 to 280 step 70
        i%=i%+1
        for d%=0 to 3
          if x%= (0+(70*d%)) and y%=z% then sprite_Show (200+4*d%+i%):e%=200+4*d%+i%
        next d%
      next z%

      if vu%=0
        vu%=img%(e%-200):sp%=e%
      else
        if vu%=img%(e%-200)
            cpt%=cpt%+1
            vu%=0
            if cpt%=8:Message "Bravo !!!":Initialise():end_if
        else
            wait 1000
            sprite_hide sp% :sprite_hide e%
            vu%=0
        end_if
      end_if
end_sub

#include "Objet_Lib.bas"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 20 Fév 2013 - 10:59

Merci à tous les deux pour vos commentaires.

@ Bignono,

Tu es co-éditeur avec le code du tirage.

@ Jicehel,

C'est vrai que ton code est plus court...beaucoup plus court. Laughing
Je ne me suis pas encore mis à la réduction de ligne.
Pour l'instant, je garde un peu le code long pour me rappeler ma démarche
mais dans la version finale, je posterai avec ta réduction.

Ceci dit, j'hésite à changer son titre.
Si pour l'instant il y a des fruits, on peut le faire avec des animaux, des vêtements, des objets...
il suffit de changer les images. Le tout est de les nommer avec des chiffres et qu'elles fassent 70x70.

Je pensais l' appeler "Les deux font la paire" Laughing .
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5929
Age : 46
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Les 2 font la paire   Mer 20 Fév 2013 - 12:11

En effet, sur mon memory starwars, j'avais fais quelques jeux de "cartes" pour changer dans le menu le type d'images recherchées (j'avais fais les chiffres, les lettres, starwars et je ne sais plus trop quoi).
En effet c'est sympa de pouvoir choisir le thème des images.
D'ailleurs, il faudra pensé à sauvegardé les choix fais dans les options quand tu en seras là.
Pareil tu peux ajouter un compteur de mauvais choix et le choix d'un nombre de joueur (un bon choix => on rejoue, un mauvais, on passe au joueur suivant). Dans ce cas, il ne faut plus compter le nombre d'échecs comme en mode solo, mais simplement le nombre de bonnes paires.
Une autre possibilité dans les variantes éventuellement sélectionnable dans les options est le contre la montre.
Tu mets un chrono qui décompte et le joueur à X secondes pour terminer la partie.
Voilà quelques idées rapidos, à toi de jouer Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 20 Fév 2013 - 12:54

Le choix des images est en cours.....

Pour les défis, je pense que le chrono risque d'être la voix que je choisirai.

Pour le mode multi joueurs, je ne sais pas si c'est pertinent du fait que
l'on ne puisse pas jouer en ligne. Et, je vois mal deux gosses derrière la même
souris, l'un attendant que l'autre perde, sans finir par se disputer.

Pour la mémorisation des options, il suffit de coller un fichier *.ini à l'affaire et le tour est joué
ça c'est pas compliqué et ça viendra sûrement.


Ouffff.... j' ai fini, tout le monde est encore réveillé ?!

lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5929
Age : 46
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Les 2 font la paire   Mer 20 Fév 2013 - 13:42

Je te rassure, tu as fais court, je n'ai pas eu le temps de m'endormir Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Les 2 font la paire   Mer 20 Fév 2013 - 14:44

Bravo Ygeronimi !

Puisque le jeu consiste à mémoriser des objets et les retrouver, tu peux l’appeler Memory tout simplement !
Les deux font la paire ira tout aussi bien ! C’est à toi de voir.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Re   Mer 20 Fév 2013 - 18:48

Merci , merci !

J' ai mis en ligne la version 0.2 avec choix des images
(Fruits,Objets,Animaux).
Le source *.bas est édité dans le premier post.
La lib et les images sont sur mon webdav ( Attention les images ont été renommée ! ).

Le nom n' a pas encore changé mais ça va venir.
Le fichier *.ini c'est la partie en cours avec le défi chrono.

je pense aussi à pouvoir avoir une base image non prédéfini,
je m'explique:

Actuellement le tirage se fait sur 13 éléments, le jeu en sélectionne 8 qui sont doublés pour remplir la grille.
Donc, il faut absolument avoir 13 fichiers "x_N%.bmp" par catégorie pour ne pas avoir d'erreur de tirage.
Pour que tout le monde puisse rajouter ses propres images, je pense à faire que le nombre d'éléments de base soit
défini par le jeu en ouverture. Un minimum de 8 sera tout de même nécessaire.
Bref....je n'en suis pas encore là... Laughing

Toute fois, vous pouvez améliorer les images existantes ou les changer.
Le principal est qu'elles fassent 70x70 et qu'elles soient nommées comme suit

O_(num%).bmp pour les objets
F_(num%).bmp pour les fruits
A_(num%).bmp pour les animaux

Bon, j' y retourne... Rolling Eyes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 20 Fév 2013 - 22:38

Arrivée de la version 0.3

Le fichier de sauvegarde de la configuration est là.... Laughing

Edit : je viens de supprimer un message de vérif inopportun
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 21 Fév 2013 - 1:54

Voilà la version 0.4 !

- Ajout de la possibilité de jouer contre le chrono
- Possibilité de régler le chrono
- Changement de nom pour : " Les deux font la paire" ou "LDFLP"

la lib et les images sont sur mon webdav :Panoramic 2013/ LDFLP
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Les 2 font la paire   Jeu 21 Fév 2013 - 2:39

C'est bien Ygeronimi.
Mais je gagne toujours en zéro seconde!
Je croix qu’il y ait une variable qui ne s’incrémente pas.
Je n'ai pas trop régardé le code.

Bonne nuit Sleep
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 21 Fév 2013 - 2:49

Version 0.5 !!!

- Suppression de la limite de 13 images par catégorie.

on peut avoir de 8 à ...... images par catégorie,
à la condition que ce soit des *.bmp de 70x70 et nommés
comme il se doit et expliqué plus haut.

@ papydall,

tu as peut être eu une version intermédiaire.
j' ai mis 60 seconde par défaut mais parfois elles ne sont pas de trop ! Laughing
Je vais mettre le No de version dans l' "A Propos" pour que l'on parle du même source

Edit : c'est fait, le numéro de version est dans l' "A Propos"


Bon, c'est 3h00 du matin, les versions supérieures attendront quelques heures... Laughing
je vais t' imiter .... Sleep Sleep Sleep Sleep
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5929
Age : 46
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Les 2 font la paire   Jeu 21 Fév 2013 - 8:29

Mince, sur ton Webdav, ce n'était pas la dernière version du coup j'avais les gains en 0 secondes.
Je verrais ça ce soir mais je t'ai mis une version modifié de la version sur ton webdav pour gérer 3 autres jeux d'images
(Animaux(photos), Lettres, Ponctuation). La version gère juste le choix dans le menu et permet de tester que la limite des 13 images a bien été supprimée (test ok)
user: panoramic@jicehel mot de passe: panoramic123
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 21 Fév 2013 - 12:22

@ Jicehel,

Je garde tes 3 nouvelles catégories de plus
cela fera quelques cordes de plus à l' arc.

Lorsque tu rajoutes des catégories, n'oublies pas de les ajouter à la sub "Save_Ini()".
Sinon, tu auras une erreur à la réouverture si tu quittes avec une de ces catégories. Laughing

donc :

j'ai mis sur le webdav le source modifié ( j'ai pas changé la version ) ainsi que les images.
Le source en tête de sujet est à jours aussi.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 21 Fév 2013 - 13:50

Petite correction !

L' affichage du "Bravo vous avez gagné en 0 secondes"

L' affichage en cas de victoire était le même que le défi contre la montre soit activé ou pas.
J'ai fait la modification nécessaire.

Attention !

Si à la fermeture le défi contre la montre est actif, il sera actif à la prochaine ouverture et inversement.
il est inactif par défaut à la première ouverture.
La configuration est conservée dans le fichier *.ini

Données conservées dans le fichier *.ini :

Choix catégorie d' images
Choix Temps de mémorisation
Choix Défi ou pas
et les "mark_on N" du menu "Options"

Le source est corrigé, sur le forum et sur le webdav. la version reste la même

Edit : changement d'un nom de variable (conflit )


Dernière édition par ygeronimi le Jeu 21 Fév 2013 - 14:26, édité 1 fois (Raison : correction)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 21 Fév 2013 - 18:23

Version 0.6 !!!

Ajout d'un fond de grille sur le scene2d.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 21 Fév 2013 - 23:44

Version 0.7 !!!

- Ajout de l'Aide

Edit : Amélioration entre deux click souris, il y avait un pb entre deux click


Dernière édition par ygeronimi le Ven 22 Fév 2013 - 0:41, édité 1 fois (Raison : Amélioration)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 22 Fév 2013 - 1:40

Version 0.8 !!!

Blocage des petites fenêtres ( "A Propos..." et "Temps de résolution") par dessus le form 0

Attention !!!

Nécessite KGF.dll

Tout est sur le webdav, ça commence à faire un beau dossier tout ça ! Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 24 Fév 2013 - 0:34

Version 1.0 !!!

Correction de mon bug d'affichage, le dernier j'espère... Rolling Eyes

Ps : Une version plus complexe me trotte dans la tête
mais je pense aussi à un autre jeu...
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5929
Age : 46
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Les 2 font la paire   Dim 24 Fév 2013 - 2:00

J'avais un problème parfois avec les clic sur les images déjà retournées alors j'ai modifié un peu ton programme.
Code:
Application_title "L.D.F.L.P"

Constantes()
Variables()
Event()
Interface()
init()

End

Sub Constantes()
  Dim Version$ :Version$="Vs 1.0"
  Dim KGF$ : KGF$="KGF.dll" :dll_on KGF$
End_Sub

Sub Variables()
  Dim Clic%,Change%
  Dim z,r,t,v(8),j,Img%(16)
  Dim i%,i$,cpt%,vu%,e%,sp%, spj%, spk% ,type$,Temps%,Minut%,tps%
  Dim zz%,tps$
  Dim Nimg%
  Dim memo%(8)
  Dim t_click(4,4)
End_Sub

Sub Init()
  Dim_local x%,init$
  if file_exists("LDFLP.ini")=1
      file_open_read 700,"LDFLP.ini"
      for x%=1 to 6
        file_readln 700,init$
            init$=right$(init$,len(init$)-1):init$=left$(init$,len(init$)-1)
            if x%=1 :mark_on (val(init$)):end_if
            if x%=2 :i%= (val(init$))    :end_if
            if x%=3 :mark_on (val(init$)):end_if
            if x%=4 :Type$=init$        :end_if
            if x%=5 :Temps%=(val(init$)) :end_if
            if x%=6 :Minut%=(val(init$)) :end_if
      next x%
      File_close 700
  else
      Mark_on 13 :i%=20 :mark_on 17 :Type$="O_":Temps%=60 :Minut%=0
  end_if
  Determine_Nimg(Type$)
End_Sub

Sub Determine_Nimg(T$)
  Dim_Local No%,File$,x%,y%
  No%=Number_objects+1
  O_Dlist(No%,"")
  File$=file_find_first$
  if right$(File$,3)="bmp" then item_add No%,File$
  File$=File_find_next$
  while File$<>"_"
  if right$(File$,3)="bmp" then item_add No%,File$
  file$=File_find_next$
  end_while
  file_find_close
  y%=0
  for x%=1 to count(No%)
      if left$(item_read$(No%,x%),2)=T$ then y%=y%+1
  next x%
  Nimg%=y%
  if Nimg%<8 : message "Il n'y a pas assez d'images dans le dossier !":end_if
  Delete No%
End_Sub

Sub Event()
  Label Clic,Change
  Label tirage,tirage2
  Label Start,Verif_Timer
End_Sub

Sub Interface()
  O_Form(0,0,1,0,0,350,308,"Les deux font la paire"):color 0,150,20,20
  O_Main_Menu(1,0)
  O_Sub_Menu(2,1,"Jeu",0)
  O_Sub_Menu(3,2,"Nouvelle Partie",1)
  O_Sub_Menu(4,2,"Abandon",1)
  O_Sub_Menu(5,2,"Quitter",1)
  O_Sub_Menu(9,1,"Options",0)
  O_Sub_Menu(10,9,"Temps de mémorisation",0)
  O_Sub_Menu(11,10,"5 secondes",1)
  O_Sub_Menu(12,10,"10 secondes",1)
  O_Sub_Menu(13,10,"20 secondes",1)
  O_Sub_Menu(18,9,"Temps de Résolution",1)
  O_Sub_Menu(14,9,"Images",0)
  O_Sub_Menu(15,14,"Fruits",1)
  O_Sub_Menu(16,14,"Animaux (dessins)",1)
  O_Sub_Menu(17,14,"Objets",1)
  O_Sub_Menu(19,14,"Animaux (photos)",1)
  O_Sub_Menu(20,14,"Lettres",1)
  O_Sub_Menu(21,14,"Ponctuations",1)
  O_Sub_Menu(6,1,"A Propos...",1)
  O_sub_Menu(7,1,"Aide",1)
  O_Sub_Menu(8,1,"",0):inactive 8
  O_Scene2d(100,0,1,6,6,280,280):file_load 100,"Fond.bmp"
  on_click 100,clic :cursor_point 100:inactive 100
  Timer 200 :timer_off 200:Timer_interval 200,1000
  Timer 710 :timer_off 710:Timer_interval 710,1000
End_Sub

Clic:
  Clic%=Number_click
  Select Clic%
  Case 3: inactive 3:inactive 4:active 100:Distribution():New_G():Chrono()
  Case 4: Initialise()
  Case 5: Save_Ini():Quitter()
  Case 6: APp()
  Case 7: Aide()
  Case 11: i%=5 :mark_on 11:mark_off 12:mark_off 13
  Case 12: i%=10 :mark_on 12:mark_off 11:mark_off 13
  Case 13: i%=20 :mark_on 13:mark_off 11:mark_off 12
  Case 15: Type$="F_" : Efface() : mark_on 15 : Determine_Nimg(Type$)
  Case 16: Type$="A_" : Efface() : mark_on 16 : Determine_Nimg(Type$)
  Case 17: Type$="O_" : Efface() : mark_on 17 : Determine_Nimg(Type$)
  Case 18: Minuteur()
  Case 19: Type$="B_" : Efface() : mark_on 19 : Determine_Nimg(Type$)
  Case 20: Type$="C_" : Efface() : mark_on 20 : Determine_Nimg(Type$)
  Case 21: Type$="D_" : Efface() : mark_on 21 : Determine_Nimg(Type$)
  Case 100: Affich()
  case 702: Minut%=1
  case 703: Minut%=0
  case 801: Affich_Aide()
  End_Select
Return

SUB Efface()
  mark_off 15:mark_off 16 : mark_off 17:mark_off 19 : mark_off 20 :mark_off 21
END_SUB

Change:
  Change%=Number_Change
  Select Change%
  Case 704: Temps%=position(704)
  End_Select
Return

Sub Distribution()
t=1
repeat
tirage:
  z=0:r=int(rnd(Nimg%))+1
  for j=1 to t-1
    if r=v(j) then z=1
  next j
  if z=1 then goto tirage
  v(t)=r:t=t+1
until t>8
t=1
repeat
tirage2:
  z=0:r=int(rnd(8))+1
  for j=1 to t-1
    if v(r)=img%(j) :z=z+1 :end_if
  next j
  if z=2 then goto tirage2
  img%(t)=v(r):t=t+1
until t>16
End_Sub

Sub New_G()
  Dim_local x%,y%,N%,L%,T%
  N%=200:T%=-70:L%=-70
  for x%=1 to 4
      L%=L%+70 :T%=-70
      for y%=1 to 4
        N%=N%+1 :T%=T%+70
        Sprite_target_is 100
        Sprite N%
        Sprite_file_load N%,Type$+str$(img%(n%-200))+".bmp"
        Sprite_position N%,L%,T%
        t_click(x%,y%) = 0
      next y%
  next x%
  cpt%=0 :vu%=0:for x%=1 to 8:memo%(x%)=0:next x%
End_Sub

Sub Chrono()
  if variable("cz%")=0:dim cz% :end_if
  inactive 100
  Timer_on 200 :on_timer 200,Start
  cz%=i%
  Start:
  cz%=cz%-1
  i$=str$(cz%)
  if len(i$)=2
      i$=string$(18," ")+i$
  else
      i$=string$(19," ")+i$
  end_if
  caption 8,i$
  if cz%=0
      timer_off 200
      sprite_hide_all
      active 100 :active 4
      caption 8,""
      if Minut%=1 :chrono2():end_if
  end_if
  return
End_Sub

Sub Chrono2()
  Timer_on 710:on_timer 710,Verif_Timer
  tps%=0
  Verif_Timer:
      tps%=tps%+1
      tps$=str$(tps%)+" / "+str$(temps%)+" sec"
      for zz%=14 to 9 step -1
        if zz%=len(tps$)
            caption 8,string$(zz%-8," ")+tps$
            exit_for
        end_if
      next zz%
      if tps%=temps%
        Timer_off 710
        Message "Perdu !!!"+chr$(13)+"Le temps imparti est écoulé !"
        caption 8,""
        initialise()
      end_if
  return
End_Sub

Sub Initialise()
  dim_local x%
  sprite_delete_all
  vu%=0 :cpt%=0:e%=0:sp%=0 :for x%=1 to 8:memo%(x%)=0:next x%
  active 3 :inactive 100:Timer_off 710:caption 8,""
End_Sub

Sub Save_Ini()
  Dim_local x%,M%
  m%=14
  if file_exists("LDFLP.ini")=0
      file_open_write 700,"LDFLP.ini"
  else
      file_delete "LDFLP.ini"
      file_open_write 700,"LDFLP.ini"
  end_if
'  Récup Num Menu "Temps de Mémorisation" marqué
  for x%=1 to 20
      if x%=i% and i%=5  then file_writeln 700,"["+str$(M%-3)+"]"
      if x%=i% and i%=10 then file_writeln 700,"["+str$(M%-2)+"]"
      if x%=i% and i%=20 then file_writeln 700,"["+str$(M%-1)+"]"
  next x%
'  Récup val Menu "Temps de mémorisation" marqué
  file_writeln 700,"["+str$(i%)+"]"
'  Récup Num Menu "Images" marqué
  if Type$="F_" then file_writeln 700,"["+str$(15)+"]"
  if Type$="A_" then file_writeln 700,"["+str$(16)+"]"
  if Type$="O_" then file_writeln 700,"["+str$(17)+"]"
  if Type$="B_" then file_writeln 700,"["+str$(19)+"]"
  if Type$="C_" then file_writeln 700,"["+str$(20)+"]"
  if Type$="D_" then file_writeln 700,"["+str$(21)+"]"
'  Récup val Menu "Images" marqué
  file_writeln 700,"["+Type$+"]"
'  Récup val Temps pour résoudre
  file_writeln 700,"["+str$(Temps%)+"]"
'  Récup Etat du minuteur
  file_writeln 700,"["+str$(Minut%)+"]"
  file_close 700
End_Sub

Sub Minuteur()
  dim_local hnd%,res%,flag%
  flag%=1
  if object_exists(701)=0
      O_Form(701,0,1,0,0,100,250,"Temps de résolution"):font_name 701,"Arial"
      O_Option(702,701,1,10,10,0,50,"On"):cursor_point 702 :On_click 702,Clic
      O_Option(703,701,1,30,10,0,50,"Off"):cursor_point 703:On_click 703,Clic
      if Minut%=1 :mark_on 702:else: mark_on 703:end_if
      O_Spin(704,701,1,27,70,0,50):min 704,10 :max 704,300:position 704,Temps%
      On_change 704,Change
      O_Alpha(705,701,1,10,70,0,0,"Temps de résolution en secondes"):font_color 705,0,0,255
  else
      show 701
  end_if
  hnd%=handle_form("Temps de résolution")
  res%=dll_call2("WindowTopMost",hnd%,flag%)
End_Sub

Sub Quitter()
  Terminate
End_Sub

Sub Aide()
  dim_local x%
  if object_exists(1000)=0 then O_Dlist(1000,"Aide.txt")
  if Object_exists(800)=0
      O_Form(800,0,1,Top(0),left(0)+320,350,450,"Aide")
      font_name 800,"Arial"
      O_List(801,800,1,0,0,312,150,""):font_name 801,"courier new"
      font_bold 801:font_color 801,120,15,5:cursor_point 801:on_click 801,Clic
      O_Memo(802,800,1,0,150,312,282):font_name 802,"courier new"
  else
      show 800
  end_if
  clear 801: clear 802
  for x%=1 to count(1000)
      if left$(item_read$(1000,x%),1)="#":item_add 801,right$(item_read$(1000,x%),len(item_read$(1000,x%))-1):end_if
  next x%
End_Sub

Sub Affich_Aide()
  dim_local AAi% ,AAi$,Line1%,Line2%,x%
  clear 802
  AAi%=item_index(801)
  AAi$=item_index$(801)
'  définition du point de départ du chapitre
  Line1%=0
  if count(1000)>0
      for x%=1 to count(1000):if item_read$(1000,x%)="#"+AAi$:Line1%=x%:end_if:next x%
  end_if
'  détermination du point de fin du chapitre
  Line2%=0
  if Line1%<count(1000)
      for x%=(Line1%+1) to count(1000):if left$(item_read$(1000,x%),1)="#":Line2%=x% :exit_for:end_if:next x%
  end_if
'  lecture du chapitre dans 1000 - écriture dans 802
  if Line2% >0
      if (Line1%+1)<>Line2%
        for x%=(Line1%+1) to (Line2%-1):item_add 802,item_read$(1000,x%):next x%
      end_if
  else
      if (Line1%+1)<count(1000)
        for x%=(Line1%+1) to count(1000):item_add 802,item_read$(1000,x%):next x%
      end_if
  end_if
End_Sub

Sub APp()
  dim_local res%,hnd%,flag%
  flag%=1
  if object_exists(500)=0
      O_Form(500,0,1,0,0,150,300,"A Propos...")
      font_name 500,"Arial"
      hnd%=handle_form("A Propos...")
      res%=dll_call2("WindowTopMost",hnd%,flag%)
      O_Alpha(501,500,1,10,110,0,0,"Créé avec")
      O_Alpha(502,500,1,25,25,0,0,"Panoramic Editor")
      font_size 502,20:font_bold 502:font_color 502,80,200,220
      O_Alpha(503,500,1,55,105,0,0,"Vs 0.9.24i10")
      O_Alpha(504,500,1,75,100,0,0,"Par : ygeronimi")
      font_bold 503
      O_Alpha(505,500,1,95,120,0,0,Version$):font_color 505,0,0,255
  else
      show 500
  end_if
End_Sub

Sub Affich()
  dim_local x%,y%,v%,w%,z%,d%,i%,j%, k%
  off_click 100
  if mouse_left_down(100)=1
      v%=mouse_x_left_down(100)
      w%=mouse_y_left_down(100)
      for i% = 0 to 3
          if v%=>(1+(70*i%))
            if v%<=(70+(70*i%)) then x%=0+70*i% : j%=i%
          end_if
          if w%=>(1+(70*i%))
            if w%<=(70+(70*i%)) then y%=0+70*i% : k%=i%
          end_if
      next i%
  end_if
  if t_click(j%,k%) = 1
    ' Déjà cliqué on ne compte pas le clic
  else
      d%=200 : i%=0

      for z%=0 to 280 step 70
        i%=i%+1
        for d%=0 to 3
          if x%= (0+(70*d%)) and y%=z% then sprite_Show (200+4*d%+i%):e%=200+4*d%+i%
        next d%
      next z%

      if vu%=0
        vu%=img%(e%-200):sp%=e% : spj% = j% : spk% = k%
      else
        if vu%=img%(e%-200)
            cpt%=cpt%+1 : vu%=0
            t_click(j%,k%) = 1 : t_click(spj%, spk%) = 1
            if Minut%=1
              if cpt%=8:Timer_off 710:caption 8,"":Message "Bravo !!!"+chr$(13)+"Vous avez gagné en "+str$(tps%)+" secondes":Initialise():end_if
            Else
              if cpt%=8:Timer_off 710:caption 8,"":Message "Bravo !!!":Initialise():end_if
            end_if
        else
            wait 500
            sprite_hide sp% :sprite_hide e%
            vu%=0
            display
        end_if
      end_if
  end_if
  on_click 100,clic
end_sub

#include "Objet_Lib.bas"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 24 Fév 2013 - 2:44

@ Jicehel,

Je pense que tu as oublié la ré-initialisation de ton tableau "t_click(4,4)",
car j'ai un superbe message d'erreur "no repeat..." Laughing

je pensais avoir résolu le problème avec le mien memo%( 8 ) mais je m'aperçois
que j'ai fait le nécessaire pour vu% mais pas pour e%.
En clair pour le premier et pas le second .... Rolling Eyes


Edit : Correction du dernier bug d'affichage connu, la version 1.0 est à jours sur mon webdav
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 24 Fév 2013 - 17:35

Nouvelle mouture du jeu !!!

On peut ajouter soit même des catégories différentes
et non plus seulement des images aux catégories existantes.

Les images sont placées dans des dossiers nommés comme suit :

numéro+"_"+dénomination de la catégorie [ex: 1_Animaux (dessins) ]

A l'interieur du dossier, les images sont nommées par numéro+".bmp" [ex: 1.bmp]
les dossiers images doivent être dans le fichier source.


Si quelques bêta testeurs voulaient me donner leurs impressions,
le dossier est sur mon webdav [ Panoramic 2013\LDFLP\LDFLP_2.zip ]

Edit : Si on ajoute un dossier image alors que le jeu est ouvert, il faut quitter et redémarrer le jeu

Edit :Les deux font la paire a rejoint ses petits copains dans un placard [ Panoramic 2013\Mes programmes\jeux\LDFLP]
Attention !!! il y a un dossier image à ne pas montrer aux enfants ! [8_Kamasutra]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Les 2 font la paire   

Revenir en haut Aller en bas
 
Les 2 font la paire
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Paire de lentilles Acuvue gratuite
» Les smartphones Wiko font leur rentrée chez B&YOU
» Placer des icones font Awesome devant le titre des catégories et forums
» Balises BB code qui font remonter le post
» Nouveau: formulaire de contact + la copie des permissions font leur apparition sur forumactif

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: