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
» StratégoV8 et V9
par Minibug Aujourd'hui à 1:10

» Rotation d'une image d'un angle quelconque
par JL35 Hier à 23:02

» GRID_LOAD
par Jean Claude Hier à 21:04

» HVIEWER
par Yannick Hier à 20:31

» KGF_dll - nouvelles versions
par Klaus Mar 16 Jan 2018 - 21:28

» Déformation d'image en trapèze
par mindstorm Mar 16 Jan 2018 - 21:06

» Mah-Jong américain
par Jean Claude Lun 15 Jan 2018 - 19:37

» Problème avec Deepl
par Klaus Lun 15 Jan 2018 - 0:34

» Quelques nouvelles ...
par Jean Claude Ven 12 Jan 2018 - 22:40

» Renommer les instructions ITEM_... ?
par Jicehel Ven 12 Jan 2018 - 18:56

» Ludothèque Panoramic
par jjn4 Ven 12 Jan 2018 - 18:11

» sous-programmes et fonctions
par Jack Ven 12 Jan 2018 - 17:51

» Mah-Jong français
par Jean Claude Jeu 11 Jan 2018 - 22:15

» panoramic 0.9.28
par gigi75 Ven 5 Jan 2018 - 14:06

» Un jeu qui va vous énerver!
par Jean Claude Jeu 4 Jan 2018 - 22:05

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Janvier 2018
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
293031    
CalendrierCalendrier

Partagez | 
 

 Sokoban (pousser les caisses)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3  Suivant
AuteurMessage
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Mer 13 Fév 2013 - 11:59

Je vais voir ça...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Mer 13 Fév 2013 - 12:04

Nouvelle version de Sokoban-designer: V1.04 du 13 Février 2013.

Le problème de gestion des flèches physiques et simulées en simultanéité est résolu. Il suffisait de faire systématiquement un set_focus 0 pour résoudre cela.

P.S. Il y a les niveaux 5 et 6...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Mer 13 Fév 2013 - 12:54

Nouvelle version de Sokoban: V1.05 du 13 Février 2013.

Pour l'affichage du numéro de niveau, j'utilise maintenant un edit comme dans le designer, et il y a un bouton "Charger" qui permet de charger directement n'importe quel niveau existant.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8011
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 13 Fév 2013 - 14:39

Pour designer :


lorsque j'essaie de charger le niveau 4 au lieu du 1
( je vais essayer avec un autre )

pour sokoban :
erreur ligne 18 , niveau 4 invalide

PS: Qu'est ce qu'il t' a fait ce pauvre magasinier pour que tu lui en veuilles à ce point ? Laughing

Edit : c'est le niveau 4 qui coince
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8011
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 13 Fév 2013 - 21:10

Je me suis rendu compte que le Pb du niveau 4 venait de mon copier/coller
qui a rajouter une ligne vide dans le fichier *.niv Embarassed

Sur la colère et comme je bigle à force de regarder des alignements de symboles
je suis fait ce petit vérificateur:
Code:
' Vérificateur de niveau Sokoban
Var()
Event()
Interface()
end
' ------------------------------------------------------------------------------
Sub Var()
  Dim Clic%,Error%
End_Sub
' ------------------------------------------------------------------------------
Sub Event()
  Label Clic
End_Sub
' ------------------------------------------------------------------------------
Sub interface()
  O_Form(0,0,1,0,0,130,360,"Vérificateur de script")
  font_name 0,"Arial"
  O_Alpha(1,0,1,10,10,0,0,"Fichier *.niv")
  font_color 1,0,0,255
  O_Edit(2,0,1,25,10,0,300)
  O_Button(3,0,1,25,315,20,20,"...",1)
  O_Button(4,0,1,60,260,0,0,"Vérifier",1)
End_Sub
' ------------------------------------------------------------------------------
Clic:
  Clic%=Number_Click
  Select Clic%
  Case 3 : O_Open_Dialog(2,"fichier *.niv|*.niv",1)
  Case 4 : Actions(text$(2))
  End_Select
return
' ------------------------------------------------------------------------------
Sub Actions()
  Chargt(Text$(2))
  Verif0()
  Verif1()
  Verif2()
  message "Verification terminée, "+str$(Error%)+" Erreur(s) trouvée(s)"
End_Sub
' ------------------------------------------------------------------------------
Sub Chargt(F$)
  if object_exists(100)=0 then O_Dlist(100,F$)
