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
» Logiciel de planétarium.
Les cris des animaux - Page 6 Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Les cris des animaux - Page 6 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Les cris des animaux - Page 6 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Les cris des animaux - Page 6 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Les cris des animaux - Page 6 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Les cris des animaux - Page 6 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Les cris des animaux - Page 6 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Les cris des animaux - Page 6 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Les cris des animaux - Page 6 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Les cris des animaux - Page 6 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Les cris des animaux - Page 6 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Les cris des animaux - Page 6 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Les cris des animaux - Page 6 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Les cris des animaux - Page 6 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Les cris des animaux - Page 6 Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-40%
Le deal à ne pas rater :
(CDAV) Machine à pâtes Philips 7000 series HR2665/96 à 148,99€
148.88 € 249.99 €
Voir le deal

 

 Les cris des animaux

Aller en bas 
+7
Jicehel
ambroise
jjn4
Klaus
demenvil
Yannick
papydall
11 participants
Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7  Suivant
AuteurMessage
Yannick




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

Les cris des animaux - Page 6 Empty
MessageSujet: re   Les cris des animaux - Page 6 EmptyJeu 26 Juil 2012 - 14:11

@ papydall


- Le fait d'avoir plusieurs lignes identiques tient du fait que pour afficher un choix multiple de réponses
je fais un tirage de 4 lignes sur le nombre d'animaux présent et j'ajoute la bonne réponse.
donc si dans les 4 la reponse vrai est tiré au sort = 2fois la même ligne
et si dans la liste des animaux il y en a plusieurs qui ont la même réponse, on peut avoir plus de 2 lignes identiques.

la solution serait de créer une liste à partir du fichier Bdd en otant l'animal tiré au sort pour la question ( ca encore c'est assez facile Wink )
mais aussi en triant par comparaison a chaque écriture de ligne pour éviter que deux reponses identique se trouve sur la liste...(là çà se complique scratch )

je pense qu'en ajoutant des animaux on dilue le problème Laughing

- Pour le fait d'annoncer faux alors que c'est la même réponse je comprends pas
parce que pour dire vrai ou faux la comparaison se fait sur l'égalité entre le $ choisit et le $ de la ligne de l'animal sujet
la seule idée qui me vienne c'est si dans la base on a enregistré un espace en fin de $ sur l'un et pas sur l'autre
ce qui pourrait lui rajouté un caractère...et encore je ne suis pas sur que la comparaison en tienne compte.

Mais si tu remarques bien y'a un autre truc bizarre que je ne m'explique pas ,c'est le compteur de bonne réponse qui m'en zappe régulièrement
alors que je réponds bien

comptées 8 bonnes réponses et affichées vrai
le compteur de fin dit 6
je pensais que c'était un pb d'initialisation du compteur , mais non je l'ai bien mis en place ....mystère rendeer geek scratch



Edit : Sur ton exemple les deux réponses ne sont orthographiées de la même façon , voilà le pourquoi du comment Laughing







Dernière édition par ygeronimi le Jeu 26 Juil 2012 - 14:18, édité 1 fois (Raison : ajout)
Revenir en haut Aller en bas
Jicehel

Jicehel


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

Les cris des animaux - Page 6 Empty
MessageSujet: Re: Les cris des animaux   Les cris des animaux - Page 6 EmptyJeu 26 Juil 2012 - 14:56

Ce soir pour m'amuser, je bidouillerez le truc ... Wink
Revenir en haut Aller en bas
Yannick




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

Les cris des animaux - Page 6 Empty
MessageSujet: re   Les cris des animaux - Page 6 EmptyJeu 26 Juil 2012 - 15:02

Ok , je refleuchi de mon côté
et papydall comptera les points à la fin... Laughing
Revenir en haut Aller en bas
Yannick




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

Les cris des animaux - Page 6 Empty
MessageSujet: re   Les cris des animaux - Page 6 EmptyJeu 26 Juil 2012 - 15:34

@ papydall

une précision sur la boucle while...

le if...else...end_if est là pour éviter d'avoir dans ma dlist 303 un animal qui s'appelle "_"

Laughing

Edit : si j'écris cà ,
Code:

for x%=1 to count(303)
    R$=item_read$(303,x%)
    sep%=instr(R$,"|")
    item_add 307,right$(R$,len(R$)-sep%)
next x%

item_delete 307,Animal%

a%=0

for x%=1 to count(307)
R$=item_read$(307,x%)
while a%<=count(307)
  a%=a%+1
  a$=item_read$(307,a%)
  a%=item_index(307)
  if a$=R$ then item_delete 307,a%
end_while
next x%

y a t il une horreur là dedans ?
Revenir en haut Aller en bas
Yannick




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

Les cris des animaux - Page 6 Empty
MessageSujet: re   Les cris des animaux - Page 6 EmptyJeu 26 Juil 2012 - 15:54

@ papydall

pour le son ,il faut que j'inactive le bouton
quand il n'y en a pas d'enregistré dans la base.

Laughing



moi qui croyais en avoir fini.... Laughing Laughing Laughing
Revenir en haut Aller en bas
Invité
Invité




Les cris des animaux - Page 6 Empty
MessageSujet: Re: Les cris des animaux   Les cris des animaux - Page 6 EmptyJeu 26 Juil 2012 - 16:03

J'ai pas suivi le programme. Maintenant, (et c'est général pour tous les programmes) lorsqu'il faut télécharger, avec le peu de mémoire qu'il me reste sur mon EEEPC, je regarde à deux fois.

Lorsque j'ai une liste où je fais un tirage au hazard, le mot qui a été tiré, je le rajoute à une chaine en laissant un espace-entre. Ensuite à chaque nouveau tirage, je fais:
IF INSTR(chaines$,mot$) > 0 then ..."on recommence le tirage". Le traitement dépend du type de boucle. Ainsi chaque mot ne peux-être lu qu'une fois.

Je ne sais pas si il faut que je m'explique, mais si j'ai une chaine, avec chaine$=" cheval corbeau chien" et que je teste "chien" avec la fonction instr(), on voit tout de suite qu'il a été tiré.
Revenir en haut Aller en bas
Yannick




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

Les cris des animaux - Page 6 Empty
MessageSujet: re   Les cris des animaux - Page 6 EmptyJeu 26 Juil 2012 - 18:41

@ Cosmos70,

c'est une astuce que je retiendrai...
Revenir en haut Aller en bas
Yannick




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

Les cris des animaux - Page 6 Empty
MessageSujet: re   Les cris des animaux - Page 6 EmptyJeu 26 Juil 2012 - 20:53

Sur l'astuce de cosmos70, j'ai revu la liste des propositions de réponses
pour éviter d'avoir deux fois la même.

je vous mets le code du main ici ( çà vous évitera de re télécharger le zip ) :
Code:
' ---------------------------------------------------------------------------------------------------------------
' configuration des lignes du fichier base :
' Animal$;Sexe_1$ ou_2$;Animal_frere$ ou_soeur$;Animal_pere$;Animal_mere$;adr Animal_image$;adr Animal_son$ |Cri$
' ---------------------------------------------------------------------------------------------------------------
' La variable passe partout
dim x%, M% ,Lg$,a$,i%,sep% ,T% ,B_Rep% ,J$,res$,P$(5),R$,Propo% ,P%(5),v%,Z$
dim Dossier$,Doss_Langue$,Doss_Img$,Doss_Son$,Doss_Bdd$,Score$
dim Param$,Langue$,Base$
dim Titre$(100),Animal$(8),Num_memo%(10),Animal%,Ligne$,Rep$
dim result%,batch$
label Init_Prog,Init_List,Init_Langue,Menu_Langue
label Menu,Jouer,Arreter,Lien,Quitter,Score
label Init_Jeu,Tirage,Verif_Tirage,Init_Animal,Choix,Enrgt_Choix,Suivant,Ecouter
label Reponse,Tirage_Rep,verif_rep,Remp_Grid,Ferm_Score,Liste_Reponses
' ******************************************************************************
' Definition de la fenêtre principale
height 0,350 :width 0,500:top 0,(screen_y-350)/2:left 0,(screen_x-500)/2
caption 0,"Les animaux du monde -  Vs: 0.9"
application_title "Les animaux du monde"
' Le menu
main_menu 1
for x% =2 to 5
sub_menu x%:parent x%,1:on_click x%,Menu
next x%
sub_menu 9:parent 9,1:on_click 9,Menu
for x% =6 to 8
sub_menu x%:parent x%,2:on_click x%,Menu
next x%
' L'image de fond
picture 20:width 20,482:height 20,289
' Le container pour le jeu
container 100:hide 100:font_size 100,10
top 100,5 : left 100,5:height 100,280:width 100,475:font_name 100,"Times new roman"
for x% =101 to 109 :alpha x% :parent x%,100:next x%
top 101,25:left 101,100:font_size 101,16:font_color 101,110,10,5
top 102,60:left 102,13:font_color 102,0,0,255
top 103,60:left 103,60
top 104,60:left 104,160:font_color 104,0,0,255
top 105,60:left 105,207
top 106,60:left 106,307:font_color 106,0,0,255
top 107,60:left 107,354
top 108,100:left 108,200:font_color 108,0,0,255
top 109,255:left 109,13

