Birthday PurePunch
Re: Birthday PurePunch
Tout d'abord huitbit je ne peux que me joindre aux potos pour te transmettre mes condoléances et à mon tour te souhaiter "force et courage".
@dji Si j'ai la motive, le temps et surtout l'inspiration je ferai un second code.
@dji Si j'ai la motive, le temps et surtout l'inspiration je ferai un second code.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Birthday PurePunch
pour ma contribution j'ai crunché mon petit jeu de voiture (191 ligne ! ouf... )
le source non crunché (un peu différent):
http://www.purebasic.fr/french/viewtopi ... 13&t=15498
pas de fichiers joints
le source non crunché (un peu différent):
http://www.purebasic.fr/french/viewtopi ... 13&t=15498
pas de fichiers joints
Code : Tout sélectionner
;*****************************************************************************
;*
;* Birthday Punch : PureBasic 15 years of happiness
;* PureBasic 5.31
;* 192 lines of 80 chars of code or data as you want
;*
;* Name : 4x4
;* Author : Pf Shadoko
;* Date : 14/10/2015
;* Notes :
;*
;*****************************************************************************
Macro _4:KeyboardReleased:EndMacro:Macro _:Protected:EndMacro:Macro _1
Procedure:EndMacro:Macro _2:EndProcedure:EndMacro:Macro _3:ProcedureReturn
EndMacro:EnableExplicit:Structure float3:x.f:y.f:z.f:EndStructure:Global ex,ey,
nsol=256,nsol1=nsol-1,action,niveau=1,departPos.float3,departsens.float3,
ChkPtnum:Global Dim t.w(nsol1,nsol1):Global Dim c.l(nsol1,nsol1)
Global Dim chs.float3(0):_1.f POM(v.f):_3(Random(v*1000)-v*500)/500:_2
_1.f longueur3D(*v.float3):_3 Sqr(*V\x**V\x+*V\y**V\y+*V\z**V\z):_2
_1 Norme3D(*V.float3,l.f=1):_.f lm:lm=l/longueur3d(*v):*V\x*lm:*V\y*lm:*V\z*lm
_2:Macro sub3D(p1,p2):p1\x-p2\x:p1\y-p2\y:p1\z-p2\z:EndMacro:_1.f Maxi(v1.f,
v2.f):If v1>v2:_3 v1:Else:_3 v2:EndIf:_2:_1.f Mini(v1.f,v2.f):If v1<v2:_3 v1
Else:_3 v2:EndIf:_2:_1 limite(V,i,s):If V<i:_3 i:EndIf:If V>s:_3 s:EndIf:_3 V
_2:_1 Tlimite(Array T(1),max,marge):_ i:Dim T(max+2*marge):For i=0 To max+marge
T(i+marge)=limite(i,0,max):Next:_2:_1 t2norme(Array t.w(2),dmin.w,dmax.w)
_ smin.w,smax.w,dx1,dy1,i,j,sr,dr:dy1=ArraySize(t(),1):dx1=ArraySize(t(),2)
smax=-32768:smin= 32767:For j=0 To dy1:For i=0 To dx1:If t(j,i)>smax:smax=t(j,
i):EndIf:If t(j,i)<smin:smin=t(j,i):EndIf:Next:Next:sr=smax-smin:dr=dmax-dmin
_ Dim conv(sr):For i=0 To sr:conv(i)=i*dr/sr+dmin:Next:For j=0 To dy1
For i=0 To dx1:t(j,i)=conv(t(j,i)-smin):Next:Next:_2:_1 carte(Array t.w(2),dx.w,
dy.w,Re.w,min=0,max=1000):_ i,j,ii,jj,im,jm,ip,jp,n,d,dd,dx1=dx-1,dy1=dy-1,l,ap,
ap2,R,rr:Macro calcij(v):im=(i-v)& dx1:jm=(j-v)& dy1:ip=(i+v)& dx1:jp=(j+
v)& dy1:EndMacro:n=1<<re:dd=mini(dx,dy)/n:If dd<1:dd=1:EndIf:Dim t.w(dy1,dx1)
ap=$1fff:ap2=ap>>1:For jj=0 To dy/dd-1:j=jj*dd:For ii=0 To dx/dd-1:i=ii*dd:t(j,
i)=Random(ap)-ap2:Next:Next:l=dd:While dd>1:d=dd/2:rr=ap*Sqr(2):R=rr/2
For jj=0 To dy/dd-1:j=jj*dd+d:For ii=0 To dx/dd-1:i=ii*dd+d:calcij(d):t(j,
i)=(t(jm,im)+t(jm,ip)+t(jp,ip)+t(jp,im))/4+Random(rr)-R:Next:Next:rr=ap:R=rr/2
For jj=0 To dy/dd-1:j=jj*dd:For ii=0 To dx/dd-1:i=ii*dd+d:calcij(d):t(j,i)=(t(j,
im)+t(j,ip)+t(jm,i)+t(jp,i))/4+Random(rr)-R:Next:Next:For jj=0 To dy/dd-1
j=jj*dd+d:For ii=0 To dx/dd-1:i=ii*dd:calcij(d):t(j,i)=(t(j,im)+t(j,ip)+t(jm,i)+
t(jp,i))/4+Random(rr)-R:Next:Next:l>>1:dd>>1:ap>>1:Wend:t2norme(t(),min,max):_2
_1 lisser2D(Array s.w(2),di.w,dj.w):_ i,j,dx,dy,dij,tx:dy=ArraySize(s(),1)
dx=ArraySize(s(),2):Dim d.w(dy,dx):Dim ty.l(dx):dij=(di*2+1)*(dj*2+1):Dim lx(0)
Tlimite(lx(),dx,di+1):Dim ly(0):Tlimite(ly(),dy,dj+1):For i=0 To dx:ty(i)=s(0,
i)*(dj+1):Next:For j=0 To dj-1:For i=0 To dx:ty(i)=ty(i)+s(j,i):Next:Next
For j=0 To dy:For i=0 To dx:ty(i)=ty(i)+s(ly(dj+1+j+dj),i)-s(ly(dj+1+j-dj-1),i)
Next:tx=ty(0)*(di+1):For i=0 To di-1:tx=tx+ty(i):Next:For i=0 To dx:tx=tx+
ty(lx(di+1+i+di))-ty(lx(di+1+i-di-1)):d(j,i)=tx/dij:Next:Next:CopyArray(d(),
s()):_2:_1 lisser(Array s.f(1),l):_ i,j,n,s.f:n=ArraySize(s()):Dim d.f(n)
For i=0 To n:s=0:For j=-l To l:s+s((i+j+n)%n):Next:d(i)=s/(2*l+1):Next
CopyArray(d(),s()):_2:_1 Bspline(Array pe.float3(1),Array PS.float3(1),nd.w)
_.f t,tt:_ np,i,j,jj,k,c:_ Dim m.w(4,4):_ Dim ttt.f(4):np=ArraySize(pe())
_ Dim PS((np-2)*nd):m(0,0)=-1:m(1,0)= 3:m(2,0)=-3:m(3,0)= 1:m(0,1)= 2:m(1,1)=-5
m(2,1)= 4:m(3,1)=-1:m(0,2)=-1:m(1,2)= 0:m(2,2)= 1:m(3,2)= 0:m(0,3)= 0:m(1,3)= 2
m(2,3)= 0:m(3,3)= 0:If pe(np-1)\X=pe(1)\X And pe(np-1)\Y=pe(1)\Y:pe(0)=pe(np-2)
pe(np)=pe(2):Else:pe(0)=pe(1):pe(np)=pe(np-1):EndIf:For jj=0 To np-3
For i=0 To nd-1:t=i/nd:For j=0 To 3:ttt(j)=0:tt=0.5:For k=3 To 0 Step-1:ttt(j)+
tt*m(j,k):tt*t:Next:PS(c)\X+ttt(j)*pe(j+jj)\X:PS(c)\Y+ttt(j)*pe(j+jj)\Y:Next:c+
1:Next:Next:PS(c)=pe(np-1):_2:_1 CoMelange(c1.l,c2.l,m.f):_ 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:_3 RGBA(r,g,b,a):_2
_1 AddMesh(mesho,Mesh,mat.l,NewX.f=0,NewY.f=0,NewZ.f=0,ScaleX.f=1,ScaleY.f=1,
ScaleZ.f=1,RotateX.f=0,RotateY.f=0,RotateZ.f=0)
_ Dim MeshDataV.PB_MeshVertex(0):_ Dim MeshDataF.PB_MeshFace(0):_ i,meshc=1111
CopyMesh(mesh,meshc):TransformMesh(Meshc,NewX,NewY,NewZ,ScaleX,ScaleY,ScaleZ,
RotateX,RotateY,RotateZ):GetMeshData(Meshc,0,MeshDataV(),1 | 8| 4,0,
MeshVertexCount(Mesh,0)-1):GetMeshData(Meshc,0,MeshDataF(),16,0,
MeshIndexCount(Mesh,0)-1):For i=0 To ArraySize(MeshDataV())
MeshVertexPosition(MeshDataV(i)\x,MeshDataV(i)\y,MeshDataV(i)\z)
MeshVertexNormal(MeshDataV(i)\NormalX,MeshDataV(i)\NormalY,
MeshDataV(i)\NormalZ):MeshVertexTextureCoordinate(MeshDataV(i)\u,
MeshDataV(i)\v):Next:For i=0 To ArraySize(MeshDataF())Step 3
MeshFace(MeshDataF(i)\Index,MeshDataF(i+1)\Index,MeshDataF(i+2)\Index):Next
FreeMesh(meshc):AddSubMesh(4):SetMeshMaterial(mesho,MaterialID(mat),
SubMeshCount(mesho)-2):NormalizeMesh(mesh):_2:_1 degrade(Array pal.l(1),l,p1.f,
c1.l,p2.f,c2.l,p3.f=-1,c3.l=0,p4.f=-1,c4.l=0):_ i,img:Dim pal(l-1)
img=CreateImage(-1,l,1,32):StartDrawing(ImageOutput(img)):DrawingMode(64 |256)
If p1>-1:GradientColor(p1,c1):EndIf:If p2>-1:GradientColor(p2,c2):EndIf
If p3>-1:GradientColor(p3,c3):EndIf:If p4>-1:GradientColor(p4,c4):EndIf
LinearGradient(0,0,l-1,0):Box(0,0,l,1):For i=0 To l-1:pal(i)=Point(i,0):Next
StopDrawing():FreeImage(img):_2:_1 Matiere(num,dx,dy,c1,c2,brillance=0):_ i,j
_ Dim pal.l(0):degrade(pal(),256,0,c1,1,c2):CreateTexture(num,dx,dy)
StartDrawing(TextureOutput(num)):DrawingMode(256):For j=0 To dy-1
For i=0 To dx-1:Plot(i,j,pal(Random(255))):Next:Next:StopDrawing()
CreateMaterial(num,TextureID(num)):If brillance:SetMaterialColor(num,1,
brillance):MaterialShininess(num,100):EndIf:_2:_1 CreatePlanex(me,lx.f,ly.f,ntx,
nty,Array t.w(2),Array c.l(2)):_ px.f,py.f,p,i,j,nme,nx=ArraySize(t(),1),
ny=ArraySize(t(),2),dx.f=lx/nx,dy.f=ly/ny:nme=CreateMesh(me):For j=0 To ny
For i=0 To nx:px=-lx/2+i*dx:py=-ly/2+j*dy:MeshVertexPosition(px,t(j,i)/100,py)
MeshVertexTextureCoordinate(i*ntx/nx,j*nty/ny):MeshVertexNormal(0,0,0)
MeshVertexColor(c(j,i)):Next:Next:For j=0 To ny-1:For i=0 To nx-1:p=j*(nx+1)+i
If Abs(t(j,i)-t(j+1,i+1))>Abs(t(j+1,i)-t(j,i+1)):MeshFace(p,p+nx+1,p+1)
MeshFace(p+nx+2,p+1,p+nx+1):Else:MeshFace(p+nx+1,p+nx+2,p):MeshFace(p+1,p,p+nx+
2):EndIf:Next:Next:FinishMesh(1):NormalizeMesh(2):_3 nme:_2
_1.f Tinterpol(Array T.w(2),x.f,y.f):_ b00,b10.w,b01,b11,i0,j0,i1,j1,dx.f,dy.f
i0=Int(X):i1=(i0+1):dx=X-Int(x):j0=Int(Y):j1=(j0+1):dy=Y-Int(y):b00=t(j0,i0)
b01=t(j1,i0):b10=t(j0,i1):b11=t(j1,i1):_3(((1-dx)*b00+dx*b10)*(1-dy)+
((1-dx)*b01+dx*b11)*dy)/100:_2:_1 cooxz(*v.float3,x.f,z.f,dy.f=0):*v\x=x:*v\z=z
*v\y=Tinterpol(t(),x,z)+dy:_2:_1 DT(x,y,txt.s,font,col=$ffffffff)
DrawingFont(FontID(font)):If x=-1:x=OutputWidth()/2-TextWidth(txt)/2:EndIf
DrawText(x,y,txt,col):_2:_1 menu():_ mes.s,dx,dy,cx
StartDrawing(SpriteOutput(0)):dx=OutputWidth():dy=OutputHeight():cx=dx/2-128
DrawingMode(256|64):GradientColor(0.00,$77000000):GradientColor(0.90,$77000000)
GradientColor(1.00,$00000000):EllipticalGradient(dx/2,dy/2,dx/2,dy/2):Box(0,0,
dx,dy):DrawingMode(16 |1):Select action:Case 0:mes="GAME OVER":Case-1
mes="PAUSE":Case 2:mes="Niveau "+Str(niveau):EndSelect:dt(-1,20,"4x4",3,
$ff0000ff):dt(-1,155,mes,2,$ff00ffff):dt(-1,220,"Presser une touche",1,
$ff00ffff):dt(-1,255,"Commandes:",1):dt(cx,280,
"[Left] , [Right] , [Up] , [Down]",1):dt(cx,300,"[Esc] Abandonner/quitter",
1):dt(cx,320,"[Space] Pause",1):dt(cx,340,"[F2] Changer de camera",1)
dt(cx,360,"[+] [-] Changer de circuit",1):StopDrawing():Repeat
ExamineKeyboard():Until KeyboardPushed(-1)=0:_2:_1 score()
StartDrawing(SpriteOutput(1)):DrawingMode(256|1):Box(0,0,200,60,$00000000)
RoundBox(0,0,200,60,8,8,$44000000):DrawingMode(16):BackColor($ff)
DrawingFont(FontID(1)):DrawText(10,4,"Circuit : "+Str(niveau),$ffffffff)
DrawText(10,34,"Checkpt : "+Str(ChkPtnum)+"/16",$ffffffff):StopDrawing():_2
_1 Initdecor():CreateCamera(0,0,0,100,100):MoveCamera(0,nsol/2,80,nsol/2,0)
CameraBackColor(0,$ff8888):CreateLight(0,$777777,7000,5000,2000)
AmbientColor($aaaaaa):SetLightColor(0,1,$ffffff):WorldGravity(-20):Fog($ff8888,
100,10,400):Matiere(2,256,256,$446666,$669999):SetMaterialColor(2,2,-1)
Matiere(3,1,1,$ffffff,$ffffff):Matiere(4,256,256,$aa444422,$aa222200,$ffffff)
MaterialBlendingMode(4,3):MaterialCullingMode(4,1):Matiere(10,256,256,$445555,
$66aaaa):Matiere(11,256,64,$224444,$112222):Matiere(12,1,512,$880000,$880000,
$444444):Matiere(13,1,1,$88000000,$88000000,$ffffff):MaterialBlendingMode(13,3)
MaterialCullingMode(13,1):Matiere(14,256,4,$333333,$000000):Matiere(20,16,16,
$0000aa,$000088):_2:_1 chemin(Array lp.float3(1),Array h.f(1),la,action,
param.l=0):Static Aaction:Global hi:If action<>aaction:hi=0:EndIf
aaction=action:_ nps=ArraySize(lp()),i,j,k:_.f p1.float3,p2.float3,dx,dy,d,x,y
For k=0 To nps-1:p1=lp(k):p2=lp(k+1):dx=p2\x-p1\x:dy=p2\y-p1\y:d=Sqr(dx*dx+
dy*dy):If d=0:_3:EndIf:For i=-0 To 2*d-1:x=p1\x+i*dx/(d*2):y=p1\y+i*dy/(d*2)
Select action:Case 1:h(hi)=Tinterpol(t(),x,y)*100:Case 2:For j=-la-2 To la+2
t(Int(y+j*dx/d/2+0.5),Int(x-j*dy/d/2+0.5))=h(hi)+param:Next:Case 3
For j=-la To la:c(Int(y+j*dx/d/2+0.5),Int(x-j*dy/d/2+0.5))=param:Next:EndSelect
hi+1:Next:Next:_2:_1 InitCourse():_ i:For i=0 To 4:MoveEntity(i,departPos\x,
departPos\y,departPos\z,0):RotateEntity(i,0,
Degree(ATan(departsens\x/departsens\z)),0):Next:ChkPtnum=0:_2
_1 CreerDecors(rnd,c1,c2,c3,cp,hmax=0,heau=2000,routeLa=10,routeHa=0,routeLi=10,
routeCo=$888888):_ i,j,k,c,dx,dy,col,np,nps:_.f p.float3,coo.float3,a,r,h,l,x,y,
z:_ Dim pal.l(0):FreeEntity(-1):RandomSeed(rnd):carte(t(),nsol,nsol,2,0,hmax)
lisser2D(t(),1,1):np=16:_ Dim ch.float3(np+2):_ Dim h.f(10000):For i=1 To np
a=i*2*#PI/np:r=0.30+pom(0.15):ch(i)\x=nsol*(0.5+Cos(a)*r):ch(i)\y=nsol*(0.5+
Sin(a)*r):Next:ch(np+1)=ch(1):bspline(ch(),chs(),16):nps=ArraySize(chs())
chemin(chs(),h(),routeLa,1):ReDim h(hi-1):lisser(h(),routeLi):For i=0 To hi-1
h(i)=limite(h(i),heau-routeHa+40,hmax):Next:chemin(chs(),h(),routeLa,2,routeHa)
cooxz(departPos,chs(0)\x,chs(0)\y,0.5):cooxz(departsens,chs(1)\x,chs(1)\y,0.5)
sub3d(departsens,departPos):degrade(pal(),hmax,0,c1,0.5,c2,1,c3)
For j=0 To nsol1:For i=0 To nsol1:col=pal(limite(t(j,i)+pom(500),0,hmax-1))
dx=t(j,(i+1)& nsol1)-t(j,(i-1)& nsol1):dy=t((j+1)& nsol1,i)-t((j-1)& nsol1,i)
If Abs(dx)+Abs(dy)>200+Random(100):col=cp:EndIf:If t(j,i)<heau+50
col=CoMelange(col,0,0.5):EndIf:c(j,i)=col:Next:Next:chemin(chs(),h(),routeLa,3,
routeCo):CreatePlane(3,nsol1,nsol1,64,64,8,8):CreateEntity(101,MeshID(3),
MaterialID(4)):MoveEntity(101,nsol1/2,heau/100,nsol1/2,0):CreateMesh(0)
AddMesh(0,CreateSphere(-1,0.3),13,0,0.12,-0.20,1.0,0.6,1.2):AddMesh(0,
CreateCylinder(-1,0.25,0.15,64,1,0),12,0,0,0,1.6,1.0,3.0):FinishMesh(1)
CreateEntity(0,MeshID(0),0):EntityPhysicBody(0,5,10,0.2,0.3)
SetEntityAttribute(0,13,0):CreateCylinder(2,0.2,0.2):c=0:For j=-1 To 1 Step 2
For i=-1 To 1 Step 2:c+1:CreateEntity(c,MeshID(2),MaterialID(14),0.8*i,-0.4,
-1.5*j):EntityPhysicBody(c,4,1,0.0,2):HingeJoint(c,EntityID(0), 0.4*i,-0.2,
-0.8*j,-i,0,0, EntityID(c), 0,0,0, 0,1,0):Next:Next:CreateNode(0,0,0.0,-1)
AttachEntityObject(0,"",NodeID(0)):CreateNode(1,0,0.4,0):AttachEntityObject(0,
"",NodeID(1)):InitCourse():CreateMesh(10):addmesh(10,CreateCylinder(-1,0.2,2,16,
0,0),11,0,0.4,0):addmesh(10,CreateSphere(-1,1),10,0,3,0,1,2,1):FinishMesh(1)
SetMaterialColor(10,2,c1):For k=1 To 500:Repeat:i=Random(nsol-2)
j=Random(nsol-2):Until c(j,i)<>routeCo And t(j,i)>heau:cooxz(coo,i,j):c(j,i)=cp
CreateEntity(1000+k,MeshID(10),0,coo\x,coo\y,coo\z):h=1+pom(0.5):l=1+pom(0.5)
ScaleEntity(1000+k,l,h,l):Next:CreateCylinder(5,0.1,10,8,0,0):CreateSphere(6,
0.1,4,4):For i=0 To nps-1 Step 1:p=chs(i):sub3d(p,chs(i+1)):Norme3d(p,routeLa/2+
0.5):For k=-1 To 1 Step 2:c+1:x=chs(i)\x+k*p\y:y=chs(i)\y-k*p\x
CreateEntity(10000+c,MeshID(6-Bool(i & 15=0)),MaterialID(20),x,Tinterpol(t(),x,
y),y):Next:Next:CreatePlanex(2,nsol1,nsol1,64,64,t(),c()):CreateEntity(100,
MeshID(2),MaterialID(2),nsol1/2,0,nsol1/2):EntityPhysicBody(100,1,10,0.0,2):_2
_1 creerniveau():_ rnd,type:rnd=niveau+70:type=(niveau+99)% 5:Select type
Case 0:CreerDecors(rnd,$006600,$00aa22,$00ffaa,$004466,4000,1300,3, 00,20,
$444444):Case 1:CreerDecors(rnd,$008822,$0088ff,$00ff88,$006688,4000,0800,2,
-100,0,$446666):Case 2:CreerDecors(rnd,$00aaff,$008800,$00aaaa,$004488,3000,
0500,3,100,10,$aaaaaa):Case 3:CreerDecors(rnd,$004444,$ffcccc,$ffffff,$ff8888,
4000,0000,3,-100,1,$444444):Case 4:CreerDecors(rnd,$00ffff,$0044ff,$ff4400,
$ffff88,2000,0600,1,400,5,$008800):EndSelect:menu():score():_2:Define.f angle,
anglec,sens.f,dtenvers,dt,ChkPtdis.float3:Define i,dis=0,vdis=1:InitEngine3D()
InitSprite():InitKeyboard():InitMouse():OpenWindow(0,0,0,0,0,"4 X 4",16777216)
ex=WindowWidth(0,1):ey=WindowHeight(0,1):OpenWindowedScreen(WindowID(0),0,0,ex,
ey,0,0,0):CreateSprite(0,ex/2,ey/2,8):CreateSprite(1,200,60,8):LoadFont(1,
"Arial",16):LoadFont(2,"Arial",50,256):LoadFont(3,"Arial",100,256):Initdecor()
creerniveau():Repeat:WindowEvent():ExamineMouse():ExamineKeyboard()
Select action:Case-1,0,2:If _4(1):End:EndIf:Select action:Case-1,2:If _4(-1)
action=1:EndIf:Case 0:If _4(78):niveau+1:creerniveau():ElseIf _4(74):niveau-1
creerniveau():ElseIf _4(-1):action=1:InitCourse():EndIf:EndSelect
CameraFollow(0,EntityID(0),anglec,EntityY(0)+50,100,0.01,0.01):anglec+0.2
RenderWorld(0):DisplayTransparentSprite(0,ex/4,ey*0.1):Case 1:If _4(1):sens=0
angle=0:action=0:menu():EndIf:If _4(57):action=-1:menu():EndIf:If _4(60)
dis=(dis+1)%3:vdis=1<<dis:EndIf:angle+
(Bool(KeyboardPushed(205)<>0)-Bool(KeyboardPushed(203)<>0))*0.02:angle*0.98
sens+(Bool(KeyboardPushed(200)<>0)-Bool(KeyboardPushed(208)<>0))*0.30
sens*0.994:HingeJoint(1,EntityID(0),-0.4,-0.2,0.8, 1,0, angle, EntityID(1), 0,
0,0, 0, 1,0):HingeJoint(2,EntityID(0), 0.4,-0.2,0.8,-1,0,-angle, EntityID(2),
0, 0,0, 0, 1,0):For i=1 To 4:sens=-sens:EnableHingeJointAngularMotor(i,1,sens,
0.5):Next:CameraFollow(0,NodeID(1),-180,NodeY(0)+vdis,2*vdis,0.1,0.05)
If EntityY(0)>NodeY(1):dtenvers+dt:Else:dtenvers=0:EndIf:If dtenvers>3000
sens=0:angle=0:action=0:menu():EndIf:ChkPtdis\x=EntityX(0)
ChkPtdis\y=EntityZ(0):sub3d(ChkPtdis,chs((ChkPtnum+1)*16))
If longueur3d(ChkPtdis)<3:ChkPtnum+1:score():If ChkPtnum>15:sens=0:angle=0
action=2:menu():niveau+1:creerniveau():EndIf:EndIf:dt=RenderWorld():EndSelect
DisplayTransparentSprite(1,8,8,255):FlipBuffers():ForEver
Re: Birthday PurePunch
et le vainqueur est Guillot