End_Sub
' ------------------------------------------------------------------------------
Sub Verif0()
  Dim_Local L$,L%,E%,T$
  L$=Item_Read$(100,1):L%=Len(L$)
  if L% >7 : E%=1 :Error%=Error%+1:End_if
  if L% <7 : E%=2 :Error%=Error%+1:End_if
  L$=Item_Read$(100,2):L%=Len(L$)
  if L% <8 : E%=3 :Error%=Error%+1:End_if
  if L% =8
      L$=right$(L$,len(L$)-7)
      T$=file_extract_name$(text$(2))
      T$=right$(T$,len(T$)-8)
      T$=Left$(T$,Len(T$)-4)
      if Val(L$)<>Val(T$) : E%=4 :Error%=Error%+1:end_if
  End_if
  Select E%
      Case 1 : message "Erreur ligne 1"+chr$(13)+"Nombre de caractères non conforme [<7]"
      Case 2 : message "Erreur ligne 1"+chr$(13)+"Nombre de caractères non conforme [>7]"
      Case 3 : message "Erreur ligne 2"+chr$(13)+"Nombre de caractères non conforme [<8]"
      Case 4 : message "Erreur ligne 2"+chr$(13)+"Niveau différent du nom de fichier"
  End_Select
End_Sub
' ------------------------------------------------------------------------------
Sub Verif1()
  Dim_Local L$,L%,C%,x%
  L$=item_read$(100,3):L%=Len(L$)
  C%=Count(100)
  for x%=4 to C%
      if len(item_read$(100,x%))>L%
        Error%=Error%+1
        message "Erreur ligne n° "+str$(x%)+chr$(13)+"Nombre de caractères supérieur à "+str$(L%)
      end_if
      if len(item_read$(100,x%))>L%
        Error%=Error%+1
        message "Erreur ligne n° "+str$(x%)+chr$(13)+"Nombre de caractères supérieur à "+str$(L%)
      end_if
      if len(item_read$(100,x%))=0
        Error%=Error%+1
        message "Erreur ligne n° "+str$(x%)+chr$(13)+"Ligne vide"
      end_if
  next x%
End_Sub
' ------------------------------------------------------------------------------
Sub Verif2()
  Dim_local c%,y%
  c%=len(item_read$(100,3))
  Dim_Local x%,c$(c%),L$
  for x%=4 to count(100)-1
      L$=item_read$(100,x%)
      for y%=1 to c% :c$(y%)=left$(L$,1):L$=right$(L$,len(L$)-1):next y%
      for y%=1 to c%
          if y%=1 and c$(y%)<>"*" : Message "Caractère incorrect ligne n°" +str$(x%)+" Caractère n°" +str$(y%)+" ["+c$(y%)+"]" : Error%=Error%+1 :End_if
          if y%=c% and c$(y%)<>"*" : Message "Caractère incorrect ligne n°" +str$(x%)+" Caractère n°" +str$(y%)+" ["+c$(y%)+"]" : Error%=Error%+1 :End_if
          if y%>1 and y%<c%
            if c$(y%)<>"9"
                if c$(y%)<>"#"
                  if c$(y%)<>"@"
                      if c$(y%)<>"X"
                        if c$(y%)<>"$"
                        Message "Caractère incorrect ligne n°" +str$(x%)+" Caractère n°" +str$(y%)+"-"+"["+c$(y%)+"]"
                        Error%=Error%+1
                        end_if
                      end_if
                  end_if
                end_if
            End_if
          End_if
      next y%
  next x%
End_Sub
' ------------------------------------------------------------------------------
#include "Objet_Lib.bas"

la Librairie:
Code:
' Objet FORM____________________________________________________________________
Sub O_Form(No%,P%,V%,T%,L%,H%,W%,C$)
  if No%> 0 then FORM No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 : Top No%,T% : Else : Top No%,(Screen_y-H%)/2 : End_If
  If L% > 0 : Left No%,L%: Else : Left No%,(Screen_x-W%)/2: End_If
  if C$<>"" then Caption No%,C$
End_Sub
' Objet ALPHA___________________________________________________________________
Sub O_Alpha(No%,P%,V%,T%,L%,H%,W%,C$)
  ALPHA No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet EDIT____________________________________________________________________
Sub O_Edit(No%,P%,V%,T%,L%,H%,W%)
  EDIT No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet BUTTON__________________________________________________________________