button 110:parent 110,100:top 110,250:left 110,385:width 110,24:cursor_point 110
caption 110,"X":font_name 110,"Webdings":font_size 110,12:on_click 110,Ecouter
button 111:parent 111,100:top 111,250:left 111,415:width 111,24:cursor_point 111
caption 111,"4":font_name 111,"Webdings":font_size 111,12:on_click 111,Enrgt_Choix
button 112:parent 112,100:top 112,250:left 112,445:width 112,24:cursor_point 112
caption 112,"8":font_name 112,"Webdings":font_size 112,12:on_click 112,Suivant
list 113:parent 113,100:top 113,120:left 113,200:width 113,200:height 113,120
sort_on 113:on_click 113,Choix
picture 114:parent 114,100:top 114,95:left 114,10:width 114,150:height 114,150
sound 115

' Le container pour l'A Propos
container 200:hide 200
top 200,5 : left 200,5:height 200,280:width 200,475
alpha 201:parent 201,200:top 201,30:left 201,20:caption 201,"Cet Utilitaire a été créé avec:":font_name 201,"Arial"
alpha 202:parent 202,200:top 202,60:left 202,50:caption 202,"PANORAMIC":font_name 202,"Arial":font_size 202,15
cursor_point 202:font_bold 202:font_color 202,0,0,255:on_click 202,Lien
hint 202,"Cliquez pour rejoindre la communauté des ''Panoramiciens''"
alpha 203:parent 203,200:top 203,68:left 203,190:caption 203,"Vs 0.9.23i6 du 16/05/2012":font_name 203,"Arial"
alpha 204:parent 204,200:top 204,100:left 204,40:caption 204,"Pour respecter l'esprit, cet utilitaire est freeware"+chr$(13)+"et ne peut être vendu."
font_name 204,"Arial":font_color 204,255,0,0
alpha 205:parent 205,200:font_name 204,"Arial":top 205,150:left 205,30:caption 205,"Ce jeu est basé sur une idée originale de Papydall"+chr$(13)+"Membre du Forum Panoramic"

' contenu du fichier inf
dlist 300
' liste des langues
dlist 301
' contenu du fichier langue
dlist 302
' contenu du fichier base
dlist 303
' contenu du list cri
dlist 305
' contenu du list score
dlist 306
' contenu du list réponses
dlist 307:dlist 308

gosub Init_Prog
gosub Init_Langue
end
' ******************************************************************************
Init_Prog:
Dossier$=Dir_current$
Doss_Langue$=Dossier$+"\Langues"
Doss_Img$=Dossier$+"\Images"
Doss_Son$=Dossier$+"\Sons"
Doss_Bdd$=Dossier$+"\Bdd"
Param$=Dossier$+"\Param.inf"
if file_exists(Param$)=0
  file_open_write 304,Param$
  file_writeln 304,"French.txt"
  file_close 304
end_if
file_load 300,Param$
Langue$=Doss_Langue$+"\French.txt"
Base$=Doss_Bdd$+"\French_Bdd.txt"
file_load 20,Doss_Img$+"\Fond2.jpg"
if file_exists(Dossier$+"\Score.Bdd")=0
  file_open_write 304,Dossier$+"\Score.Bdd"
  file_close 304
end_if
Score$=Dossier$+"\Score.Bdd"
file_load 306,Score$
gosub Init_List
return
' ------------------------------------------------------------------------------
Init_List:
dir_change Doss_Langue$
item_add 301,file_find_first$
a$=file_find_next$
while a$<>"_"
  if a$<>"_"
      item_add 301,a$
  else
      exit_while
  end_if
a$=file_find_next$
end_while
file_find_close
for x%=400 to 399+count(301)
  sub_menu x% :parent x%,3:caption x%,left$(item_read$(301,x%-399),len(item_read$(301,x%-399))-4):on_click x%,Menu_Langue
next x%
file_load 302,Langue$
file_load 303,Base$
return
' ------------------------------------------------------------------------------
Init_Langue:
for x%=1 to count(302) :Titre$(x%)=item_read$(302,x%) :next x%
for x%=1 to 7  :caption x%+1,Titre$(x%):next x%
caption 104,Titre$(10)
caption 106,Titre$(11)
caption 108,Titre$(12)
caption 201,Titre$(16)
caption 202,Titre$(17)
caption 203,Titre$(18)
caption 204,Titre$(19)
caption 205,Titre$(20)
hint 110,Titre$(13)
hint 111,Titre$(14)
hint 112,Titre$(15)
caption 9,Titre$(27)
return
' ------------------------------------------------------------------------------
Menu:
for x%=2 to 9
  if clicked(x%)=1 then M% =x%