!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Birthday PurePunch
Tu RoX Guillot, par contre attention pas mal de tes lignes font 81 caractères, revois ton crunchage.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
- TazNormand
- Messages : 1297
- Inscription : ven. 27/oct./2006 12:19
- Localisation : Calvados (14)
Re: Birthday PurePunch
SPH a écrit :et le vainqueur est Guillot![]()
Ar-S a écrit :Tu RoX Guillot, par contre attention pas mal de tes lignes font 81 caractères, revois ton crunchage.
Guillot,bien que sa réalisation soit exceptionnelle, n'a pas encore gagné, déjà parce que la date butoir est repoussée, et aussi parce qu'il a omis la oublié quelques règles du concours, mais il peut encore corriger le tir :TazNormand a écrit : PureBasic a 15 ans.
C'est pourquoi j'organise un Birthday PurePunch, et qui doit avoir un rapport avec Purebasic et/ou ses forums
- 192 lignes de 80 caractères
En rapport avec le forum et l'anniversaire de PureBasic


Re: Birthday PurePunch
j'offre au vainqueur le livre
Photoshop Cc Pas À Pas Pour Les Nuls

Photoshop Cc Pas À Pas Pour Les Nuls

- TazNormand
- Messages : 1297
- Inscription : ven. 27/oct./2006 12:19
- Localisation : Calvados (14)
Re: Birthday PurePunch
On va plutôt l'offrir au second, non, vu que le vainqueur a déjà un bon d'achat de 15€ à gagner, qu'en penses-tu ?Micheao a écrit :j'offre au vainqueur le livre
Photoshop Cc Pas À Pas Pour Les Nuls
Re: Birthday PurePunch
Bon idée TazTazNormand a écrit :On va plutôt l'offrir au second, non, vu que le vainqueur a déjà un bon d'achat de 15€ à gagner, qu'en penses-tu ?Micheao a écrit :j'offre au vainqueur le livre
Photoshop Cc Pas À Pas Pour Les Nuls
Re: Birthday PurePunch
Dear Huitbit,
I am very sorry for you to loose a beloved companion and I wish you good strength in these sad and overwhelming times.
with regards ~ Vera
I am very sorry for you to loose a beloved companion and I wish you good strength in these sad and overwhelming times.
with regards ~ Vera
Faites-moi savoir, s'il vous plaît, si mon français n'est pas assez compréhensible. ~ merci ~
Le texte encadré est d'un traducteur.
Le texte encadré est d'un traducteur.
Re: Birthday PurePunch
Hello Taz,
The continuation comes in very suitable for me, as I could only start with my developement yesterday.
My own idea is a bit too large for me and I could have only handed over a prototype tomorrow.
good to have more time
The continuation comes in very suitable for me, as I could only start with my developement yesterday.
My own idea is a bit too large for me and I could have only handed over a prototype tomorrow.
good to have more time

La prolongation être utile pour moi, parce que je pourrais commencer seulement hier.
Ma propre idée est même au grand pour moi-même et je pourrais avoir rendu seulement un prototype demain
Faites-moi savoir, s'il vous plaît, si mon français n'est pas assez compréhensible. ~ merci ~
Le texte encadré est d'un traducteur.
Le texte encadré est d'un traducteur.
- falsam
- Messages : 7317
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Birthday PurePunch
Tu le mets sur le bon coin.Micheao a écrit :j'offre au vainqueur le livre Photoshop Cc Pas À Pas Pour Les Nuls
Ce punch n'est pas réservé qu'aux utilisateurs francophones. Il y aura par exemple des utilisateurs anglophones, germaniques, etc ......
Le ou les prix doivent pouvoir être utilisés par tous ces membres. Ton livre ainsi que celui d'ollivier devraient être retirer de la listes des prix.
Tu as peut être oublié que tu vas aussi participer aux frais d'envoi de ton livre. Je pense que tu n'as pas imaginé que tu vas devoir peut être envoyer ton livre par exemple à New York pour environ 20 euros pour un colis de moins de 0.5 Kg.
Bonjour Taz. Le souci est que la règle concernant le thème du punch est flou.TazNormand a écrit :Pensez à tenir compte de ces simples règles lors de vos futurs votes
Code : Tout sélectionner
C'est pourquoi j'organise un Birthday PurePunch, ... qui doit avoir un rapport avec Purebasic et/ou ses forums.
- C'est pourquoi j'organise un Birthday PurePunch : Je comprend que c'est un concours à l'occasion de l'anniversaire de PureBasic. Ca n'implique pas forcément que le thème est l'anniversaire du langage PureBasic.
- qui doit avoir un rapport avec Purebasic : Je dois manquer d'imagination surement mais à part afficher le logo de PureBasic avec un Joyeux Anniversaire PureBasic .....,
- et/ou ses forums : Je donne ma langue au chat