Sub O_Button(No%,P%,V%,T%,L%,H%,W%,C$,Cl%)
  BUTTON No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
  if Cl%> 0 then on_click No%,Clic
  cursor_point No%
End_Sub
' Objet GRID____________________________________________________________________
Sub O_Grid(No%)
  GRID No%
End_Sub
' Objet CONTAINER_______________________________________________________________
Sub O_Container(No%,P%,V%,T%,L%,H%,W%,C$)
  CONTAINER No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet SCENE3D_________________________________________________________________
Sub O_Scene3D(No%,P%,V%,T%,L%,H%,W%)
  SCENE3D No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%

End_Sub
' Objet MEMO____________________________________________________________________
Sub O_Memo(No%,P%,V%,T%,L%,H%,W%)
  MEMO No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet COMBO___________________________________________________________________
Sub O_Combo(No%,P%,V%,T%,L%,H%,W%)
  COMBO No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet LIST____________________________________________________________________
Sub O_List(No%,P%,V%,T%,L%,H%,W%,F$)
  LIST No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if F$<>""
  if file_exists F$ then file_load No%,F$
  end_if
End_Sub
' Objet PICTURE_________________________________________________________________
Sub O_Picture(No%,P%,V%,T%,L%,H%,W%,P$)
  PICTURE No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if P$<>"" then File_load No%,P$
End_Sub
' Objet CHECK___________________________________________________________________
Sub O_Check(No%,P%,V%,T%,L%,H%,W%,C$)
  CHECK No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet OPTION__________________________________________________________________
Sub O_Option(No%,P%,V%,T%,L%,H%,W%,C$)
  OPTION No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet MAIN_MENU_______________________________________________________________
Sub O_Main_Menu(No%,P%)
  MAIN_MENU No%
  if P% > 0 then Parent No%,P%
End_Sub
' Objet SUB_MENU________________________________________________________________
Sub O_Sub_Menu(No%,P%,C$,Cl%)
  SUB_MENU No%
  if P% > 0 then Parent No%,P%
  if C$<>"" then Caption No%,C$
  If Cl%=1 then on_click No%,Clic
End_Sub
' Objet SOUND___________________________________________________________________
Sub O_Sound(No%,P%,S$)
  SOUND No%
  If P%>0 then Parent No%,P%
  If S$<>"" then file_load No%,S$
End_Sub
' Objet MOVIE___________________________________________________________________
Sub O_Movie(No%,P%,V%,T%,L%,H%,W%,M$)
  MOVIE No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if M$<>"" then file_load No%,M$
End_Sub
' Objet TRACK_BAR_______________________________________________________________
Sub O_Track_Bar(No%,P%,V%,T%,L%,H%,W%)
  TRACK_BAR No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet OPEN_DIALOG_____________________________________________________________
Sub O_Open_Dialog(Out%,Filtre$,O%)
  dim_local No%,F$
  No%=Number_objects+1
  OPEN_DIALOG No%
  if filtre$<>"" then Filter No%,Filtre$
  F$=File_name$(No%)
  if O%=1 then text out%,F$
  if O%=2 then Caption Out%,F$
  if O%=3 then item_add Out%,F$
  if O%=4 then file_load Out%,F$
  Delete No%
End_Sub
' Objet SAVE_DIALOG_____________________________________________________________
' Sub O_Save_Dialog(Filtre$)
'  dim_local No%,F$
'  No%=Number_objects+1
'  SAVE_DIALOG No%
'  if filtre$<>"" then Filter No%,Filtre$
'  F$=file_name$(No%)
' End_Sub
' Objet SCROLL_BAR______________________________________________________________
Sub O_Scroll_Bar(No%,P%,V%,T%,L%,H%,W%)
  SCROLL_BAR No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet PROGRESS_BAR____________________________________________________________
Sub O_Progress_Bar(No%,P%,V%,T%,L%,H%,W%)
  PROGRESS_BAR No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet SPIN____________________________________________________________________
Sub O_Spin(No%,P%,V%,T%,L%,H%,W%)
  SPIN No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet DLIST___________________________________________________________________
Sub O_Dlist(No%,F$)
  DLIST No%
  if F$<>"" then file_load No%,F$
End_Sub
' Objet SCENE2D_________________________________________________________________
Sub O_Scene2D(No%,P%,V%,T%,L%,H%,W%)
  SCENE2D No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet TIMER___________________________________________________________________
Sub O_Timer(No%,OO%,Inter%,OT%,T$)
  TIMER No%
  if OO%=1 then timer_on No%
  if OO%=0 then timer_off No%
  if inter%>0 then timer_interval No%,inter%
  if OT%=1
      if T$<>""
        On_timer No%,T$
      end_if
  end_if
End_Sub
' Objet CONTAINER_OPTION________________________________________________________
Sub O_Container_Option(No%,P%,V%,T%,L%,H%,W%,C$)
  CONTAINER_OPTION No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet IMAGE___________________________________________________________________
Sub O_Image(No%,I$)
  if I$<>"" then file_load No%,I$
End_Sub

Je sais qu' il y a beaucoup de "if" mais j'ai eu un pb avec "or" qui ne fonctionnait pas et j'ai du contourner le pb. Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Mer 13 Fév 2013 - 22:58

@Ygeronimi:
Dans le niveau 4, il y avait effectivement une ligne supplémentaire à la fin. Je l'ai corrigé. Cela venait du fait que j'avais placé, par erreur, le [ /code] en début de ligne suivante, et non, comme pour les autres, derrière la dernière étoile de la dernière ligne. Désolé. J'y ferai attention pour la suite - car il y aura d'autres niveaux.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Jeu 14 Fév 2013 - 0:44

Je viens de poster les niveaux 7 à 10, tous réalisés avec mon Sokoban_designer.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8011
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 14 Fév 2013 - 3:54

Génial !

Tes jeux me permettent de faire des progs autours
(manque d'inspiration oblige... Embarassed )

Je pense que dans quelque temps on risque de recréer des scènes de jeu existantes
d' où ce comparateur :
Code:
Var()
Event()
Interface()

end

Sub Var()
  Dim Clic%
  Dim F1$,Nb_C1%,Nb_Line% ,N_Car%,PC%,PS%
End_Sub

Sub Event()
  Label Clic
End_Sub

Sub Interface()
  O_Form(0,0,1,0,0,200,465,"Comparateur de Grille")
  font_name 0,"Arial"
  O_Alpha(1,0,1,10,10,0,0,"Grille de base")
  font_color 1,0,0,255
  O_Edit(2,0,1,30,10,0,400)
  O_Button(3,0,1,30,420,20,20,"...",1)
  O_Button(4,0,1,60,365,0,0,"Comparer",1)
  O_Alpha(5,0,1,60,20,0,0,"Fichier en cours de comparaison :")
  font_color 5,0,0,255
  O_Alpha(6,0,1,80,40,0,0,"")
  O_Alpha(7,0,1,80,20,0,0,"l")
  font_name 7,"Wingdings":font_size 7,10
  O_Alpha(8,0,0,110,100,0,0,"Fichier Identique !")
  font_color 8,255,0,0 :font_size 8,12:font_bold 8
End_Sub

Clic:
  Clic%=Number_Click
  Select Clic%
  case 3 :O_Open_Dialog(2,"Fichier *.niv|*.niv",1)
  case 4 :Comparaison()
  End_Select
Return

Sub Comparaison()
  Chargt_FB()
  Chargt_FSec()
End_Sub

Sub Chargt_FB()
  Dim_Local x%,y%,Line$,L$
  F1$=Text$(2)
  if Object_Exists(100)=0 then O_Dlist(100,F1$)
  Line$=item_read$(100,3):Nb_C1%=len(Line$):Nb_Line%=Count(100)-4:N_Car%=Nb_C1%*Nb_Line%
  dim Car$(N_Car%)
  for x%=4 to count(100)-1
      Line$=item_read$(100,x%)
      for y%=1 to Nb_C1%
        L$=left$(Line$,1)
        Car$((x%-4)*y%)=L$
        Line$=right$(Line$,Len(Line$)-1)
      next y%
  next x%
  PC%=3+N_Car%
End_Sub

Sub Chargt_FSec()
  Dim_Local x%,F2$,Nb_C2%,Nb_Line2%,N_Car2%
  Recup_niv()
  For x%=1 to count(101)
      F2$=Item_read$(101,x%)
      If file_extract_name$(F1$)<>F2$
        Caption 6,F2$
        If Object_exists(102)=0:O_Dlist(102,F2$):Else:Clear 102:File_load 102,F2$:End_if
        Nb_C2%=len(item_read$(102,3))
        Nb_Line2%=count(102)-4
        N_Car2%=Nb_C2%*Nb_Line2%
        if Nb_C2%=Nb_C1% : PS%=PS%+1:end_if
        if Nb_Line2%=Nb_Line2% Then PS%=PS%+1
        If N_Car2%=N_Car% : PS%=PS%+1 :Comparer(Nb_C2%,N_Car2%):End_if
        if PC%=PS% :font_color 6,255,0,0:font_color 7,255,0,0:show 8 :exit_for:else:font_color 7,20,175,15:font_color 6,20,175,15:wait 1000:end_if
      End_if
  Next x%
End_Sub

Sub Recup_niv()
  Dim_Local Fs$
  if object_exists(101)=0 then O_Dlist(101,"")
  Fs$=File_find_first$
  if right$(Fs$,3)="niv" then Item_add 101,Fs$
  Fs$=File_find_next$
  while Fs$<>"_"
  if right$(Fs$,3)="niv" then Item_add 101,Fs$
  Fs$=File_find_next$
  End_While
End_Sub

Sub Comparer(a%,Nb%)
  dim_local x%,y%,Line$,L$,Car2$(Nb%)
  For x%=4 to count(102)-1
      Line$=item_read$(102,x%)
      For y%=1 to a%
        L$=left$(Line$,1)
        Car2$(y%)=L$
        Line$=right$(Line$,Len(Line$)-1)
      Next y%
  Next x%
 
  for x%=1 to a%
      if Car2$(x%)=Car$(x%) then PS%=PS%+1
  Next x%
End_Sub

#include "Objet_Lib.bas"
la lib:
Code:
' Objet FORM____________________________________________________________________
Sub O_Form(No%,P%,V%,T%,L%,H%,W%,C$)
  if No%> 0 then FORM No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 : Top No%,T% : Else : Top No%,(Screen_y-H%)/2 : End_If
  If L% > 0 : Left No%,L%: Else : Left No%,(Screen_x-W%)/2: End_If
  if C$<>"" then Caption No%,C$
End_Sub
' Objet ALPHA___________________________________________________________________
Sub O_Alpha(No%,P%,V%,T%,L%,H%,W%,C$)
  ALPHA No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet EDIT____________________________________________________________________
Sub O_Edit(No%,P%,V%,T%,L%,H%,W%)
  EDIT No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet BUTTON__________________________________________________________________
Sub O_Button(No%,P%,V%,T%,L%,H%,W%,C$,Cl%)
  BUTTON No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
  if Cl%> 0 then on_click No%,Clic
  cursor_point No%
End_Sub
' Objet GRID____________________________________________________________________
Sub O_Grid(No%,P%,V%,T%,L%,H%,W%)
  GRID No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet CONTAINER_______________________________________________________________
Sub O_Container(No%,P%,V%,T%,L%,H%,W%,C$)
  CONTAINER No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet SCENE3D_________________________________________________________________
Sub O_Scene3D(No%,P%,V%,T%,L%,H%,W%)
  SCENE3D No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%

End_Sub
' Objet MEMO____________________________________________________________________
Sub O_Memo(No%,P%,V%,T%,L%,H%,W%)
  MEMO No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet COMBO___________________________________________________________________
Sub O_Combo(No%,P%,V%,T%,L%,H%,W%)
  COMBO No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet LIST____________________________________________________________________
Sub O_List(No%,P%,V%,T%,L%,H%,W%,F$)
  LIST No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if F$<>""
  if file_exists F$ then file_load No%,F$
  end_if
End_Sub
' Objet PICTURE_________________________________________________________________
Sub O_Picture(No%,P%,V%,T%,L%,H%,W%,P$)
  PICTURE No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if P$<>"" then File_load No%,P$
End_Sub
' Objet CHECK___________________________________________________________________
Sub O_Check(No%,P%,V%,T%,L%,H%,W%,C$)
  CHECK No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet OPTION__________________________________________________________________
Sub O_Option(No%,P%,V%,T%,L%,H%,W%,C$)
  OPTION No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet MAIN_MENU_______________________________________________________________
Sub O_Main_Menu(No%,P%)
  MAIN_MENU No%
  if P% > 0 then Parent No%,P%
End_Sub
' Objet SUB_MENU________________________________________________________________
Sub O_Sub_Menu(No%,P%,C$,Cl%)
  SUB_MENU No%
  if P% > 0 then Parent No%,P%
  if C$<>"" then Caption No%,C$
  If Cl%=1 then on_click No%,Clic
End_Sub
' Objet SOUND___________________________________________________________________
Sub O_Sound(No%,P%,S$)
  SOUND No%
  If P%>0 then Parent No%,P%
  If S$<>"" then file_load No%,S$
End_Sub
' Objet MOVIE___________________________________________________________________
Sub O_Movie(No%,P%,V%,T%,L%,H%,W%,M$)
  MOVIE No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if M$<>"" then file_load No%,M$
End_Sub
' Objet TRACK_BAR_______________________________________________________________
Sub O_Track_Bar(No%,P%,V%,T%,L%,H%,W%)
  TRACK_BAR No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet OPEN_DIALOG_____________________________________________________________
Sub O_Open_Dialog(Out%,Filtre$,O%)
  dim_local No%,F$
  No%=Number_objects+1
  OPEN_DIALOG No%
  if filtre$<>"" then Filter No%,Filtre$
  F$=File_name$(No%)
  if O%=1 then text out%,F$
  if O%=2 then Caption Out%,F$
  if O%=3 then item_add Out%,F$
  if O%=4 then file_load Out%,F$
  Delete No%
End_Sub
' Objet SAVE_DIALOG_____________________________________________________________
' Sub O_Save_Dialog(Filtre$)
'  dim_local No%,F$
'  No%=Number_objects+1
'  SAVE_DIALOG No%
'  if filtre$<>"" then Filter No%,Filtre$
'  F$=file_name$(No%)
' End_Sub
' Objet SCROLL_BAR______________________________________________________________
Sub O_Scroll_Bar(No%,P%,V%,T%,L%,H%,W%)
  SCROLL_BAR No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet PROGRESS_BAR____________________________________________________________
Sub O_Progress_Bar(No%,P%,V%,T%,L%,H%,W%)
  PROGRESS_BAR No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet SPIN____________________________________________________________________
Sub O_Spin(No%,P%,V%,T%,L%,H%,W%)
  SPIN No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet DLIST___________________________________________________________________
Sub O_Dlist(No%,F$)
  DLIST No%
  if F$<>"" then file_load No%,F$
End_Sub
' Objet SCENE2D_________________________________________________________________
Sub O_Scene2D(No%,P%,V%,T%,L%,H%,W%)
  SCENE2D No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet TIMER___________________________________________________________________
Sub O_Timer(No%,OO%,Inter%,OT%,T$)
  TIMER No%
  if OO%=1 then timer_on No%
  if OO%=0 then timer_off No%
  if inter%>0 then timer_interval No%,inter%
  if OT%=1
      if T$<>""
        On_timer No%,T$
      end_if
  end_if
End_Sub
' Objet CONTAINER_OPTION________________________________________________________
Sub O_Container_Option(No%,P%,V%,T%,L%,H%,W%,C$)
  CONTAINER_OPTION No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet IMAGE___________________________________________________________________
Sub O_Image(No%,I$)
  if I$<>"" then file_load No%,I$
End_Sub

Un petit truc un peu dommage, il faut redémarrer pour faire une autre comparaison.
Dommage que Variable() ne fonctionne pas pour les tableaux de variables... No
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8011
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 14 Fév 2013 - 6:16

@ Klaus,

As tu essayé tes niveaux 8,9 et 10 ? affraid
Je ne pense pas qu'il puissent être réussi...scratch
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5876
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Sokoban (pousser les caisses)   Jeu 14 Fév 2013 - 10:31

Pas sûr que je puisse tester ce soir (St Valentin ... Wink )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Jeu 14 Fév 2013 - 10:51

A titre d'exemple, j'ai fait le niveau 9. Il y a deux points difficiles, mais je l'ai résolu. Donc, c'est faisable, et pour les autres également, avec certitude. De sont des niveaux réels d'un jeu en ligne accessible ici. Clique sir play, puis "Skip level", et tu verras les niveaux défiler. Ce que j'ai mis en ligne, c'est la copie exacte de ces niveaux.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Jeu 14 Fév 2013 - 11:03

Nouvelle version: Sokoban V1.06 du 14 Février 2013

Je me suis rendu compte que si l'on clique dans une autre fenêtre en cours d'une partie, puis on revient dans la fenêtre de Sokoban, les flèches du clavier ne sont plus actives. Ceci est corrigé. Un clic n'importe où dans la fenêtre de Sokoban (la scene2d ou la form 0 en général) réactive les flèches.

PS.
J'ai résolu également le niveau 10. Donc, comme je le disais, les niveaux sont réels et solubles. Astuce: dans certains cas, il faut pousser une caisse, contre le sens intuitif, dans une autre pièce plus éloignée de la sortie, afin de pouvoir la contourner pour pouvoir la pousser dans la direction voulue...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
bignono

avatar

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

MessageSujet: Re: Sokoban (pousser les caisses)   Jeu 14 Fév 2013 - 11:54

Ce matin à 7h00, j'ai envoyé un message dans ce post, mais celui-ci n'a pas du être enregistré, alors que j'ai bien cliqué sur envoyé! Bizarre??
Tout ceci pour dire que j'avais réussi les niveaux 1 à 10, que c'était possible à faire, et que le 10 m'avait donné du fil à retordre! Effectivement, Klaus, il faut parfois pousser les caisses à l'inverse jusque dans les salles les plus éloignées afin de les contourner pour les pousser vers la sortie et en libérer d'autres.
A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Jeu 14 Fév 2013 - 12:51

Nouvelle version:
Sokoban V1.07 du 14 Février 2013
Sokoban_designer V1.05 du 14 Février 2013


Et les niveaux 11 et 12. La version V1.07 de Sokoban est indispensable pour le niveau 12 qui contient une particularité...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8011
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 14 Fév 2013 - 16:24

Salut Klaus !

J' ai enfin réussi les niveaux 8,9,10,11,12....oufff!.... Wink

Une ou deux petites suggestions pour le "design" de sokoban :

l' "Edit " qui affiche et sert de sélecteur de niveau pourrait se transformer en "Spin"
celui aurait 1 en "Min" et le niveau le plus haut existant en "Max".
Celui peut être retrouvé par une petite "Sub" "file_find...."
Code:
spin 1
MiniMax(1)
end
Sub MiniMax(ObjetN%)
  dim_local a$,N%,x%,L$,Max%,Num%
  N%=Number_Objects+1
  Dlist N%
  a$=file_find_first$
  if right$(a$,3)="niv" then item_add N%,a$
  a$=file_find_next$
  while a$<>"_"
  if right$(a$,3)="niv" then item_add N%,a$
  a$=file_find_next$
  end_while
  file_find_close
 
  for x%=1 to count(N%)
  L$=item_read$(N%,x%)
  L$=left$(L$,len(L$)-4)
  L$=right$(L$,len(L$)-8)
  Num%=val(L$)
  if Num% > Max%  then Max%=Num%
  next x%
 
  Min 1,1:Max 1,Max% :position 1,1
  delete N%
end_sub

Un petit bouton pour revenir un "pas" en arrière serait sympa pour les erreurs de touches
ou de souris trop sensible... Rolling Eyes


Bonne Journée !
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Jeu 14 Fév 2013 - 23:12

Je vais réfléchir à tes suggestions, Ygeronimi.

Un spin est sympa pour passer facilement au niveau suivant ou précédent, mais est moins pratique pour cibler directement un niveau. Un combo, peut-être - je vais y réfléchir.

Par contre, je ne prévois pas de faire un bouton "marche arrière". Non que ce serait difficile à programmer (tu pourrais d'ailleurs le faire pour ton usage), mais je veux justement garder se piment de la version originale - un faux pas, et c'est perdu. C'est un jeu de réflexion ET d'attention. J'ai envie de garder cet état d'esprit.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Jeu 14 Fév 2013 - 23:35

Nouvelle version:
Sokoban_designer V1.06 du 14 Février 2013

Cette version corrige un petit bug en affichage d'un niveau chargée, s'il utilise la nouvelle fonction ajoutée (pour l'heure, cela affecte uniquement le niveau 12).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Ven 15 Fév 2013 - 0:15

J'ai place l'ensemble des fichiers sur MyDrive, dossier jeux\Sokoban\. Ce dossier contient Sokoban, Sokoban_designer et tous les niveaux que j'ai encodés. C'est cet endroit que je maintiendrai à jour, dorénavant.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5876
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Sokoban (pousser les caisses)   Ven 15 Fév 2013 - 9:39

Cool, je me mettrais à jour sur tes 2 jeux ce soir Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Ven 15 Fév 2013 - 11:35

Nouvelle version:
Sokoban_designer V1.07 du 15 Février 2013

Correction d'un léger bug au niveau affichage.

Nouveaux niveaux 13, 14, 15 et 16 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Ven 15 Fév 2013 - 12:56

Nouvelles versions:
Sokoban V1.08 du 15 Février 2013
Sokoban_designer V1.08 du 15 Février 2013


Comme pour le symbole "cible + caisse", j'ai ajouté "cible + ouvrier", afin d'ouvrir toutes les possibilités.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8011
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 15 Fév 2013 - 15:30

Super !

J' ai chargé , et j' en profite pour faire évoluer mon éditeur perso .
Je l'ai nommé "Sokoban Editor" (pas très original, je sais... Laughing )
Il est dispo sur mon webdav dans "Panoramic 2013" si tu veux y jeter un oeil.
j'ai encore une ou deux petites choses à améliorer encore
mais je pense qu'il est fonctionnel. Laughing

Edit : Un petit cadeau, un plateau créé avec mon éditeur
Code:
Sokoban
Niveau 21
*****************
*=9###########99*
*X9#999999999#99*
*X9#9999@9@99#99*
*X9#99###9999#99*
*X9##@99######99*
*XX%9999#9999#99*
*X99#999#99@9#99*
*999#9###9######*
*999#99@99#9999#*
*999#99999#9@99#*
*999#9@99999999#*
*999#####9#9####*
*9999999#9@9#999*
*9999999#999#999*
*9999999#####999*
*****************

Edit : Je viens de terminer et de mettre sur mon webdav la dernière version ( à moins que Klaus fasse évoluer le jeu )
de mon éditeur.


Dernière édition par ygeronimi le Ven 15 Fév 2013 - 21:20, édité 1 fois (Raison : Fin)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Ven 15 Fév 2013 - 23:14

C'est très bien, ce que tu fais !

Juste pour info, j'ai rajouté deux codes spéciaux nouveaux:

Depuis le niveau 12, il y a le % qui signifie "une caisse positionnée sur une cible"
Depuis aujourd'hui, il y a le = qui signifie "l'ouvrier positionné sur une cible"

Ceci pour corser un peu le jeu.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Sokoban (pousser les caisses)   Ven 15 Fév 2013 - 23:55

Nouveaux niveaux 17, 18, 19 et 20 !


Nouvelle version:
Sokoban V1.09 du 15 Février 2013

Cette version corrige un petit ennui au niveau affichage, lorsque l'on pousse une caisse sur une cible alors que la caisse a été créée initialement "plus haut" que la cible. On affiche maintenant, dans l'ordre:
1. les bords et les murs
2. les cibles
3. les caisses et le magasinier
Ainsi, il n'y a plus de problème de superposition des sprites.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8011
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 16 Fév 2013 - 2:22

@ Klaus,

La dernière version que j'ai mise sur mon webdav, dans le dossier
"Panoramic 2013 / Sokoban Editor", tient compte du "=" et du "%".

on a la possibilité de

- Créer un plateau
- Charger un plateau

- On voit le code dans un mémo et on peut le copier dans le presse papier
au cas où on voudrait le publier,sur le forum par exemple

- Le clic sur une case fait apparaitre un menu outils avec toutes les options
("=", "#", "*", "$", "9", "@", "%")

- J'ai mis un compteur de caisses et de cibles pour s'assurer d'en avoir le même
nombre. drunken

- Un compteur de magasinier pour ne pas l'oublier voir qu'il est pas invité des clandestins Laughing

- On peut initialiser la grille
- Changer le numéro de niveau

Ceci dit et pour tous, lorsque l'on veut se sevir du signe = en tant que caractère
voir le passer en paramètre à une sub, il faut se servir de chr$(61) car "="
renvoie une erreur . Invalide caractère.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Sokoban (pousser les caisses)   

Revenir en haut Aller en bas
 
Sokoban (pousser les caisses)
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 3Aller à la page : Précédent  1, 2, 3  Suivant
 Sujets similaires
-
» Sokoban (pousser les caisses)
» sokoban
» Fan club de Jared Leto -plus connu sous le nom de Dieu-
» Celui qui lie l'amour et la beauté n'a jamais connu l'amour. Celui qui lie l'amour et l'horreur a déjà aimé.
» Leilo en démo au Salon la bellevilloise 3, 4, 5 octobre 2014

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: