I have moved past the error above.
I discovered the install document for purebasic and worked through the requirements until the error . went away.
sudo apt-get install libxxf86vm-dev libxine2-dev unixodbc-dev libsdl1.2-dev libsdl2-dev libssl-dev libvlc-dev libgtk2.0-dev libgtk-3-dev
I stopped at this point as the linker went away.
I get no compile errors and the webview opens with the blue gradient.
nothing happens. blank screen. I can stop and start the app.
I also copied this "small games" from the forum and get the same behavior of an empty blue gradient.
I am adding debug im here in procedures to see if it gets there but im working in the dark.
the forum post said this was small enough to run in the trial. it is a little dense to get in under the limitation i guess.
I ran/compiled some of the examples and they work of the ones I tried.
i am frustrated. thanks for the assistance. I didnt realize before you wanted the procedure. I didnt realize the line numbers were not in the listing of the code above. I had a senior moment.
Code: Select all
EnableExplicit
Structure objet
x.f
y.f
dx.f
dy.f
s.w
EndStructure
Global ex=3840,ey=2160,zoom.f,titre.s="Casse Brique"
Global NewMap b.objet() ;balles
Global NewMap t.objet() ;tires
Global NewMap e.objet() ;explosion
Global Dim niv.s(10)
Global Dim n.b(30,20)
Global Dim btrans(24)
Global rx,ry=ey-64+8,rl,nbr,tire
Global niveau,score
InitSprite()
InitMouse()
InitKeyboard()
CompilerIf #PB_Compiler_OS<>5
#SBCol=0
ExamineDesktops()
zoom=DesktopHeight(0)/600
Macro xend:End:EndMacro
Macro xClipPath(v):ClipPath(v):EndMacro
Macro xReleaseMouse(v):ReleaseMouse(v):EndMacro
Macro xRenderFrame:Repeat:WindowEvent():RenderFrame(): ForEver:EndMacro
CompilerElse
#SBCol=$ff000000
zoom=1
Macro xend:ReleaseMouse(1):EndMacro
Macro xClipPath(v):zoom=1:EndMacro
Macro xReleaseMouse(v):zoom=1:EndMacro
Macro xRenderFrame:BindEvent(#PB_Event_RenderFrame, @RenderFrame()):FlipBuffers():EndMacro
CompilerEndIf
Procedure CoMelange(c1.l, c2.l, m.f)
Protected r.w,g.w,b.w,a.w
r= Red(c1) + (Red(c2) - Red(c1)) * m
g=Green(c1) + (Green(c2) - Green(c1)) * m
b= Blue(c1) + (Blue(c2) - Blue(c1)) * m
a=Alpha(c1) + (Alpha(c2) - Alpha(c1)) * m
ProcedureReturn RGBA(r,g,b,a)
EndProcedure
Macro cola(col,a=$ff):((col|(a<<24))!#SBCol):EndMacro
Procedure.f POM(v.f)
ProcedureReturn (Random(v*1000)-v*500)/500
EndProcedure
Macro limite(v,min,max)
If v<min:v=min:EndIf
If v>max:v=max:EndIf
EndMacro
Procedure NVballe()
Static cpt:cpt+1
Define bb.objet=b():b()\dx=pom(4):b()\s=1
b(Str(cpt))=bb
EndProcedure
Procedure NVtire()
Static cpt:cpt+1
Define tt.objet:tt\x=rx:tt\y=ry-16:tt\dy=-8:tt\s=3
t(Str(cpt))=tt
EndProcedure
Procedure NVexplosion(x,y)
Static cpt:cpt+1
Define ee.objet:ee\x=x:ee\y=y:ee\s=255
e(Str(cpt))=ee
EndProcedure
Procedure.b collision(x,y,objet)
Protected i=x/32,j=y/32,brique,transf
limite(i,0,24)
brique=n(i,j):If brique=0:ProcedureReturn:EndIf
transf=btrans(brique)
If transf=0:nbr-1:score+1:NVexplosion(i*32-8,j*32-8):EndIf
If objet
Select brique
Case 2 :NVballe()
Case 3 :b()\s=2
Case 4 :rl=128
Case 5 :tire=1
EndSelect
EndIf
n(i,j)=transf
If (objet=2 And transf>0) Or (objet<2 And brique>0):ProcedureReturn 1:EndIf
EndProcedure
Procedure message(txt.s)
Macro dt(nf,y,t,col)
DrawingFont(FontID(nf))
DrawText((OutputWidth()-TextWidth(t))/2,y,t,col!#SBCol)
EndMacro
CreateSprite(30,ex*0.6,ey*0.4,#PB_Sprite_AlphaBlending)
StartDrawing(SpriteOutput(30))
DrawingMode(#PB_2DDrawing_AllChannels)
Box(0,0,ex*0.6,ey*0.4,0!#SBCol)
RoundBox(0,0,ex*0.6,ey*0.4,100,100,$88004444!#SBCol)
DrawingMode(#PB_2DDrawing_AlphaBlend |#PB_2DDrawing_Transparent)
dt(3,30,txt,$ffffffff)
dt(2,100,"APPUYER SUR UNE TOUCHE",$ff00ffff)
dt(1,160,"[Echap] Pause / Menu / Quitter [F1] Editeur",$ff00ffff)
dt(1,180,"(Souris) ou [<] Gauche [>] Droite [/\] Tire",$ff00ffff)
dt(1,200,"[+] [-] Changer de niveau",$ff00ffff)
StopDrawing()
EndProcedure
Procedure initdecor()
Protected i,j,k,c,ca,c1,c2, x,y,r,a1,a2,a3
Macro DrawingSprite(n,dx,dy)
CreateSprite(n,dx,dy,#PB_Sprite_AlphaBlending)
CreateImage(0,dx,dy,32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(0))
EndMacro
Macro StopDrawingSprite(n)
StopVectorDrawing()
StartDrawing(SpriteOutput(n))
DrawingMode(#PB_2DDrawing_AllChannels)
DrawAlphaImage(ImageID(0),0,0)
StopDrawing()
EndMacro
;fond
DrawingSprite(10,ex,ey)
VectorSourceColor(cola(Random($ffffff)))
FillVectorOutput()
a1=64:a2=a1/2:a3=0:If niveau & 1:Swap a1,a3:EndIf
For i=0 To ex Step 40
For j=0 To ey Step 40
x=i+Random(40)
y=j+Random(40)
r=10+Random(50)
c=Random($ffffff)
VectorSourceCircularGradient(x, y, r)
VectorSourceGradientColor(cola(c,a1),0.0)
VectorSourceGradientColor(cola(c,a2),0.8)
VectorSourceGradientColor(cola(c,a3),0.95)
VectorSourceGradientColor(cola(c,0 ),1.0)
AddPathCircle(x,y,r)
FillPath()
Next
Next
stopDrawingSprite(10)
;score
CreateSprite(20,ex/2,32,#PB_Sprite_AlphaBlending)
;raquette
DrawingSprite(0,128,16)
AddPathEllipse(64,8,62,7)
VectorSourceLinearGradient(64,0,64,16)
VectorSourceGradientColor(cola($00ff00), 0.0)
VectorSourceGradientColor(cola($ff0000), 1.0)
FillPath(#PB_Path_Preserve)
VectorSourceColor(cola($ffffff)):StrokePath(2)
stopDrawingSprite(0)
;balle
DrawingSprite(1, 16,16)
AddPathCircle(8,8,6)
VectorSourceCircularGradient(8, 8, 8, -2, -2)
VectorSourceGradientColor(cola($ffffff), 0.0)
VectorSourceGradientColor(cola($888888), 1.0)
FillPath()
stopDrawingSprite(1)
;balle (grosse)
DrawingSprite(2, 16,16)
AddPathCircle(8,8,8)
VectorSourceCircularGradient(8, 8, 8, -2, -2)
VectorSourceGradientColor(cola($00ffff), 0.0)
VectorSourceGradientColor(cola($008888), 1.0)
FillPath()
stopDrawingSprite(2)
;tire
DrawingSprite(3, 8,32)
AddPathEllipse(4,16,4,16)
VectorSourceCircularGradient(4, 10, 20)
VectorSourceGradientColor(cola($00ffff), 0.0)
VectorSourceGradientColor(cola($0000ff), 1.0)
FillPath()
stopDrawingSprite(3)
;canon
DrawingSprite(4, 16,20)
VectorSourceLinearGradient(0, 0,16,0)
VectorSourceGradientColor(cola($444444), 0.0)
VectorSourceGradientColor(cola($ffffff), 0.3)
VectorSourceGradientColor(cola($444444), 1.0)
FillVectorOutput()
stopDrawingSprite(4)
;explosion
DrawingSprite(5, 48,48)
AddPathCircle(24,24,24)
VectorSourceCircularGradient(24,24,24)
VectorSourceGradientColor(cola($ffffff), 0.0)
VectorSourceGradientColor(cola($00ffff), 0.6)
VectorSourceGradientColor(cola($00ffff,0), 1.0)
FillPath()
stopDrawingSprite(5)
;briques
Protected Dim col.l(23)
For i=0 To 23
c=Random($ffffff):col(i)=c
DrawingSprite(64+i, 32,32)
Select i
Case 0
AddPathBox(2,2,28,28)
VectorSourceColor(cola($ffffff))
StrokePath(3)
Case 1
btrans(1)=1
VectorSourceColor(cola($888888)):FillVectorOutput()
For j=0 To 31 Step 4
For k=0 To 31 Step 4
AddPathCircle(k+1,j+1,1):VectorSourceColor(cola($aaaaaa)):FillPath()
AddPathCircle(k+3,j+3,1):VectorSourceColor(cola($666666)):FillPath()
Next
Next
Case 2 To 11
ca=c|$ff000000
AddPathBox(2,2,28,28)
VectorSourceCircularGradient(16,16,17, -8,-8)
VectorSourceGradientColor(CoMelange($ffffffff,ca, 0.0), 0.0)
VectorSourceGradientColor(CoMelange($ffffffff,ca, 0.2), 0.1)
VectorSourceGradientColor(CoMelange(ca,$ff000000,0.2), 0.9)
VectorSourceGradientColor(CoMelange(ca,$ff000000,0.4), 0.99)
VectorSourceGradientColor(CoMelange($00000000,ca, 0.0), 1.0)
FillPath()
Select i
Case 2
AddPathCircle(10,16,3)
AddPathCircle(22,16,3)
VectorSourceColor(cola($ffffff)):FillPath(#PB_Path_Preserve)
VectorSourceColor(cola($000000)):StrokePath(1)
Case 3
AddPathCircle(16,16,5)
VectorSourceColor(cola($00ffff)):FillPath(#PB_Path_Preserve)
VectorSourceColor(cola($ff0000)):StrokePath(1)
Case 4
AddPathSegments("M 6 16 L 14 10 L 14 14 L 18 14 L 18 10 L 26 16 L 18 22 L 18 18 L 14 18 L 14 22 Z")
VectorSourceColor(cola($000000)):FillPath(#PB_Path_Preserve)
VectorSourceColor(cola($ffffff)):StrokePath(1)
Case 5
AddPathEllipse(16,16,3,6)
VectorSourceColor(cola($0088ff)):FillPath(#PB_Path_Preserve)
VectorSourceColor(cola($ff8800)):StrokePath(1)
EndSelect
Case 12 To 23
AddPathBox(2,2,28,28)
xClipPath(#PB_Path_Preserve)
If i<18:btrans(i)=i+6:Else: c=col(i-6):EndIf
c1=cola(c,$cc)
c2=cola($ffffff,$cc)
VectorSourceCircularGradient(16,16,20,4,4)
VectorSourceGradientColor(c1, 0)
VectorSourceGradientColor(c2, 1)
FillPath()
If i>=18
For j=0 To 40
VectorSourceColor(CoMelange(c1,$88ffffff, Random(16)/16))
MovePathCursor(16+pom(8),16+pom(8)):AddPathLine(16+pom(20),16+pom(20))
StrokePath(1)
Next
EndIf
EndSelect
stopDrawingSprite(i+64)
Next
EndProcedure
Procedure initniveau(niv)
Protected t.s,i,j,c
limite(niv,1,10)
If niveau<>niv:niveau=niv:RandomSeed(niv):initdecor():EndIf
t=niv(niveau)
c=0
nbr=0
For i=0 To 24:n(i,0)=1:Next
For j=1 To 16
n(0,j)=1:n(24,j)=1
For i=1 To 23:c+1
n(i,j)=Asc(Mid(t,c,1))-64:If n(i,j)<0:n(i,j)=0:EndIf
If n(i,j)>1:nbr+1:EndIf
Next
Next
rx=ex/2
rl=64
tire=0
ClearMap(e())
ClearMap(t())
ClearMap(b())
AddMapElement(b(),"0")
b()\x=rx
b()\y=ry
b()\dx=0
b()\dy=-4
b()\s=1
message("NIVEAU "+Str(niveau))
EndProcedure
Procedure RenderFrame()
Static px,nokey,nobutton,pause,bsel,i,j,br,pi,pj,etat
Protected txt.s
Macro sprite(n,x,y)
DisplayTransparentSprite(n,x+8,y+8,64,0!#SBCol)
DisplayTransparentSprite(n,x,y)
EndMacro
ExamineKeyboard()
ExamineMouse()
;tableau
DisplaySprite(10,0,0)
For j=0 To 16
For i=0 To 24
br=n(i,j):If br>0:Sprite(br+64,i*32,j*32):EndIf
Next
Next
StartDrawing(SpriteOutput(20))
DrawingMode(#PB_2DDrawing_AllChannels )
Box(0,0,ex*0.5,32,cola(0,0))
DrawingFont(FontID(2))
DrawText(ex*0.0,0,"SCORE "+Str(score),cola($ffffff),cola($888888))
DrawText(ex*0.3,0,"NIVEAU "+Str(niveau),cola($ffffff),cola($888888))
StopDrawing()
DisplayTransparentSprite(20,ex/4,0)
Select etat
Case 0 ; ---------------- menu
If KeyboardReleased(#PB_Key_Add ):initniveau(niveau+1):EndIf
If KeyboardReleased(#PB_Key_Subtract):initniveau(niveau-1):EndIf
If (nokey And KeyboardReleased(#PB_Key_All)) Or MouseButton(1):score=0:initniveau(niveau):etat=3:EndIf
If KeyboardReleased(#PB_Key_Escape):xEnd:EndIf
If KeyboardReleased(#PB_Key_F1):initniveau(niveau):etat=5:EndIf
Case 1 ; ---------------- attente
If (nokey And KeyboardReleased(#PB_Key_All)) Or MouseButton(1):etat=3:EndIf
Case 2 ; ---------------- pause
If KeyboardReleased(#PB_Key_Escape):message(titre):xReleaseMouse(0):etat=0:EndIf
If (nokey And KeyboardReleased(#PB_Key_All)):xReleaseMouse(0):etat=3:EndIf
Case 3 ; ---------------- jeux
; balles
ForEach b()
With b()
\x+\dx
\y+\dy
px=\x-rx
If collision(\x,\y+\dy,\s):\dy=-\dy:EndIf
If collision(\x+\dx,\y,\s):\dx=-\dx:EndIf
If \y=ry And px>-rl And px<rl:\dy=-\dy:\dx=\dx+(px*8)/rl:EndIf
If nbr=0 And MapSize(e())=0:initniveau(niveau+1):etat=1:EndIf
Sprite(b()\s,b()\x-8,b()\y-8)
If \y>ey:DeleteMapElement(b()):If MapSize(b())=0:message("GAME OVER"):etat=0:EndIf:EndIf
EndWith
Next
; tires
ForEach t()
With t()
\y+\dy
Sprite(3,\x-4,\y-8)
If collision(\x,\y+\dy,0):DeleteMapElement(t()):EndIf
EndWith
Next
; explosion
ForEach e()
With e()
DisplayTransparentSprite(5,\x,\y,\s)
\s-16:If \s<0:DeleteMapElement(e()):EndIf
EndWith
Next
; raquette
rx+(Bool(KeyboardPushed(#PB_Key_Right)<>0)-Bool(KeyboardPushed(#PB_Key_Left)<>0))*16+MouseDeltaX():limite(rx,0,ex)
ZoomSprite(0,rl*2,16):Sprite(0, rx-rl, ry)
If tire :DisplayTransparentSprite(4,rx-8,ry-4):If (nobutton And MouseButton(1)) Or KeyboardReleased(#PB_Key_Up):NVtire():EndIf:EndIf
If KeyboardReleased(#PB_Key_Escape):xReleaseMouse(1):message("PAUSE"):etat=2:EndIf
Case 5 ; ---------------- editeur
For i=1 To 23:DisplaySprite(64+i,i*32,ey-56):Next
pi=MouseX()/32:If pi<1:pi=1:ElseIf pi>23:pi=23:EndIf
pj=MouseY()/32:If pj<1:pj=1:ElseIf pj>17:pj=17:EndIf
DisplayTransparentSprite(64,pi *32,pj*32)
DisplayTransparentSprite(64,bsel *32,17*32,$ff,$ff0000ff)
If MouseButton(1)=1:If pj=17:bsel=pi: ElseIf pj<=14: n(pi,pj)=bsel:EndIf:EndIf
If MouseButton(2)=1 And pj<=14:n(pi,pj)=0:EndIf
If KeyboardReleased(#PB_Key_Escape):For j=1 To 14:For i=1 To 23:txt+Chr(64+n(i,j)):Next:Next:niv(niveau)=txt:Debug txt:etat=0:EndIf
EndSelect
If etat<=2:DisplayTransparentSprite(30,ex*0.2,ey*0.25):EndIf
FlipBuffers()
nokey=Bool(KeyboardPushed(#PB_Key_All)=0)
nobutton=Bool(MouseButton(1)=0)
EndProcedure
;niveaux
niv(1)="@FFFFFI@@@@@@@@@FKKKKK@DFGGGFI@QQQQQQQ@FKJJJKE@FGHGFI@QPPPPPQ@FKJIJK@@FGGGFI@QPBBBPQ@FKJJJK@@FFFFFI@QPBBBPQ@FKKKKK@@IIIIII@QPBBBPQ@FFFFFF@@@@@@@@@QPPPPPQ@@@@@@@@@@@@@@@@QQQAQQQ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@B@@@@@@AAAAA@@@@@@@@@AAAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
niv(2)="@@@@@@@@JBBBBJ@@@@@@@@@@HHHHH@@JBBBBJ@@@IIIII@@KKKKK@@AAAAAA@@@FFFFF@@PMNOQ@@@@@@@@@@@PMNOP@@PMNOQ@@@@@@@@@@@PMNOP@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAA@@@@@@@@@AAAAAAAFFFFFFA@@@@@@@@@AIIIIIIGGGGGGA@@@@C@@@@AJJJJJJHHHHHHA@@AAAAA@@AKKKKKKIIEIIIA@@@@@@@@@AFFFDFF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
niv(3)="@@@@@@@@@@@@@@@@@@@@@@@@BPPPB@@JJJJJ@@BMMMMMB@@POOOP@@IIIII@@MMQQQQM@@POOOP@@HHHHH@@MQQQQQM@@POOOP@@@@@@@@@MQQQQQM@@POOOP@@B@@@B@@MQQQQQM@@BPPPB@@@@@@@@@BMMMMMB@@@@@@@@@AANAA@@@@@@@@@@@@@@@@@@AMMMA@@@@@@@@@@AAAAAAAAALLLAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
niv(4)="NOPQLN@@@@@@@@@@@@@@@@@OPQLN@@@@@@@@@@@@@@@@@@PQLN@@@AMMMMMMMMMA@@@@@QLN@@@@AFFFFFFFFFA@@@@@LN@@@@@AHHHHHHHHHA@@@@LN@@@@@@AAAAAAAAAAA@@@LQ@@@@@@@DBBBBBC@@@@@@LQP@@@AAAAAAAAAAA@@@@@LQPO@@@AJJJJEJJJJA@@@@LQPON@@@AIIIIIIIIIA@@@@@LQPO@@@ALLLLLLLLLA@@@@@@LQP@@@@@@@@@@@@@@@@@@@@@LQ@@@@@@@@@@@@@@@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@"
niv(5)="@@@@@@@@@@@O@@@@@@@@@@@@@@@@@@@@@NNN@@@@@@@@@@@A@@@@@@@MMMMM@@@@@@@A@@AB@@@@@LLLLLLL@@@@@BA@@A@@@@@KCKCKCKCK@@@@@A@@AB@@@JJJJJJJJJJJ@@@BA@@A@@@IIIIIIIIIIIII@@@A@@A@@HHHHHHHHHHKKHHH@@A@@A@GGGGGGGGGGGGGGGGG@A@@AFFFFFFFFFFFFFFFFFFFA@@AAAAAAAAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
niv(6)="@C@@B@@B@@@E@@@B@@B@@C@@@@@@@@@@@@@@@@@@@@@@@@QQQQQQQQQQQAMMMMMMMMMMMFFFFFFFFFFFAKKKKKKKKKKKIIIIIIIIIIIAGGGGGGGGGGGGGGGGGGGGGGAHHHHHHHHHHHKKKKKKKKKKKAFFFFFFFFFFFHHHHHHHHHHHAIIIIIIIIIII@@@@@B@@@@@A@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
niv(7)="@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@BBBBBBB@@@@@@@@@@@@@@@BGGGGGGGB@@@@@@@@@@@@@BGGGGGGGGGB@@@@@@@@@@@BGGKKGGGKKGGB@@@@@@@@@@BGGKKGGGKKGGB@@@@@@@@@@GGGGGGGGGGGGG@@@@@@@@@@GGGGGGGGGGGGG@@@@@@@@@@GGGHGGGGGGHGG@@@@@@@@@@@GGGHGGGGHGGG@@@@@@@@@@@GGGGHHHHGGG@@@@@@@@@@@@@GGGGGGGGG@@@@@@@@@@@@@@@GGGGGGG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
niv(8)="@@@H@@@@@@@@@@@@@@@L@@@@@HIH@@@@@@@@@B@@@LNL@@@HIJIH@@@@K@@@A@@LNNNL@HIJCJIH@@KJK@@@@@@LNL@@@HIJIH@@KJHJK@@@@@@L@B@@@HIH@@KJHEHJK@@I@@@@A@@@@H@@@@KJHJK@@IFI@@@@@@@B@@P@@@KJK@@IFGFI@@@@@@A@PQP@@@K@@IFGDGFI@@@@@@PQQQP@@@B@@IFGFI@@@@@@@@PQP@@@@A@@@IFI@@@@@@@@@@P@@@@@@@@@@I@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
niv(9)="KKKKKAKKKKKKKKKKKAKKKKKKCJJJAJJJJJCJJJJJAJJJCKKJBIIAIIIIIDIIIIIAIIBJKKJIHHAHBHHHHHHHBHAHHIJKKJIHGAGGGGGGGGGGGAGHIJKKJIBGA@@AAAAAAA@@AGBIJKKJIHGA@@@@@@@@@@@AGHIJKKJIHG@@@@@@@@@@@@@GHIJKAAAA@@@@@@@@@@@@@@@AAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
niv(10)="@@@@@@@@@@@@@KKK@@@@@@C@@@@C@@@@@@@KKFKK@@@G@@@@@@@@@FFF@@KFAFK@@GBG@@@G@@@FJFJF@KKFKK@@@G@@@GBG@@FFAFF@@KKK@@@@@@@@@G@@@FJFJF@@@@@@@KKK@@@@@@@@@FFF@@@@@@@KKFKK@@@FFF@@@@@@@@@G@@KFAFK@@FJFJF@@@@@@@GBG@KKFKK@@FFAFF@@@C@@@@G@@@KKK@@@FJFJF@@@@@@@@@@@@@@@@@@@FFF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
OpenWindow(0,0,0,ex* zoom,ey* zoom,"casse brique",#PB_Window_BorderLess|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0),0,0,ex,ey,1,0,0,#PB_Screen_SmartSynchronization)
LoadFont(1, "Arial", 13, #PB_Font_Bold)
LoadFont(2, "Arial", 20, #PB_Font_Bold)
LoadFont(3, "Arial", 45)
initniveau(1)
message(titre)
xrenderframe