Le code que j'avais commencé à faire est hors thème et de plus utilisait Ogre et si on lit bien cette partie de règle, l'utilisation d'Ogre n'est pas autorisé.
Pas d'ogre ni directx ni opengl ?TazNormand a écrit :les APIs sont autorisées mais pas l'ajout de bibliothèque utilisateur (userlib), Ogre, DirectX, OpenGL
D'habitude je suis présent aux PurePunch mais cette fois-çi je renonce.
@Guillot: Quelques lignes de ton code dépassent effectivement les 80 caractères. Si tu utilises le code de majikeyric, ton code sera correct. http://www.purebasic.fr/french/viewtopi ... 44#p164844
@Aux participants : Simplifiez la collecte des sources de vos punchs. N'oubliez pas que les votant ne sont pas forcément francophones. Le code et les médias doivent être inclus dans un fichier compressé. Attention que certains votants sont sous linux ou Mac Os. Évitez les API.
Attention aussi à vos includes sous Linux. Les noms de fichiers sont sensibles à la casse.
Si un fichier se nomme test.pb, IncludeFile "Test.pb" va générer une erreur de compilation.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Birthday PurePunch
Merci pour votre soutien,
ça compte...
Si rien ne s'y oppose, rendez-vous le 15 novembre.
Hasta la vista !
ça compte...
Si rien ne s'y oppose, rendez-vous le 15 novembre.
Hasta la vista !
Elevé au MSX !
Re: Birthday PurePunch
falsam a écrit :Tu le mets sur le bon coin.Micheao a écrit :j'offre au vainqueur le livre Photoshop Cc Pas À Pas Pour Les Nuls
Ce punch n'est pas réservé qu'aux utilisateurs francophones. Il y aura par exemple des utilisateurs anglophones, germaniques, etc ......
Le ou les prix doivent pouvoir être utilisés par tous ces membres. Ton livre ainsi que celui d'ollivier devraient être retirer de la listes des prix.
Tu as peut être oublié que tu vas aussi participer aux frais d'envoi de ton livre. Je pense que tu n'as pas imaginé que tu vas devoir peut être envoyer ton livre par exemple à New York pour environ 20 euros pour un colis de moins de 0.5 Kg.
.
Falsam j'ai deja envoyé un colis au japon franchement je m'en fou des frais de port .
- TazNormand
- Messages : 1297
- Inscription : ven. 27/oct./2006 12:19
- Localisation : Calvados (14)
Re: Birthday PurePunch
@Falsam : J'ai repris les règles du précédent PurePunch, établies par Djes, et de mémoire, il n'y avait pas eu autant de problèmes concernant ces règles. De plus, tu as cité le fait de ne pas utiliser de userlib, et tudis "pas de directX, Ogre, OpenGL mais ton "quote" est tronqué, car si tu retourne lire le premier message de ce topic, il est écrit :
J'ai donné du temps supplémentaire pour coller un peu au thème, mais si franchement à chaque fois il faut que je me justifie sur les règles, ça va pas faire un pli, je vais supprimer direct le topic.
@Micheao : que les frais de port ne soient pas un problème, OK, mais quid des participants non francophones ? Tu leur achètes la version de ton livre dans leur langue ?
Je sais que demander de rester dans un thème un peu "flou" peut être difficile, mais le but est quand même de marquer le coup sur l'anniversaire, non ?Ogre, DirectX, OpenGL autorisés
J'ai donné du temps supplémentaire pour coller un peu au thème, mais si franchement à chaque fois il faut que je me justifie sur les règles, ça va pas faire un pli, je vais supprimer direct le topic.
@Micheao : que les frais de port ne soient pas un problème, OK, mais quid des participants non francophones ? Tu leur achètes la version de ton livre dans leur langue ?
Re: Birthday PurePunch
TazNormand a écrit :@Falsam : J'ai repris les règles du précédent PurePunch, établies par Djes, et de mémoire, il n'y avait pas eu autant de problèmes concernant ces règles. De plus, tu as cité le fait de ne pas utiliser de userlib, et tudis "pas de directX, Ogre, OpenGL mais ton "quote" est tronqué, car si tu retourne lire le premier message de ce topic, il est écrit :Je sais que demander de rester dans un thème un peu "flou" peut être difficile, mais le but est quand même de marquer le coup sur l'anniversaire, non ?Ogre, DirectX, OpenGL autorisés
J'ai donné du temps supplémentaire pour coller un peu au thème, mais si franchement à chaque fois il faut que je me justifie sur les règles, ça va pas faire un pli, je vais supprimer direct le topic.
@Micheao : que les frais de port ne soient pas un problème, OK, mais quid des participants non francophones ? Tu leur achètes la version de ton livre dans leur langue ?
JE RETIRE MON LIVRE DU CONCOURS et je me retire du concours
Dernière modification par Micheao le jeu. 15/oct./2015 13:42, modifié 1 fois.