next x%
Select M%
case 2
case 3
case 4
show 200:hide 100:hide 20
case 5
batch$=Dossier$+"\fichier_help.bat"
DLL_ON Dossier$+"\Utils.dll"
result%=DLL_CALL1("Execute",ADR(batch$))
DLL_OFF
case 6
show 100:hide 200:hide 20
gosub Jouer
case 7
gosub Arreter
case 8
gosub Quitter
case 9
gosub Score
end_select
return
' ------------------------------------------------------------------------------
Menu_Langue:
for x%=400 to 409
    if object_exists(x%)=1
      if clicked(x%)=1
          Lg$=item_read$(301,x%-399)
          Langue$=Doss_Langue$+"\"+Lg$
          clear 300:clear 302:clear 303
          item_add 300,Lg$
          file_save 300,Param$
          file_load 302,Langue$
          if file_exists(Doss_Bdd$+"\"+left$(Lg$,len(Lg$)-4)+"_Bdd.txt")=1
            Base$=Doss_Bdd$+"\"+left$(Lg$,len(Lg$)-4)+"_Bdd.txt"
            file_load 303,Base$
          else
            file_open_write 304,Doss_Bdd$+"\"+left$(Lg$,len(Lg$)-4)+"_Bdd.txt"
            file_close 304
          end_if
      end_if
    else
      exit_for
    end_if
next x%
gosub Init_Langue
return
' ------------------------------------------------------------------------------
Jouer:
inactive 4:inactive 6:inactive 9
J$=message_input$("Nom du Joueur","Nom :","Joueur Inconnu")
gosub Init_Jeu
gosub Tirage
clear 113
gosub Liste_Reponses
gosub Reponse
return
'-------------------------------------------------------------------------------
Init_Jeu:
for i%=1 to 10:Num_memo%(i%)=0:next i%
T%=0
B_Rep%=0
caption 101,""
caption 102,""
caption 103,""
caption 105,""
caption 107,""
file_load 114,Doss_Img$+"\defaut.bmp"
return
' ------------------------------------------------------------------------------
Tirage:
if count(303)>0
Animal%=int(rnd(count(303)))+1
end_if
gosub Verif_Tirage
return
' ------------------------------------------------------------------------------
Verif_Tirage:
for i%=1 to 10
  if Num_memo%(i%)=0
      Num_memo%(i%)=Animal%
      Ligne$=item_read$(303,Animal%)
      T%=T%+1
      gosub Init_Animal
      exit_for
  else
      if Num_memo%(i%)=Animal%
        gosub Tirage
        exit_for
      else
        if i%=10 and Num_memo%(i%)>0
        gosub Arreter
        end_if
      end_if
  end_if
next i%
return
' ------------------------------------------------------------------------------
Liste_Reponses:
clear 307:clear 308
for x%=1 to count(303)
  R$=item_read$(303,x%)
  sep%=instr(R$,"|")
  item_add 307,right$(R$,len(R$)-sep%)
next x%
item_delete 307,Animal%
R$=""
for x%=1 to count(307)
  Z$=item_read$(307,x%)
  if instr(R$,Z$)=0
      item_add 308,Z$
      R$=R$+" "+Z$
  end_if
next x%
return
' ------------------------------------------------------------------------------
Reponse:
for x%=1 to 4:P%(x%)=0:next x%
repeat
gosub Tirage_Rep
until P%(4)<>0
for x%=1 to 4 :P$(x%)=item_read$(308,P%(x%)):item_add 113,P$(x%):next x%
item_add 113,Animal$(8)
return
' ------------------------------------------------------------------------------
Tirage_Rep:
if count(308)>0
  Propo%=int(rnd(count(308)))+1
end_if
gosub Verif_Rep
return
' ------------------------------------------------------------------------------
verif_rep:
for x%=1 to 4
  if P%(x%)=0
      P%(x%)=Propo%
      exit_for
  else
      if P%(x%)=Propo%
        gosub Tirage
        exit_for
      else
        if x%=4 and P%(x%)>0
        exit_for
        end_if
      end_if
  end_if
next x%
return
' ------------------------------------------------------------------------------
Init_Animal:
sep%=instr(Ligne$,";")
Animal$(1)=Left$(Ligne$,sep%-1)
caption 101,Animal$(1)
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(2)=Left$(Ligne$,sep%-1)
if val(Animal$(2))=1
  caption 102,Titre$(9)
else
  caption 102,Titre$(8)
end_if
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(3)=Left$(Ligne$,sep%-1)
caption 103,Animal$(3)
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(4)=Left$(Ligne$,sep%-1)
caption 105,Animal$(4)
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(5)=Left$(Ligne$,sep%-1)
caption 107,Animal$(5)
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(6)=Left$(Ligne$,sep%-1)
if Animal$(6)<>""
  file_load 114,Doss_Img$+"\"+Animal$(6)
else
  file_load 114,Doss_Img$+"\defaut.bmp"
end_if
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,"|")
Animal$(7)=Left$(Ligne$,sep%-1)
Animal$(8)=right$(Ligne$,len(Ligne$)-sep%)
caption 109,""
if Animal$(7)=""
  inactive 110
else
  active 110
end_if
return
' ------------------------------------------------------------------------------
Arreter:
active 4:active 6:active 9
if B_Rep% >5 and B_rep% < 10
  Message Titre$(21)+chr$(13)+Titre$(22)+"  "+str$(B_Rep%)+" / 10"
else
  if B_Rep% <5
      Message Titre$(23)+chr$(13)+Titre$(22)+"  "+str$(B_Rep%)+" / 10"
  else
      Message Titre$(24)+chr$(13)+Titre$(22)+"  "+str$(B_Rep%)+" / 10"
  end_if
end_if
item_add 306,Date$+";"+J$+";"+str$(B_Rep%)
file_save 306,Dossier$+"\Score.Bdd"
show 20:hide 100
gosub Init_Jeu
return
' ------------------------------------------------------------------------------
Choix:
  Rep$=item_index$(113)
return
' ------------------------------------------------------------------------------
Enrgt_Choix:
  if Rep$=Animal$(8)
    B_Rep%=B_Rep%+1
    caption 109,Titre$(25):font_color 109,2,173,65:font_size 109,10
  else
    caption 109,Titre$(26)+Animal$(8):font_color 109,179,4,7:font_size 109,10
  end_if
  inactive 111
return
' ------------------------------------------------------------------------------
Suivant:
  gosub Tirage
  clear 113
  gosub Liste_Reponses
  gosub Reponse
  active 111
return
' ------------------------------------------------------------------------------
Ecouter:
if Animal$(7)<>""
  file_load 115,Doss_Son$+"\"+Animal$(7)
  play 115
end_if
return
' ------------------------------------------------------------------------------
Lien:
execute "http://panoramic-language.pagesperso-orange.fr/French/index.html"
return
' ------------------------------------------------------------------------------
Score:
if object_exists(700)=1
  show 700
else
  form 700:top 700,(screen_y-350)/2:left 700,((screen_x-500)/2)+500:height 700,300:width 700,500
  caption 700,Titre$(27):font_name 700,"Times new roman":font_size 700,10
  command_target_is 700
  grid 701:top 701,10:left 701,10:height 701,250:width 701,287:grid_column 701,3:grid_row 701,2
  grid_row_height 701,20:grid_one_column_width 701,2,134
  grid_write 701,1,1,"Date":grid_write 701,1,2,"Joueur":grid_write 701,1,3,"Score"
  picture 702:top 702,10:left 702,315:height 702,150:width 702,150:file_load 702,Doss_Img$+"\Podium.jpg"
  button 707:top 707,230:left 707,400:caption 707,Titre$(7):on_click 707,Ferm_Score
end_if
gosub Remp_Grid
return
' ------------------------------------------------------------------------------
Remp_Grid:
if count(306)>0
  grid_row 701,count(306)+1
  for x%=1 to count(306)
      res$=item_read$(306,x%)
      sep%=instr(res$,";")
      grid_write 701,x%+1,1,left$(res$,sep%-1)
      res$=right$(res$,len(res$)-sep%)
      sep%=instr(res$,";")
      grid_write 701,x%+1,2,left$(res$,sep%-1)
      grid_write 701,x%+1,3,right$(res$,len(res$)-sep%)
  next x%
end_if
return
' ------------------------------------------------------------------------------

' ------------------------------------------------------------------------------
Ferm_Score:
hide 700
return
' ------------------------------------------------------------------------------
Quitter:
Terminate

Edit : J'ai corrigé aussi pour le bouton "Ecouter" maintenant il est désactivé si il n'y a pas de son enregistré


Dernière édition par ygeronimi le Jeu 26 Juil 2012 - 23:00, édité 1 fois (Raison : correction du son)
Revenir en haut Aller en bas
papydall

papydall


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

Les cris des animaux - Page 6 Empty
MessageSujet: Re: Les cris des animaux   Les cris des animaux - Page 6 EmptyJeu 26 Juil 2012 - 22:24

Salut ygeronimi

