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
» Bataille navale SM
Sokoban (pousser les caisses) Emptypar jjn4 Hier à 17:39

» Une calculatrice en une ligne de programme
Sokoban (pousser les caisses) Emptypar jean_debord Hier à 8:01

» Gestion d'un système client-serveur.
Sokoban (pousser les caisses) Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Sokoban (pousser les caisses) Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Sokoban (pousser les caisses) Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Sokoban (pousser les caisses) Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Sokoban (pousser les caisses) Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Sokoban (pousser les caisses) Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Sokoban (pousser les caisses) Emptypar papydall Dim 21 Avr 2024 - 23:30

» Form
Sokoban (pousser les caisses) Emptypar leclode Dim 21 Avr 2024 - 18:09

» trop de fichiers en cours
Sokoban (pousser les caisses) Emptypar Marc Dim 21 Avr 2024 - 2:41

» 2D_fill_color(résolu)
Sokoban (pousser les caisses) Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Sokoban (pousser les caisses) Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Sokoban (pousser les caisses) Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Sokoban (pousser les caisses) Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le deal à ne pas rater :
Réassort du coffret Pokémon 151 Électhor-ex : où l’acheter ?
Voir le deal

 

 Sokoban (pousser les caisses)

Aller en bas 
5 participants
Aller à la page : 1, 2, 3  Suivant
AuteurMessage
Klaus

Klaus


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

Sokoban (pousser les caisses) Empty
MessageSujet: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyDim 10 Fév 2013 - 21:55

J'ai fait un autre jeu: Sokoban ou "Pousser les caisses". Je pense que ce jeu est suffisamment connu pour l'éviter de longues explications. simplement, sur le plan de la technique: le jeu est prévu pour un nombre illimité de niveaux. Chaque niveau est défini par un fichier texte nommé sokoban_x.niv, où x représente le numéro de niveau (1,2,...).

Le source du programme, ainsi que tous les niveaux, sont sur MyDruve, dossier jeux\Sokoban\


Chaque ligne doit avoir exactement 17 caractères dans cet exemple. Signification des codes:
* = bordure du terrain de jeu
# = mur
X = destination pour une caisse
@ = caisse à déplacer
$ = le pauvre magasinier
% = caisse posée sur une cible

Amusez-vous bien !


Dernière édition par Klaus le Jeu 14 Fév 2013 - 22:09, édité 9 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
bignono

bignono


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyDim 10 Fév 2013 - 23:30

J'ai une erreur :
Erreur:Ligne 5: Le niveau 1 est invalide.
Je me suis apperçu que plusieurs lignes du fichier n'avaient pas 17 caractères. J'ai donc rajouté des espaces aux lignes qui n'avaient pas 17 caractères. Ensuite même erreur ligne 18, alors qu'il ya rien d'anormal dans le fichier. scratch
Revenir en haut Aller en bas
Klaus

Klaus


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyDim 10 Fév 2013 - 23:40

( annulé ! ) Tous les niveaux sont sur MyDrive, dossier jeux\Sokoban\ !


Dernière édition par Klaus le Jeu 14 Fév 2013 - 22:10, édité 1 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
bignono

bignono


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyDim 10 Fév 2013 - 23:59

A quand les autres niveaux?
Revenir en haut Aller en bas
Klaus

Klaus


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyLun 11 Fév 2013 - 0:04

Tous les niveaux sont sur MyDrive, dossier jeux\Sokoban\.

Je les trouve ici. On lance le jeu qui démarre au niveau 1. Il y a un lien en haut à droite du terrain de jeu pour passer le niveau affiché. Je passe au second niveau et construis le fichier sokoban_2.niv, puis je passe au niveau 3 etc. Et tu peux prendre n'importe quel site proposant du sokoban pour copier les niveaux et les encoder. C'est pour cela que je l'ai fait ainsi: les niveaux sont de simples fichiers textes que chacun peut construire soi-même, et même inventer ses propres niveaux.

Qu'est-ce que tu en penses ?

EDIT

Je vais réaliser un "encodeur" de niveaux, ce sera plus simple !


Dernière édition par Klaus le Jeu 14 Fév 2013 - 22:11, édité 1 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
bignono

bignono


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyLun 11 Fév 2013 - 0:26

J'ai encore une erreur avec ce fichier: Erreur ligne 1...etc
Dans ton programme il manque un compteur de temps et un compteur de mouvement. Un combo pour choisir le niveau. Et puis un éditeur de niveau ne serait pas mal non plus pour faire ses propres niveaux!
Bon allez, je vais faire dormir mes yeux, à demain. Sleep
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Sokoban (pousser les caisses) Empty
MessageSujet: re   Sokoban (pousser les caisses) EmptyLun 11 Fév 2013 - 1:33

OUffff!!!....

Je me suis sorti du niveau 1 Laughing

Ce serait bien de pouvoir jouer avec les flèches du clavier... Laughing
Revenir en haut Aller en bas
Klaus

Klaus


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyLun 11 Fév 2013 - 10:43

L'éditeur de niveaux est en cours.

Je vais regarder la gestion des flèches. Malheureusement, un scene2d n'accepte pas l'évènement on_key_down, ni on_click d'ailleurs. Je vais voir ce que je peux faire. Un timer avec scancode, peut-être.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyLun 11 Fév 2013 - 12:09

Nouvelle version: V1.01 du 11 Février 2013

Correction d'un problème d'affichage lors du passage d'un niveau à un autre. Maintenant, le programme passe bien du niveau 1 au niveau 2 (les deux niveaux que j'ai fournis), en cas de victoire au niveau 1.

EDIT

L'éditeur est en cours...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Sokoban (pousser les caisses) Empty
MessageSujet: re   Sokoban (pousser les caisses) EmptyLun 11 Fév 2013 - 17:45

Sans vouloir te piquer ton jeu et comme je suis un éternel impatient... Embarassed
Je me suis fait un petit editeur de niveau :
Code:
dim x%,y%,n%,c%,objcl%,lign$,v$,niv%
label clic,change,clic2

cherche_niv()

O_form(0,0,1,0,0,430,700,"Editeur Sokoban")
font_name 0,"Arial"
for y%=1 to 15
  for x%=1 to 15
      n%=n%+1
      O_Edit(n%,0,1,y%*22,x%*22,21,21) :text n%,"9":font_bold n%
      font_color n%,50,210,220:color n%,50,210,220 :on_change n%,change
      on_click n%,clic2
  next x%
next y%

O_Memo(226,0,1,22,400,293,250)
item_add 226,"sokoban"
item_add 226,"Niveau "+str$(niv%)
item_add 226,"*****************"
for x%=1 to 15
  item_add 226,"*999999999999999*"
next x%
item_add 226,"*****************"

for x%=227 to 231
  O_Button(x%,0,1,360,100+((x%-226)*26),20,20,"",1)
next x%
caption 227,"@" :caption 228,"#":caption 229,"X":caption 230,"$"


hint 227,"Caisse à déplacer"
hint 228,"Mur"
hint 229,"Destination pour une caisse"
hint 230,"Magasinier (1 seul )"
hint 231,"Vide"

O_Button(232,0,1,330,575,0,0,"Editer",1)

end
' ------------------------------------------------------------------------------
Sub cherche_niv()
  dim_local a$,num%,w%
  if object_exists(600)=0 then dlist 600
  a$=file_find_first$
  item_add 600,a$
  a$=file_find_next$
  while a$<>"_"
  item_add 600,a$
  a$=file_find_next$
  end_while
  file_find_close
  for w%=1 to count(600)
      a$=item_read$(600,w%)
      a$=file_extract_name$(a$)
      a$=left$(a$,len(a$)-4)
      if left$(a$,8)="sokoban_"
        num%=val(right$(a$,len(a$)-8))
      end_if
      if num%>niv% then niv%=num%
  next w%
  niv%=niv%+1
End_Sub
' ------------------------------------------------------------------------------
clic:
  c%=number_click
  select c%
  case 227 : Marque("@",235,240,15)
  case 228 : Marque("#",0,0,0)
  case 229 : Marque("X",0,0,255)
  case 230 : Marque("$",255,0,0)
  case 231 : Marque("9",50,210,220)
  case 232 : Editer()
  end_select
return
' ------------------------------------------------------------------------------
clic2:
  objcl%=number_click
return
' ------------------------------------------------------------------------------
change:
  clear 226
  item_add 226,"sokoban"
  item_add 226,"Niveau "+str$(niv%)
  item_add 226,"*****************"
  lign$=""
  for x%=1 to 225
        lign$=lign$+text$(x%)
  next x%
  for x%=1 to 14
      v$="*"+left$(lign$,15)+"*"
      item_add 226,v$
      lign$=right$(lign$,len(lign$)-15)
  next x%
  item_add 226,"*"+lign$+"*"
  item_add 226,"*****************"
return
' ------------------------------------------------------------------------------
Sub Marque(T$,R%,G%,B%)
  text objcl%,""
  text objcl%,T$
  font_color objcl%,R%,G%,B%
  color objcl%,R%,G%,B%
End_Sub
' ------------------------------------------------------------------------------
Sub Editer()
  file_save 226,"sokoban_"+str$(niv%)+".niv"
  terminate
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_Dialiog(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

c'est largement améliorable, il faut sélectionner l'édit à chaque fois, c'est un peu ch.... mais bon... Laughing

un niveau créé par mon petit outils :
Code:
Sokoban
Niveau 3
*****************
*XXX9###########*
*X999#99999#999#*
*XX99#99@99#9@9#*
*X999#9@999#9#9#*
*X999#999@@#999#*
*9999#####99999#*
*9999#9999@9####*
*999$#@#9#99999#*
*999999@9#999@9#*
*9999#999#####9#*
*X999##9##9@999#*
*X999#999#99999#*
*X999#9@9#99#@9#*
*X999#999999#99#*
*9999###########*
*****************
Revenir en haut Aller en bas
Klaus

Klaus


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyLun 11 Fév 2013 - 18:29

BRAVO !

Le mien suivra bientôt ! presque prêt, avec réutilisation de niveaux existants pour le modifier...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyLun 11 Fév 2013 - 19:19

Voici mon éditeur de niveaux.

Il est à placer dans le même dossier que Sokuban.bas.exe.

Il charge par défaut le niveau 1, mais un peut choisir le niveau à charger.

Il affiche largeur et hauteur. Si l'on change ces informations, tout le niveau sera effacé et reconstruit vide, juste avec le cadre extérieur.

Une palette est affichée à droite, avec la représentation des objets à placer. Et en haut à droite du plan de jeu, un sprite montre l'objet sélectionné par défaut. Un clic sur un des objets change le contenu de cet affichage.

Les 4 boutons de flèches déplacent, non plus le personnage, mais le sprite de l'objet sélectionné. Il y a un objet particulier (carré jaune): c'est la "gomme". Elle permet d'effacer tout objet qu'elle recouvre.

L'objet sélectionné est déplacé dans le plan de jeu, et appliqué par la touche Appliquer.

Il y a des boutons Charger, Sauver, Créer - comme d'habitude.

Le source est sur MyDrive, dossier jeux\Sokoban\.


Dernière édition par Klaus le Jeu 14 Fév 2013 - 22:12, édité 12 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jack
Admin
Jack


Nombre de messages : 2381
Date d'inscription : 28/05/2007

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyLun 11 Fév 2013 - 19:34

Citation :
Je vais regarder la gestion des flèches. Malheureusement, un scene2d n'accepte pas l'évènement on_key_down, ni on_click d'ailleurs. Je vais voir ce que je peux faire. Un timer avec scancode, peut-être.
Ne t'embête pas, je vais étendre:
ON_KEY_UP
OFF_KEY_UP
ON_KEY_DOWN
OFF_KEY_DOWN
au SCENE2D.

Bravo pour ton nouveau jeu !

Rq: si, actuellement, un SCENE2D accepte un événement ON_CLICK


Dernière édition par Jack le Mar 12 Fév 2013 - 12:19, édité 1 fois
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Sokoban (pousser les caisses) Empty
MessageSujet: re   Sokoban (pousser les caisses) EmptyLun 11 Fév 2013 - 20:49

Cà c'est une bonne nouvelle Jack !

cheers
Revenir en haut Aller en bas
Klaus

Klaus


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyLun 11 Fév 2013 - 20:58

YES !!!!!!!!!!!!!!!! Ca, c'est une bonne nouvelle ! Un grand MERCI, Jack !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyMar 12 Fév 2013 - 0:44

Bravo pour ce jeu Wink
Merci Klaus et merci Jack pour la modif à venir.

Klaus quelques remarques pour rendre le jeu encore plus sympa.
Il faudrait ajouter un bouton pour pouvoir 'relancer' le niveau quand on est bloqué (au niveau 1, ce n'est pas trop grave mais si on en est au niveau 99 ...)

Pareil dans l'optique des 99 niveaux ou plus, une sauvegarde du niveau max atteint serait sympa pour permettre de sélectionner le niveau que l'on veut refaire parmi ceux que l'on a passé jusqu'à celui atteint.

S'il y a sauvegarde des niveaux passés, un compteur de mouvements effectués rajouterait du piment puisqu'on pourrait le mettre dans la sauvegarde de l'historique des niveaux passés.

Voilà mes petits remarques après un rapide essai suite à mon retour du ski.

J'ai pas mal de lecture à faire, mais encore bravo pour cette adaptation de ce grand classique
Revenir en haut Aller en bas
Klaus

Klaus


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyMar 12 Fév 2013 - 10:56

Merci, Jicehel. Tes remarques sont judicieuses, et je vais en tenir compte pour la version suivante, qui est en cours.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyMar 12 Fév 2013 - 11:10

Génial Wink je suis sûr qu'au final, ça fera encore un jeu génial surtout avec la modif que va faire Jack dans Panoramic.
Je pense que l'on aura encore un bel exemple des possibilité.
Bon, il faut que je termine de tester l'éclate bulles maintenant Wink
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2381
Date d'inscription : 28/05/2007

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyMar 12 Fév 2013 - 19:18

La version PANORAMIC V 0.9.24i9 est sortie.

Comme annoncé:
ON_KEY_UP, OFF_KEY_UP, ON_KEY_DOWN, OFF_KEY_DOWN s'appliquent aussi à un SCENE2D
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Klaus

Klaus


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyMar 12 Fév 2013 - 21:13

Super ! Merci, Jack ! Je vais m'y mettre tout de suite !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyMar 12 Fév 2013 - 21:52

Sokoban: Nouvelle version V1.02 du 12 Février 2013
Sokoban_designer: Nouvelle version V1.01 du 12 Février 2013

Cette version a besoin de Panoramic version V0.24i9 publiée par Jack ce jour.

Pour Sokoban, on peut maintenant diriger le personnage avec les flèches du clavier ET avec les flèches simulées sous forme de bouton !

Pour Sokoban_designer, on peut maintenant diriger l'objet sélectionné par les flèches du clavier ET les flèches simulées sour forme de boutons, et on peut utiliser la touche "Entrée" (retour charriot) à la place du bouton "Appliquer" sous les boutons des flèches !

@Jack: ta modif pour les on_xxx sur un scene2d marche super bien, et je pense que le résultat en valait la peine ! Merci mille fois !

EDIT

Dans Sokoban-designer, on peut aussi utiliser la souris pour cliquer directement à l'endroit où l'on voudrait positionner l'objet sélectionné. Il y sautera directement.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Sokoban (pousser les caisses) Empty
MessageSujet: re   Sokoban (pousser les caisses) EmptyMar 12 Fév 2013 - 23:29

Bravo Klaus !

Super les touches fléchées !
Revenir en haut Aller en bas
Klaus

Klaus


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyMar 12 Fév 2013 - 23:39

Sokoban: Nouvelle version V1.04 du 12 Février 2013
Sokoban_designer: Nouvelle version V1.03 du 12 Février 2013


Correction d'un bug dans le designer si l'on changeait la taille du plan de jeu.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyMer 13 Fév 2013 - 0:48

ATTENTION !

Tous les niveaux sont disponibles sur MyDrive, dossier jeux\Sokoban\ !


Dernière édition par Klaus le Jeu 14 Fév 2013 - 22:13, édité 8 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
bignono

bignono


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

Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) EmptyMer 13 Fév 2013 - 7:36

Bonjour Klaus Smile
Ton jeu est super! Il y a un petit bug, mais ça n'empêche pas d'y jouer. Si tu cliques sur les 4 flèches pour déplacer le magasinier et les caisses, tu ne peux plus te servir des touches flèchées.
Et j'ai fabriqué un niveau avec ton éditeur et ça fonctionne bien!
A+ Wink Wink
Revenir en haut Aller en bas
Contenu sponsorisé





Sokoban (pousser les caisses) Empty
MessageSujet: Re: Sokoban (pousser les caisses)   Sokoban (pousser les caisses) Empty

Revenir en haut Aller en bas
 
Sokoban (pousser les caisses)
Revenir en haut 
Page 1 sur 3Aller à la page : 1, 2, 3  Suivant
 Sujets similaires
-
» sokoban

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: