Page 1 sur 1

[OK] Compter les datas

Publié : mer. 14/oct./2015 16:55
par Ar-S
Voilà je m'y prends peut être mal mais pour mon casse brique j'utilise des datasections pour mes levels.
Je procède ainsi

Code : Tout sélectionner

; 01 Standard
; 02 Indestructible
; 03 Brique resist X2 n1
    ; 04 Brique resist X2 n2
; 05 Brique resist X3 n1
    ; 06 Brique resist X3 n2
    ; 07 Brique resist X3 n3
; 08 Brique spéciale : Multiballe
; 09 Brique spéciale : +1 balle
; 10 Brique spéciale : REDUIRE
; 11 Brique spéciale : UP
; 12 Brique spéciale : DOWN
; 13 Brique spéciale : Elargir
; 14 Brique spéciale : Random
; 15 Brique spéciale : SpeedUp
; 16 Brique spéciale : SlowDown

; LEVEL 01
DataSection
  LEVEL01:
  Data.i 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1  
  Data.i 1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1
  Data.i 3,3,3,3,3,3,3,3,3,14,3,3,3,3,3,3,3,3,3,3
  
    LEVEL02:
  Data.i 0,0,0,1,1,2,3,0,0,0,0,0,0,3,2,1,1,0,0,0  
  Data.i 0,0,1,1,1,1,1,5,8,5,5,8,5,1,1,1,1,1,0,0
  Data.i 0,3,3,3,3,3,3,3,3,14,14,3,3,3,3,3,3,3,3,0
  Data.i 0,1,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,0
  Data.i 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0
  Data.i 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0
  Data.i 0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0
  Data.i 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0
  Data.i 0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0
  Data.i 0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0
  Data.i 0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0
  Data.i 0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0
  Data.i 0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0
  
EndDataSection

Je stock la position de mes briques dans un tableau et je charge le level comme ceci

Code : Tout sélectionner

Procedure LoadLevel(LEVEL,NbrBrique)
  
  Select LEVEL
    Case 1
      Restore level01:  
    Case 2
      Restore level02:
  EndSelect
  
  ReDim BRIQUE(NbrBrique-1)
  
  PosX = WA(0)\X
  POSy = Hscreen/11
    For i = 0 To NbrBrique-1
      Read.i Brique
      BRIQUE(i)\x = POSx
      BRIQUE(i)\y = POSy
      BRIQUE(i)\f = Brique
      POSx + 40
      If POSx = Frontiere
        PosX = WallL
        Posy  + 20
      EndIf   
    Next
   
EndProcedure
Ce qui m'embête c'est que je dois connaître le nombre de brique pour chaque level.
Y'a-t-il un moyen de connaitre rapidement le nombre de data par label ?
En gros une commande genre

Code : Tout sélectionner

ForEach Read.i 
N+1
next

Re: Compter les data

Publié : mer. 14/oct./2015 17:18
par Mesa
Je trouve qu'il est préférable d'utiliser des byte .b pour économiser l'espace mémoire et c'est plus facile pour compter les octets:

Code : Tout sélectionner

; 01 Standard
; 02 Indestructible
; 03 Brique resist X2 n1
		; 04 Brique resist X2 n2
; 05 Brique resist X3 n1
		; 06 Brique resist X3 n2
		; 07 Brique resist X3 n3
; 08 Brique spéciale : Multiballe
; 09 Brique spéciale : +1 balle
; 10 Brique spéciale : REDUIRE
; 11 Brique spéciale : UP
; 12 Brique spéciale : DOWN
; 13 Brique spéciale : Elargir
; 14 Brique spéciale : Random
; 15 Brique spéciale : SpeedUp
; 16 Brique spéciale : SlowDown

; LEVEL 01
DataSection
	LEVEL01:
	Data.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1  
	Data.b 1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1
	Data.b 3,3,3,3,3,3,3,3,3,14,3,3,3,3,3,3,3,3,3,3
	
		LEVEL02:
	Data.b 0,0,0,1,1,2,3,0,0,0,0,0,0,3,2,1,1,0,0,0  
	Data.b 0,0,1,1,1,1,1,5,8,5,5,8,5,1,1,1,1,1,0,0
	Data.b 0,3,3,3,3,3,3,3,3,14,14,3,3,3,3,3,3,3,3,0
	Data.b 0,1,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,0
	Data.b 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0
	Data.b 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0
	Data.b 0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0
	Data.b 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0
	Data.b 0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0
	Data.b 0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0
	Data.b 0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0
	Data.b 0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0
	Data.b 0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0
	
	ENDLEVEL:
	
EndDataSection
Debug "level 1"
Debug ?LEVEL02 -?LEVEL01

Debug "level 2"
Debug ?ENDLEVEL -?LEVEL02
M.

Re: Compter les data

Publié : mer. 14/oct./2015 17:47
par Ar-S
Tu as tout à fait raison, c'est nikel. Je vois pas pourquoi je suis parti sur des .i
Merci

Re: [OK] Compter les datas

Publié : jeu. 15/oct./2015 0:22
par Ar-S
Je mets aussi de coté cette petite feinte. Merci