Ligne 401 : Form 700 --- > score
La fenêtre se trouve très à droite de l’écran, il vaut mieux enlever le +500 dans Left 700,((screen_x-500/2)+500.

Code:

form 700:top 700,(screen_y-350)/2:left 700,((screen_x-500)/2)+500:height 700,300:width 700,500
pour devenir
Code:

form 700 : top 700,(screen_y-350)/2:left 700,((screen_x-500)/2) : height 700,300 : width 700,500

Dans le répertoire Langues --- > French.txt
Choisissez une réponses : enlever le s final de réponses.

Le bouton écouter est activé/désactivé selon les cas : ça c’est bien. Mais quand il est activé, il ne provoque aucun son chez moi. C’est peut-être une question de répertoire.

Dans la liste des propositions, l’affichage (parfois) de 2 réponses identiques n’a pas été corrigé pour autant.


Ça s’améliore petit à petit. Et c’est bien.

A+
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




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

Les cris des animaux - Page 6 Empty
MessageSujet: re   Les cris des animaux - Page 6 EmptyJeu 26 Juil 2012 - 22:53

@ papydall,

1 - Je vais voir cette histoire de son
2 - Le tri se fait chez moi ( il faut peut être corriger l'orthographe entre "ralle" et "râle")

normalement la première boucle for... ...next créée une liste des cris
puis j'élimine le cri sélectionné pour la question
et enfin je recrée une liste en enlevant les doublons par la deuxième boucle for...

3 - pour la fenêtre c'est voulu , mais bon , si çà plait pas.... Crying or Very sad

4 - promis j'enlève le "s"... Laughing

PS: Pour éviter la surcharge du forum, je re publierai dans le dernier post où j'ai mis le main

Revenir en haut Aller en bas
papydall

papydall


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

Les cris des animaux - Page 6 Empty
MessageSujet: Re: Les cris des animaux   Les cris des animaux - Page 6 EmptyJeu 26 Juil 2012 - 23:05

ygeronimi a écrit:
@ papydall

une précision sur la boucle while...

le if...else...end_if est là pour éviter d'avoir dans ma dlist 303 un animal qui s'appelle "_"

Voici un extrait de ton code (ligne 114 à 122) que je commente
Code:

a$=file_find_next$  : ' ici a$ contient soit "_" soit autre chose
while a$<>"_"  : ' tant que a$ est différent de "_"
  if a$<>"_"  : ' si on ici ce que a$ ne contient pas "_" à cause de la condition du While précédent
      item_add 301,a$
  else        : ' cette ligne et la suivante ne seront jamais exécutées puisque
      exit_while : ' il n'y a pas d'autre alternative pour a$ que d'être différent de "_"
  end_if        : ' puisque le test ne doit pas avoir lieu, cette ligne est également inutile
a$=file_find_next$ : ' ici si a$ arrive à contenir "_", on sort de la boucle et on n'a
                    ' aucun risque de se trouver avec un animal qui s'appelle "_"
end_while

Moi, je coderais cette partie comme ceci
Code:

a$ = file_find_next$
while a$ <> "_"
  item_add 301,a$
  a$ = file_find_next$
end_while


Je ne pense pas qu’il y aurait une erreur mais peut-être que je me trompe !

lol!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




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

Les cris des animaux - Page 6 Empty
MessageSujet: re   Les cris des animaux - Page 6 EmptyJeu 26 Juil 2012 - 23:23

si j'écris la boucle sans le if... else... end_if, il n'y a pas d'erreur à proprement parlé
mais la dernière ligne qui sera écrite dans le dlist Bdd sera "_"
et quand je vais tiré un animal au sort j'aurai un animal qui va s'appeler "_" (et moi j'en connais pas de ce nom là... Laughing )

j'ai corrigé le son

et là je suis devant une curiosité sur ma liste de proposition de réponse ,
tantôt j'ai 26 item , tantôt j'en ai 27 .... scratch scratch

bon je vais déjà enlever ce "s" avant de le zapper encore une fois ... Laughing
Revenir en haut Aller en bas
Yannick




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

Les cris des animaux - Page 6 Empty
MessageSujet: re   Les cris des animaux - Page 6 EmptyJeu 26 Juil 2012 - 23:39

Bon , pour le "s" ,il faudra aller charger la dernière version d'ici quelques heures heures
(ou alors vous vous servez de l'outils admin pour changer...c'est une bonne occasion de s'en servir... Laughing )

le son , s'est fait

la liste de proposition , je vois pas ce qui cloche... scratch
Revenir en haut Aller en bas
papydall

papydall


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

Les cris des animaux - Page 6 Empty
MessageSujet: Re: Les cris des animaux   Les cris des animaux - Page 6 EmptyVen 27 Juil 2012 - 0:08

On peut corriger ça très facilement en double-cliquant sur …\Langues\French.txt.
Le Bloc-notes s’ouvre et on effectue la correction.

Une autre erreur à corriger (de la même façon) dans …\Bdd\french_Bdd.txt :
Corriger la ligne : Le chevreuil;1;;;;;|brame, rait, ralle, rée --- > râle au lieu de ralle

sunny sunny sunny Petit à petit, le programme devient moins petit sunny sunny sunny
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




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

Les cris des animaux - Page 6 Empty
MessageSujet: re   Les cris des animaux - Page 6 EmptyVen 27 Juil 2012 - 0:18

le albino devient un elephant

v'là pour le score, est ce mieux...pas sur...
Code:
' ---------------------------------------------------------------------------------------------------------------
' configuration des lignes du fichier base :
' Animal$;Sexe_1$ ou_2$;Animal_frere$ ou_soeur$;Animal_pere$;Animal_mere$;adr Animal_image$;adr Animal_son$ |Cri$
' ---------------------------------------------------------------------------------------------------------------
' La variable passe partout
dim x%, M% ,Lg$,a$,i%,sep% ,T% ,B_Rep% ,J$,res$,P$(5),R$,Propo% ,P%(5),v%,Z$
dim Dossier$,Doss_Langue$,Doss_Img$,Doss_Son$,Doss_Bdd$,Score$
dim Param$,Langue$,Base$
dim Titre$(100),Animal$(8),Num_memo%(10),Animal%,Ligne$,Rep$
dim result%,batch$
label Init_Prog,Init_List,Init_Langue,Menu_Langue
label Menu,Jouer,Arreter,Lien,Quitter,Score
label Init_Jeu,Tirage,Verif_Tirage,Init_Animal,Choix,Enrgt_Choix,Suivant,Ecouter
label Reponse,Tirage_Rep,verif_rep,Remp_Grid,Ferm_Score,Liste_Reponses
' ******************************************************************************
' Definition de la fenêtre principale
height 0,350 :width 0,500:top 0,(screen_y-350)/2:left 0,(screen_x-500)/2
caption 0,"Les animaux du monde -  Vs: 0.9"
application_title "Les animaux du monde"
' Le menu
main_menu 1
for x% =2 to 5
sub_menu x%:parent x%,1:on_click x%,Menu
next x%
sub_menu 9:parent 9,1:on_click 9,Menu
for x% =6 to 8
sub_menu x%:parent x%,2:on_click x%,Menu
next x%
' L'image de fond
picture 20:width 20,482:height 20,289
' Le container pour le jeu
container 100:hide 100:font_size 100,10
top 100,5 : left 100,5:height 100,280:width 100,475:font_name 100,"Times new roman"
for x% =101 to 109 :alpha x% :parent x%,100:next x%
top 101,25:left 101,100:font_size 101,16:font_color 101,110,10,5
top 102,60:left 102,13:font_color 102,0,0,255
top 103,60:left 103,60
top 104,60:left 104,160:font_color 104,0,0,255
top 105,60:left 105,207
top 106,60:left 106,307:font_color 106,0,0,255
top 107,60:left 107,354
top 108,100:left 108,200:font_color 108,0,0,255
top 109,255:left 109,13

button 110:parent 110,100:top 110,250:left 110,385:width 110,24:cursor_point 110
caption 110,"X":font_name 110,"Webdings":font_size 110,12:on_click 110,Ecouter
button 111:parent 111,100:top 111,250:left 111,415:width 111,24:cursor_point 111
caption 111,"4":font_name 111,"Webdings":font_size 111,12:on_click 111,Enrgt_Choix
button 112:parent 112,100:top 112,250:left 112,445:width 112,24:cursor_point 112
caption 112,"8":font_name 112,"Webdings":font_size 112,12:on_click 112,Suivant
list 113:parent 113,100:top 113,120:left 113,200:width 113,200:height 113,120
sort_on 113:on_click 113,Choix
picture 114:parent 114,100:top 114,95:left 114,10:width 114,150:height 114,150
sound 115

' Le container pour l'A Propos
container 200:hide 200
top 200,5 : left 200,5:height 200,280:width 200,475
alpha 201:parent 201,200:top 201,30:left 201,20:caption 201,"Cet Utilitaire a été créé avec:":font_name 201,"Arial"
alpha 202:parent 202,200:top 202,60:left 202,50:caption 202,"PANORAMIC":font_name 202,"Arial":font_size 202,15
cursor_point 202:font_bold 202:font_color 202,0,0,255:on_click 202,Lien
hint 202,"Cliquez pour rejoindre la communauté des ''Panoramiciens''"
alpha 203:parent 203,200:top 203,68:left 203,190:caption 203,"Vs 0.9.23i6 du 16/05/2012":font_name 203,"Arial"
alpha 204:parent 204,200:top 204,100:left 204,40:caption 204,"Pour respecter l'esprit, cet utilitaire est freeware"+chr$(13)+"et ne peut être vendu."
font_name 204,"Arial":font_color 204,255,0,0
alpha 205:parent 205,200:font_name 204,"Arial":top 205,150:left 205,30:caption 205,"Ce jeu est basé sur une idée originale de Papydall"+chr$(13)+"Membre du Forum Panoramic"

' contenu du fichier inf
dlist 300
' liste des langues
dlist 301
' contenu du fichier langue
dlist 302
' contenu du fichier base
dlist 303
' contenu du list cri
dlist 305
' contenu du list score
dlist 306
' contenu du list réponses
dlist 307:dlist 308

gosub Init_Prog
gosub Init_Langue
end
' ******************************************************************************
Init_Prog:
Dossier$=Dir_current$
Doss_Langue$=Dossier$+"\Langues"
Doss_Img$=Dossier$+"\Images"
Doss_Son$=Dossier$+"\Sons"
Doss_Bdd$=Dossier$+"\Bdd"
Param$=Dossier$+"\Param.inf"
if file_exists(Param$)=0
  file_open_write 304,Param$
  file_writeln 304,"French.txt"
  file_close 304
end_if
file_load 300,Param$
Langue$=Doss_Langue$+"\French.txt"
Base$=Doss_Bdd$+"\French_Bdd.txt"
file_load 20,Doss_Img$+"\Fond2.jpg"
if file_exists(Dossier$+"\Score.Bdd")=0
  file_open_write 304,Dossier$+"\Score.Bdd"
  file_close 304
end_if
Score$=Dossier$+"\Score.Bdd"
file_load 306,Score$
gosub Init_List
return
' ------------------------------------------------------------------------------
Init_List:
dir_change Doss_Langue$
item_add 301,file_find_first$
a$=file_find_next$
while a$<>"_"
  if a$<>"_"
      item_add 301,a$
  else
      exit_while
  end_if
a$=file_find_next$
end_while
file_find_close
for x%=400 to 399+count(301)
  sub_menu x% :parent x%,3:caption x%,left$(item_read$(301,x%-399),len(item_read$(301,x%-399))-4):on_click x%,Menu_Langue
next x%
file_load 302,Langue$
file_load 303,Base$
return
' ------------------------------------------------------------------------------
Init_Langue:
for x%=1 to count(302) :Titre$(x%)=item_read$(302,x%) :next x%
for x%=1 to 7  :caption x%+1,Titre$(x%):next x%
caption 104,Titre$(10)
caption 106,Titre$(11)
caption 108,Titre$(12)
caption 201,Titre$(16)
caption 202,Titre$(17)
caption 203,Titre$(18)
caption 204,Titre$(19)
caption 205,Titre$(20)
hint 110,Titre$(13)
hint 111,Titre$(14)
hint 112,Titre$(15)
caption 9,Titre$(27)
return
' ------------------------------------------------------------------------------
Menu:
for x%=2 to 9
  if clicked(x%)=1 then M% =x%
next x%
Select M%
case 2
case 3
case 4
show 200:hide 100:hide 20
case 5
batch$=Dossier$+"\fichier_help.bat"
DLL_ON Dossier$+"\Utils.dll"
result%=DLL_CALL1("Execute",ADR(batch$))
DLL_OFF
case 6
show 100:hide 200:hide 20
gosub Jouer
case 7
gosub Arreter
case 8
gosub Quitter
case 9
top 0,10:left 0,10
gosub Score
end_select
return
' ------------------------------------------------------------------------------
Menu_Langue:
for x%=400 to 409
    if object_exists(x%)=1
      if clicked(x%)=1
          Lg$=item_read$(301,x%-399)
          Langue$=Doss_Langue$+"\"+Lg$
          clear 300:clear 302:clear 303
          item_add 300,Lg$
          file_save 300,Param$
          file_load 302,Langue$
          if file_exists(Doss_Bdd$+"\"+left$(Lg$,len(Lg$)-4)+"_Bdd.txt")=1
            Base$=Doss_Bdd$+"\"+left$(Lg$,len(Lg$)-4)+"_Bdd.txt"
            file_load 303,Base$
          else
            file_open_write 304,Doss_Bdd$+"\"+left$(Lg$,len(Lg$)-4)+"_Bdd.txt"
            file_close 304
          end_if
      end_if
    else
      exit_for
    end_if
next x%
gosub Init_Langue
return
' ------------------------------------------------------------------------------
Jouer:
inactive 4:inactive 6:inactive 9
J$=message_input$("Nom du Joueur","Nom :","Joueur Inconnu")
gosub Init_Jeu
gosub Tirage
clear 113
gosub Liste_Reponses
gosub Reponse
return
'-------------------------------------------------------------------------------
Init_Jeu:
for i%=1 to 10:Num_memo%(i%)=0:next i%
T%=0
B_Rep%=0
caption 101,""
caption 102,""
caption 103,""
caption 105,""
caption 107,""
file_load 114,Doss_Img$+"\defaut.bmp"
return
' ------------------------------------------------------------------------------
Tirage:
if count(303)>0
Animal%=int(rnd(count(303)))+1
end_if
gosub Verif_Tirage
return
' ------------------------------------------------------------------------------
Verif_Tirage:
for i%=1 to 10
  if Num_memo%(i%)=0
      Num_memo%(i%)=Animal%
      Ligne$=item_read$(303,Animal%)
      T%=T%+1
      gosub Init_Animal
      exit_for
  else
      if Num_memo%(i%)=Animal%
        gosub Tirage
        exit_for
      else
        if i%=10 and Num_memo%(i%)>0
        gosub Arreter
        end_if
      end_if
  end_if
next i%
return
' ------------------------------------------------------------------------------
Liste_Reponses:
clear 307:clear 308
R$=""
for x%=1 to count(303)
  R$=item_read$(303,x%)
  sep%=instr(R$,"|")
  item_add 307,right$(R$,len(R$)-sep%)
next x%
item_delete 307,Animal%
R$=""
for x%=1 to count(307)
  Z$=item_read$(307,x%)
  if instr(R$,Z$)=0
      item_add 308,Z$
      R$=R$+"|"+Z$
  end_if
next x%
return
' ------------------------------------------------------------------------------
Reponse:
for x%=1 to 4:P%(x%)=0:next x%
repeat
gosub Tirage_Rep
until P%(4)<>0
for x%=1 to 4 :P$(x%)=item_read$(308,P%(x%)):item_add 113,P$(x%):next x%
item_add 113,Animal$(8)
return
' ------------------------------------------------------------------------------
Tirage_Rep:
if count(308)>0
  Propo%=int(rnd(count(308)))+1
end_if
gosub Verif_Rep
return
' ------------------------------------------------------------------------------
verif_rep:
for x%=1 to 4
  if P%(x%)=0
      P%(x%)=Propo%
      exit_for
  else
      if P%(x%)=Propo%
        gosub Tirage
        exit_for
      else
        if x%=4 and P%(x%)>0
        exit_for
        end_if
      end_if
  end_if
next x%
return
' ------------------------------------------------------------------------------
Init_Animal:
sep%=instr(Ligne$,";")
Animal$(1)=Left$(Ligne$,sep%-1)
caption 101,Animal$(1)
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(2)=Left$(Ligne$,sep%-1)
if val(Animal$(2))=1
  caption 102,Titre$(9)
else
  caption 102,Titre$(8)
end_if
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(3)=Left$(Ligne$,sep%-1)
caption 103,Animal$(3)
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(4)=Left$(Ligne$,sep%-1)
caption 105,Animal$(4)
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(5)=Left$(Ligne$,sep%-1)
caption 107,Animal$(5)
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(6)=Left$(Ligne$,sep%-1)
if Animal$(6)<>""
  file_load 114,Doss_Img$+"\"+Animal$(6)
else
  file_load 114,Doss_Img$+"\defaut.bmp"
end_if
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,"|")
Animal$(7)=Left$(Ligne$,sep%-1)
Animal$(8)=right$(Ligne$,len(Ligne$)-sep%)
caption 109,""
if Animal$(7)=""
  inactive 110
else
  active 110
end_if
return
' ------------------------------------------------------------------------------
Arreter:
active 4:active 6:active 9
if B_Rep% >5 and B_rep% < 10
  Message Titre$(21)+chr$(13)+Titre$(22)+"  "+str$(B_Rep%)+" / 10"
else
  if B_Rep% <5
      Message Titre$(23)+chr$(13)+Titre$(22)+"  "+str$(B_Rep%)+" / 10"
  else
      Message Titre$(24)+chr$(13)+Titre$(22)+"  "+str$(B_Rep%)+" / 10"
  end_if
end_if
item_add 306,Date$+";"+J$+";"+str$(B_Rep%)
file_save 306,Dossier$+"\Score.Bdd"
show 20:hide 100
gosub Init_Jeu
return
' ------------------------------------------------------------------------------
Choix:
  Rep$=item_index$(113)
return
' ------------------------------------------------------------------------------
Enrgt_Choix:
  if Rep$=Animal$(8)
    B_Rep%=B_Rep%+1
    caption 109,Titre$(25):font_color 109,2,173,65:font_size 109,10
  else
    caption 109,Titre$(26)+Animal$(8):font_color 109,179,4,7:font_size 109,10
  end_if
  inactive 111
return
' ------------------------------------------------------------------------------
Suivant:
  gosub Tirage
  clear 113
  gosub Liste_Reponses
  gosub Reponse
  active 111
return
' ------------------------------------------------------------------------------
Ecouter:
if Animal$(7)<>""
  file_load 115,Doss_Son$+"\"+Animal$(7)
  play 115
end_if
return
' ------------------------------------------------------------------------------
Lien:
execute "http://panoramic-language.pagesperso-orange.fr/French/index.html"
return
' ------------------------------------------------------------------------------
Score:
if object_exists(700)=1
  show 700
else
  form 700:top 700,(screen_y-350)/2:left 700,(screen_x-500)/2:height 700,300:width 700,500
  caption 700,Titre$(27):font_name 700,"Times new roman":font_size 700,10
  command_target_is 700
  grid 701:top 701,10:left 701,10:height 701,250:width 701,287:grid_column 701,3:grid_row 701,2
  grid_row_height 701,20:grid_one_column_width 701,2,134
  grid_write 701,1,1,"Date":grid_write 701,1,2,"Joueur":grid_write 701,1,3,"Score"
  picture 702:top 702,10:left 702,315:height 702,150:width 702,150:file_load 702,Doss_Img$+"\Podium.jpg"
  button 707:top 707,230:left 707,400:caption 707,Titre$(7):on_click 707,Ferm_Score
end_if
gosub Remp_Grid
return
' ------------------------------------------------------------------------------
Remp_Grid:
if count(306)>0
  grid_row 701,count(306)+1
  for x%=1 to count(306)
      res$=item_read$(306,x%)
      sep%=instr(res$,";")
      grid_write 701,x%+1,1,left$(res$,sep%-1)
      res$=right$(res$,len(res$)-sep%)
      sep%=instr(res$,";")
      grid_write 701,x%+1,2,left$(res$,sep%-1)
      grid_write 701,x%+1,3,right$(res$,len(res$)-sep%)
  next x%
end_if
return
' ------------------------------------------------------------------------------

' ------------------------------------------------------------------------------
Ferm_Score:
hide 700
top 0,(screen_y-350)/2:left 0,(screen_x-500)/2
return
' ------------------------------------------------------------------------------
Quitter:
Terminate
Revenir en haut Aller en bas
papydall

papydall


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

Les cris des animaux - Page 6 Empty
MessageSujet: Re: Les cris des animaux   Les cris des animaux - Page 6 EmptyVen 27 Juil 2012 - 1:27

French_Bdd.txt :
Corriger
La (au lieu de le) chauve-souris.

Pour le score c’est mieux ainsi.


C'est vrai : le lapin devient éléphant et c'est tant mieux!

albino ====> elephant
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




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

Les cris des animaux - Page 6 Empty
MessageSujet: re   Les cris des animaux - Page 6 EmptyVen 27 Juil 2012 - 1:35

Nouveau visuel graphique pour le score !

Code:
' ---------------------------------------------------------------------------------------------------------------
' configuration des lignes du fichier base :
' Animal$;Sexe_1$ ou_2$;Animal_frere$ ou_soeur$;Animal_pere$;Animal_mere$;adr Animal_image$;adr Animal_son$ |Cri$
' ---------------------------------------------------------------------------------------------------------------
' La variable passe partout
dim x%, M% ,Lg$,a$,i%,sep% ,T% ,B_Rep% ,J$,res$,P$(5),R$,Propo% ,P%(5),v%,Z$,W%,G%
dim Dossier$,Doss_Langue$,Doss_Img$,Doss_Son$,Doss_Bdd$,Score$
dim Param$,Langue$,Base$
dim Titre$(100),Animal$(8),Num_memo%(10),Animal%,Ligne$,Rep$
dim result%,batch$
label Init_Prog,Init_List,Init_Langue,Menu_Langue
label Menu,Jouer,Arreter,Lien,Quitter,Score
label Init_Jeu,Tirage,Verif_Tirage,Init_Animal,Choix,Enrgt_Choix,Suivant,Ecouter
label Reponse,Tirage_Rep,verif_rep,Remp_Grid,Ferm_Score,Liste_Reponses
' ******************************************************************************
' Definition de la fenêtre principale
W%=500
G%=(screen_x-500)/2
height 0,350 :width 0,W%:top 0,(screen_y-350)/2:left 0,G%
caption 0,"Les animaux du monde -  Vs: 0.9":font_name 0,"Times new roman":font_size 0,10:color 0,250,247,232
application_title "Les animaux du monde"
' Le menu
main_menu 1
for x% =2 to 5
sub_menu x%:parent x%,1:on_click x%,Menu
next x%
sub_menu 9:parent 9,1:on_click 9,Menu
for x% =6 to 8
sub_menu x%:parent x%,2:on_click x%,Menu
next x%
' L'image de fond
picture 20:width 20,482:height 20,289
' Le container pour le jeu
container 100:hide 100:font_size 100,10
top 100,5 : left 100,5:height 100,280:width 100,475:font_name 100,"Times new roman"
for x% =101 to 109 :alpha x% :parent x%,100:next x%
top 101,25:left 101,100:font_size 101,16:font_color 101,110,10,5
top 102,60:left 102,13:font_color 102,0,0,255
top 103,60:left 103,60
top 104,60:left 104,160:font_color 104,0,0,255
top 105,60:left 105,207
top 106,60:left 106,307:font_color 106,0,0,255
top 107,60:left 107,354
top 108,100:left 108,200:font_color 108,0,0,255
top 109,255:left 109,13

button 110:parent 110,100:top 110,250:left 110,385:width 110,24:cursor_point 110
caption 110,"X":font_name 110,"Webdings":font_size 110,12:on_click 110,Ecouter
button 111:parent 111,100:top 111,250:left 111,415:width 111,24:cursor_point 111
caption 111,"4":font_name 111,"Webdings":font_size 111,12:on_click 111,Enrgt_Choix
button 112:parent 112,100:top 112,250:left 112,445:width 112,24:cursor_point 112
caption 112,"8":font_name 112,"Webdings":font_size 112,12:on_click 112,Suivant
list 113:parent 113,100:top 113,120:left 113,200:width 113,200:height 113,120
sort_on 113:on_click 113,Choix
picture 114:parent 114,100:top 114,95:left 114,10:width 114,150:height 114,150
sound 115

' Le container pour l'A Propos
container 200:hide 200
top 200,5 : left 200,5:height 200,280:width 200,475
alpha 201:parent 201,200:top 201,30:left 201,20:caption 201,"Cet Utilitaire a été créé avec:":font_name 201,"Arial"
alpha 202:parent 202,200:top 202,60:left 202,50:caption 202,"PANORAMIC":font_name 202,"Arial":font_size 202,15
cursor_point 202:font_bold 202:font_color 202,0,0,255:on_click 202,Lien
hint 202,"Cliquez pour rejoindre la communauté des ''Panoramiciens''"
alpha 203:parent 203,200:top 203,68:left 203,190:caption 203,"Vs 0.9.23i6 du 16/05/2012":font_name 203,"Arial"
alpha 204:parent 204,200:top 204,100:left 204,40:caption 204,"Pour respecter l'esprit, cet utilitaire est freeware"+chr$(13)+"et ne peut être vendu."
font_name 204,"Arial":font_color 204,255,0,0
alpha 205:parent 205,200:font_name 204,"Arial":top 205,150:left 205,30:caption 205,"Ce jeu est basé sur une idée originale de Papydall"+chr$(13)+"Membre du Forum Panoramic"

' contenu du fichier inf
dlist 300
' liste des langues
dlist 301
' contenu du fichier langue
dlist 302
' contenu du fichier base
dlist 303
' contenu du list cri
dlist 305
' contenu du list score
dlist 306
' contenu du list réponses
dlist 307:dlist 308

gosub Init_Prog
gosub Init_Langue
end
' ******************************************************************************
Init_Prog:
Dossier$=Dir_current$
Doss_Langue$=Dossier$+"\Langues"
Doss_Img$=Dossier$+"\Images"
Doss_Son$=Dossier$+"\Sons"
Doss_Bdd$=Dossier$+"\Bdd"
Param$=Dossier$+"\Param.inf"
if file_exists(Param$)=0
  file_open_write 304,Param$
  file_writeln 304,"French.txt"
  file_close 304
end_if
file_load 300,Param$
Langue$=Doss_Langue$+"\French.txt"
Base$=Doss_Bdd$+"\French_Bdd.txt"
file_load 20,Doss_Img$+"\Fond2.jpg"
if file_exists(Dossier$+"\Score.Bdd")=0
  file_open_write 304,Dossier$+"\Score.Bdd"
  file_close 304
end_if
Score$=Dossier$+"\Score.Bdd"
file_load 306,Score$
gosub Init_List
return
' ------------------------------------------------------------------------------
Init_List:
dir_change Doss_Langue$
item_add 301,file_find_first$
a$=file_find_next$
while a$<>"_"
  if a$<>"_"
      item_add 301,a$
  else
      exit_while
  end_if
a$=file_find_next$
end_while
file_find_close
for x%=400 to 399+count(301)
  sub_menu x% :parent x%,3:caption x%,left$(item_read$(301,x%-399),len(item_read$(301,x%-399))-4):on_click x%,Menu_Langue
next x%
file_load 302,Langue$
file_load 303,Base$
return
' ------------------------------------------------------------------------------
Init_Langue:
for x%=1 to count(302) :Titre$(x%)=item_read$(302,x%) :next x%
for x%=1 to 7  :caption x%+1,Titre$(x%):next x%
caption 104,Titre$(10)
caption 106,Titre$(11)
caption 108,Titre$(12)
caption 201,Titre$(16)
caption 202,Titre$(17)
caption 203,Titre$(18)
caption 204,Titre$(19)
caption 205,Titre$(20)
hint 110,Titre$(13)
hint 111,Titre$(14)
hint 112,Titre$(15)
caption 9,Titre$(27)
return
' ------------------------------------------------------------------------------
Menu:
for x%=2 to 9
  if clicked(x%)=1 then M% =x%
next x%
Select M%
case 2
case 3
case 4
show 200:hide 100:hide 20
case 5
batch$=Dossier$+"\fichier_help.bat"
DLL_ON Dossier$+"\Utils.dll"
result%=DLL_CALL1("Execute",ADR(batch$))
DLL_OFF
case 6
show 100:hide 200:hide 20
gosub Jouer
case 7
gosub Arreter
case 8
gosub Quitter
case 9
gosub Score
inactive 2:inactive 3:inactive 4:inactive 9
end_select
return
' ------------------------------------------------------------------------------
Menu_Langue:
for x%=400 to 409
    if object_exists(x%)=1
      if clicked(x%)=1
          Lg$=item_read$(301,x%-399)
          Langue$=Doss_Langue$+"\"+Lg$
          clear 300:clear 302:clear 303
          item_add 300,Lg$
          file_save 300,Param$
          file_load 302,Langue$
          if file_exists(Doss_Bdd$+"\"+left$(Lg$,len(Lg$)-4)+"_Bdd.txt")=1
            Base$=Doss_Bdd$+"\"+left$(Lg$,len(Lg$)-4)+"_Bdd.txt"
            file_load 303,Base$
          else
            file_open_write 304,Doss_Bdd$+"\"+left$(Lg$,len(Lg$)-4)+"_Bdd.txt"
            file_close 304
          end_if
      end_if
    else
      exit_for
    end_if
next x%
gosub Init_Langue
return
' ------------------------------------------------------------------------------
Jouer:
inactive 4:inactive 6:inactive 9
J$=message_input$("Nom du Joueur","Nom :","Joueur Inconnu")
gosub Init_Jeu
gosub Tirage
clear 113
gosub Liste_Reponses
gosub Reponse
return
'-------------------------------------------------------------------------------
Init_Jeu:
for i%=1 to 10:Num_memo%(i%)=0:next i%
T%=0
B_Rep%=0
caption 101,""
caption 102,""
caption 103,""
caption 105,""
caption 107,""
file_load 114,Doss_Img$+"\defaut.bmp"
return
' ------------------------------------------------------------------------------
Tirage:
if count(303)>0
Animal%=int(rnd(count(303)))+1
end_if
gosub Verif_Tirage
return
' ------------------------------------------------------------------------------
Verif_Tirage:
for i%=1 to 10
  if Num_memo%(i%)=0
      Num_memo%(i%)=Animal%
      Ligne$=item_read$(303,Animal%)
      T%=T%+1
      gosub Init_Animal
      exit_for
  else
      if Num_memo%(i%)=Animal%
        gosub Tirage
        exit_for
      else
        if i%=10 and Num_memo%(i%)>0
        gosub Arreter
        end_if
      end_if
  end_if
next i%
return
' ------------------------------------------------------------------------------
Liste_Reponses:
clear 307:clear 308
R$=""
for x%=1 to count(303)
  R$=item_read$(303,x%)
  sep%=instr(R$,"|")
  item_add 307,right$(R$,len(R$)-sep%)
next x%
item_delete 307,Animal%
R$=""
for x%=1 to count(307)
  Z$=item_read$(307,x%)
  if instr(R$,Z$)=0
      item_add 308,Z$
      R$=R$+"|"+Z$
  end_if
next x%
return
' ------------------------------------------------------------------------------
Reponse:
for x%=1 to 4:P%(x%)=0:next x%
repeat
gosub Tirage_Rep
until P%(4)<>0
for x%=1 to 4 :P$(x%)=item_read$(308,P%(x%)):item_add 113,P$(x%):next x%
item_add 113,Animal$(8)
return
' ------------------------------------------------------------------------------
Tirage_Rep:
if count(308)>0
  Propo%=int(rnd(count(308)))+1
end_if
gosub Verif_Rep
return
' ------------------------------------------------------------------------------
verif_rep:
for x%=1 to 4
  if P%(x%)=0
      P%(x%)=Propo%
      exit_for
  else
      if P%(x%)=Propo%
        gosub Tirage
        exit_for
      else
        if x%=4 and P%(x%)>0
        exit_for
        end_if
      end_if
  end_if
next x%
return
' ------------------------------------------------------------------------------
Init_Animal:
sep%=instr(Ligne$,";")
Animal$(1)=Left$(Ligne$,sep%-1)
caption 101,Animal$(1)
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(2)=Left$(Ligne$,sep%-1)
if val(Animal$(2))=1
  caption 102,Titre$(9)
else
  caption 102,Titre$(8)
end_if
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(3)=Left$(Ligne$,sep%-1)
caption 103,Animal$(3)
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(4)=Left$(Ligne$,sep%-1)
caption 105,Animal$(4)
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(5)=Left$(Ligne$,sep%-1)
caption 107,Animal$(5)
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,";")
Animal$(6)=Left$(Ligne$,sep%-1)
if Animal$(6)<>""
  file_load 114,Doss_Img$+"\"+Animal$(6)
else
  file_load 114,Doss_Img$+"\defaut.bmp"
end_if
Ligne$=right$(Ligne$,len(Ligne$)-sep%)
sep%=instr(Ligne$,"|")
Animal$(7)=Left$(Ligne$,sep%-1)
Animal$(8)=right$(Ligne$,len(Ligne$)-sep%)
caption 109,""
if Animal$(7)=""
  inactive 110
else
  active 110
end_if
return
' ------------------------------------------------------------------------------
Arreter:
active 4:active 6:active 9
if B_Rep% >5 and B_rep% < 10
  Message Titre$(21)+chr$(13)+Titre$(22)+"  "+str$(B_Rep%)+" / 10"
else
  if B_Rep% <5
      Message Titre$(23)+chr$(13)+Titre$(22)+"  "+str$(B_Rep%)+" / 10"
  else
      Message Titre$(24)+chr$(13)+Titre$(22)+"  "+str$(B_Rep%)+" / 10"
  end_if
end_if
item_add 306,Date$+";"+J$+";"+str$(B_Rep%)
file_save 306,Dossier$+"\Score.Bdd"
show 20:hide 100
gosub Init_Jeu
return
' ------------------------------------------------------------------------------
Choix:
  Rep$=item_index$(113)
return
' ------------------------------------------------------------------------------
Enrgt_Choix:
  if Rep$=Animal$(8)
    B_Rep%=B_Rep%+1
    caption 109,Titre$(25):font_color 109,2,173,65:font_size 109,10
  else
    caption 109,Titre$(26)+Animal$(8):font_color 109,179,4,7:font_size 109,10
  end_if
  inactive 111
return
' ------------------------------------------------------------------------------
Suivant:
  gosub Tirage
  clear 113
  gosub Liste_Reponses
  gosub Reponse
  active 111
return
' ------------------------------------------------------------------------------
Ecouter:
if Animal$(7)<>""
  file_load 115,Doss_Son$+"\"+Animal$(7)
  play 115
end_if
return
' ------------------------------------------------------------------------------
Lien:
execute "http://panoramic-language.pagesperso-orange.fr/French/index.html"
return
' ------------------------------------------------------------------------------
Score:
for x%=0 to 320
  W%=W%+1
  width 0,W%
next x%
for x%=0 to 320 step 2
  G%=G%-1
  left 0,G%
next x%
grid 701:top 701,10:left 701,485:height 701,250:width 701,287:grid_column 701,3:grid_row 701,2
grid_row_height 701,20:grid_one_column_width 701,2,134
grid_write 701,1,1,"Date":grid_write 701,1,2,"Joueur":grid_write 701,1,3,"Score"
button 707:top 707,265:left 707,697:caption 707,Titre$(7):on_click 707,Ferm_Score
gosub Remp_Grid
return
' ------------------------------------------------------------------------------
Remp_Grid:
if count(306)>0
  grid_row 701,count(306)+1
  for x%=1 to count(306)
      res$=item_read$(306,x%)
      sep%=instr(res$,";")
      grid_write 701,x%+1,1,left$(res$,sep%-1)
      res$=right$(res$,len(res$)-sep%)
      sep%=instr(res$,";")
      grid_write 701,x%+1,2,left$(res$,sep%-1)
      grid_write 701,x%+1,3,right$(res$,len(res$)-sep%)
  next x%
end_if
return
' ------------------------------------------------------------------------------

' ------------------------------------------------------------------------------
Ferm_Score:
delete 701
delete 707
for x%=0 to 320
  W%=W%-1
  width 0,W%
next x%
for x%=0 to 320 step 2
  G%=G%+1
  left 0,G%
next x%
active 2:active 3:active 4:active 9
return
' ------------------------------------------------------------------------------
Quitter:
Terminate


Dernière édition par ygeronimi le Ven 27 Juil 2012 - 1:57, édité 1 fois (Raison : ajout couleur de fond)
Revenir en haut Aller en bas
Yannick




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

Les cris des animaux - Page 6 Empty
MessageSujet: re   Les cris des animaux - Page 6 EmptyVen 27 Juil 2012 - 1:42

Dites moi celle qui vous parait être la meilleur
comme çà j'intègre au zip et je reste la dessus.

svp Wink

Edit :

@ papydall ,

oublies pas de changer le sexe de "la" chauve-souris, pour le score ce sera... ... encore mieux Laughing

l'outils admin , il est là pour éviter les erreurs d'emplacement et d'écriture dans les fichiers
si on se sent de ne pas se tromper, ce ne sont que des fichiers *.txt.... Wink
Revenir en haut Aller en bas
Yannick




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

Les cris des animaux - Page 6 Empty
MessageSujet: re   Les cris des animaux - Page 6 EmptyVen 27 Juil 2012 - 10:59

Je viens de mettre à jours le zip sur mon webdav

- Correction des erreurs orthographiques
- Correction du son sur le main
- Petit correction du main admin
- Changement de l'interface pour le score
Revenir en haut Aller en bas
papydall

papydall


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

Les cris des animaux - Page 6 Empty
MessageSujet: Re: Les cris des animaux   Les cris des animaux - Page 6 EmptyVen 27 Juil 2012 - 17:23

Ces jours-ci, je vis au ralenti (concernant Panoramic et le Forum).
Je vole (au sens de dérober et non de voler avec des ails !) quelques moments pour intervenir furtivement ici ou là.


UNE JOURNEE DE SEULEMENT 24 PETITES HEURES
************ C’EST TROP COURT ************
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




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

Les cris des animaux - Page 6 Empty
MessageSujet: re   Les cris des animaux - Page 6 EmptyVen 27 Juil 2012 - 17:31

@ papydall,

Je ne fais aucun reproche à personne... Laughing
24 h c'est trop court, çà c'est sur Twisted Evil

j'ai fait une modif sur la ligne 264, elle devient :

Code:
  Z$=Trim$(item_read$(307,x%))

pour éliminer les blancs en trop avant et après


PS: Vous connaissez la différence entre moi et un programmeur pro ?
...non ?!...
...10 pages de forum minimum
Revenir en haut Aller en bas
papydall

papydall


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

Les cris des animaux - Page 6 Empty
MessageSujet: Re: Les cris des animaux   Les cris des animaux - Page 6 EmptyVen 27 Juil 2012 - 17:50

Et tout le monde en a appris quelque chose, moi le premier. Laughing Laughing
Il y a beaucoup plus d’idées dans plusieurs têtes que dans une seule, aussi bien remplie soit–elle.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


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

Les cris des animaux - Page 6 Empty
MessageSujet: Re: Les cris des animaux   Les cris des animaux - Page 6 EmptyVen 27 Juil 2012 - 18:00

Ca dépend Papydall.. Regarde ... preonons le cas de la tête de Klaus d'un côté et la tienne + la mienne + celle de ygeronimi ... es tu sûr de savoir dans quel sens la balance va pencher, hein ? est-ce que tu en est sûr Wink
Revenir en haut Aller en bas
papydall

papydall


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

Les cris des animaux - Page 6 Empty
MessageSujet: Re: Les cris des animaux   Les cris des animaux - Page 6 EmptyVen 27 Juil 2012 - 19:08

Deux secondes de réflexion suffisent pour montrer que la balance devrait pencher coté opposé à celui où se trouvent nos 3 têtes.
Mais avouons que dans nos têtes il y a aussi autre chose que …. du vide .
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

Les cris des animaux - Page 6 Empty
MessageSujet: Re: Les cris des animaux   Les cris des animaux - Page 6 EmptyVen 27 Juil 2012 - 19:26

Salut Ygeronimi.

J’ai lancé ‘main.bas’.
J’ai cliqué sur le menu ‘Score’ avant toute autre chose.
La fenêtre du score s’ouvre normalement (je préfère cette façon : c’est bien !).
Je clique sur ‘Quitter’ et j’obtiens l’erreur suivante :


Les cris des animaux - Page 6 1158074724


En cliquant sur ‘OK’, le programme se déroule correctement

Le menu ‘Aide’ est sans effet.
J’ai consulté le ‘fichier_help.bat’ et j’ai remarqué que le chemin du fichier n’est pas le bon.
J’ai adapté ce chemin à ma configuration. Et tout entre en ordre.

L’affichage de 2 propositions identiques dans la liste des réponses est toujours non corrigé.

Conclusion : le programme tend vers sa phase finale de développement.
Je pense déjà à un autre programme un peu similaire, mais toute chose en son temps !

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





Les cris des animaux - Page 6 Empty
MessageSujet: Re: Les cris des animaux   Les cris des animaux - Page 6 Empty

Revenir en haut Aller en bas
 
Les cris des animaux
Revenir en haut 
Page 6 sur 7Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: