Création image de jeu de 6 dés
Publié : ven. 10/juil./2015 14:40
C'était trop pompeux de mettre ça dans annonce donc je le place ici.
Je suis en train de transcrire un jeu de dés en PB du coup je vous propose ce petit prog qui permet de créer 6 images de 80x80 des 6 dés.
Je suis en train de transcrire un jeu de dés en PB du coup je vous propose ce petit prog qui permet de créer 6 images de 80x80 des 6 dés.
Code : Tout sélectionner
; Création de jeu de dés // Ar-S - 2015 / compilé en PB.5.31
UseJPEGImageDecoder()
UseJPEGImageEncoder()
; // petites macros pour le fun
Macro I_ll_be_back()
For i = #DES1 To #DES6
FreeImage(i)
Next
End
EndMacro
Macro DessineDans(image)
StartDrawing(ImageOutput(image))
EndMacro
Macro Trace(x,y)
DrawImage(ImageID(#DOT), x, y)
EndMacro
; //////////////////
Enumeration IMG
#DOT
#CARRE
#DES1
#DES2
#DES3
#DES4
#DES5
#DES6
EndEnumeration
Path$ = GetCurrentDirectory()
CheminInitial$ = GetCurrentDirectory()
Path$ = PathRequester("Choisissez un répertoire de sauvegarde", CheminInitial$)
If path$ = GetCurrentDirectory()
MessageRequester("Information", "Les images seront sauvées dans : " + path$, 0)
EndIf
; //// Procédures
Procedure CreationImage()
; L'image du Point des dés (dédé !)
CatchImage(#DOT, ?dot_jpg_Start, ?dot_jpg_End - ?dot_jpg_Start)
; Le carré blanc entouré de noir
CreateImage(#CARRE,80,80,32,$0)
DessineDans(#CARRE)
Box(0,0,80,80,$0)
Box(1,1,78,78,$FFFFFF)
StopDrawing()
CopyImage(#CARRE,#DES1)
CopyImage(#CARRE,#DES2)
FreeImage(#CARRE)
EndProcedure
Procedure CreationDes()
Protected Ld,Hd,lC,hC
; Taille du dé
LC = 80 : HC = 80
; Taille du point
LD = ImageWidth(#DOT) : HD = ImageHeight(#DOT)
; Dé 1
DessineDans(#Des1)
Trace (LC/2 - LD/2, HC/2 - HD/2)
StopDrawing()
; Dé 2
DessineDans(#Des2)
Trace (LD/2 , HD/2)
Trace (LC-(LD+LD/2), HC - (HD+HD/2))
StopDrawing()
; Dé 3
CopyImage(#DES2,#DES3)
DessineDans(#DES3)
Trace (LC/2 - LD/2 , HC/2 - HD/2)
StopDrawing()
; Dé 4
CopyImage(#DES2,#DES4)
DessineDans(#DES4)
Trace (LC - (LD+LD/2) , HD/2)
Trace (LD/2, HC - (HD+HD/2) )
StopDrawing()
; Dé 5
CopyImage(#DES4,#DES5)
DessineDans(#DES5)
Trace (LC/2 - LD/2, HC/2 - HD/2)
StopDrawing()
; Dé 6
CopyImage(#DES4,#DES6)
DessineDans(#DES6)
Trace (LD/2, HC - HC/2 - HD/2)
Trace (LC-(LD+LD/2), HC/2 - HD/2)
StopDrawing()
FreeImage(#DOT)
EndProcedure
CreationImage()
CreationDes()
; Sauvegarde des images
SaveImage(#DES1,path$+"de1.jpg",#PB_ImagePlugin_JPEG)
SaveImage(#DES2,path$+"de2.jpg",#PB_ImagePlugin_JPEG)
SaveImage(#DES3,path$+"de3.jpg",#PB_ImagePlugin_JPEG)
SaveImage(#DES4,path$+"de4.jpg",#PB_ImagePlugin_JPEG)
SaveImage(#DES5,path$+"de5.jpg",#PB_ImagePlugin_JPEG)
SaveImage(#DES6,path$+"de6.jpg",#PB_ImagePlugin_JPEG)
MessageRequester("Info","Images sauvegardées dans " + path$, #PB_MessageRequester_Ok|#MB_ICONINFORMATION)
I_ll_be_back() ; :D
DataSection
dot_jpg_start:
; size : 1481 bytes
Data.q $78451800E1FFD8FF,$002A494900006669,$0000000000000008,$1100ECFF00000000,$000100796B637544
Data.q $FF00005B00000004,$3A707474681803E1,$6F64612E736E2F2F,$782F6D6F632E6562,$002F302E312F7061
Data.q $656B636170783F3C,$3D6E696765622074,$64692022BFBBEF22,$704D304D3557223D,$65727A4869686543
Data.q $636B7A63544E7A53,$783C203E3F226439,$6174656D706D783A,$783A736E6C6D7820,$3A65626F6461223D
Data.q $2F6174656D3A736E,$74706D783A782022,$65626F6441223D6B,$726F4320504D5820,$30632D352E352065
Data.q $35312E3937203431,$3032202C31383431,$33312F33302F3331,$313A39303A32312D,$2020202020202035
Data.q $6664723C203E2220,$6C6D78204644523A,$223D6664723A736E,$772F2F3A70747468,$726F2E33772E7777
Data.q $302F393939312F67,$6664722D32322F32,$2D7861746E79732D,$723C203E2223736E,$72637365443A6664
Data.q $72206E6F69747069,$74756F62613A6664,$6E6C6D782022223D,$3D4D4D706D783A73,$2F2F3A7074746822
Data.q $65626F64612E736E,$7061782F6D6F632E,$2F6D6D2F302E312F,$3A736E6C6D782022,$68223D6665527473
Data.q $736E2F2F3A707474,$632E65626F64612E,$312F7061782F6D6F,$65707954732F302E,$6372756F7365522F
Data.q $7820222366655265,$706D783A736E6C6D,$2F3A70747468223D,$626F64612E736E2F,$61782F6D6F632E65
Data.q $20222F302E312F70,$6F443A4D4D706D78,$4449746E656D7563,$69642E706D78223D,$3037383436333A64
Data.q $3131353037323344,$3444364141383545,$3831423238413542,$4D706D7820223936,$6E6174736E493A4D
Data.q $6D78223D44496563,$36333A6469692E70,$3732324430373834,$4138354531313530,$3841354234443641
Data.q $2022393638314232,$616572433A706D78,$3D6C6F6F54726F74,$502065626F644122,$706F68736F746F68
Data.q $646E695720434320,$783C203E2273776F,$7265443A4D4D706D,$6D6F724664657669,$693A666552747320
Data.q $4965636E6174736E,$4235453630223D44,$3245324243383942,$3031433443363637,$4239363533424339
Data.q $5274732022334338,$6D75636F643A6665,$30223D4449746E65,$4338394242354536,$4336363732453242
Data.q $3342433930314334,$2233433842393635,$6664722F3C203E2F,$706972637365443A,$2F3C203E6E6F6974
Data.q $3E4644523A666472,$706D783A782F3C20,$3F3C203E6174656D,$2074656B63617078,$3F2272223D646E65
Data.q $6F64410E00EEFF3E,$000000C064006562,$0101008400DBFF01,$0101010101010101,$0101020201010102
Data.q $0202020202020101,$0202020202030202,$0303040303030302,$0604040505040403,$0707070706060606
Data.q $0101070707070707,$0303040202020101,$0707060504050604,$0707070707070707,$0707070707070707
Data.q $0707070707070707,$0707070707070707,$0707070707070707,$FF07070707070707,$12001300081100C0
Data.q $0301110200110103,$01007000C4FF0111,$0000000000010101,$0900000000000000,$00000001010A080B
Data.q $0000000000000000,$0000100000000000,$0000070A09020503,$0301000000000000,$1711080706040205
Data.q $1816151413321200,$5634246261312109,$57265323520A3837,$0000000001111A19,$0000000000000000
Data.q $0C00DAFF00000000,$0011031102000103,$AAFD71FA7838003F,$CB144EB919AA856A,$B58548367DE41635
Data.q $29E541E5B2D97059,$4D35697B46522A56,$77181EA2D1454151,$1BDBB2200BB3E469,$29C0C271446C0019
Data.q $9B1D0A116F8D6FE8,$67AA08A81026D308,$9AADC46D44CFEE41,$07E2B488429402B1,$E8BC470A63EC9206
Data.q $8060912681161866,$8AE8CF4621A07CFC,$96D8BFA6EF83FE8D,$A3FB5DF9C1DF3D51,$987FAA11F799009B
Data.q $0E134C7115595BF4,$5261CDD8F829690D,$1942E105605B5D17,$7A73561EEE395D7B,$F447731D5F12D066
Data.q $EA1860080836A00D,$AAE5568589548910,$7179C0BCFAD23C3C,$5E3C7891342D4E73,$806176777519681A
Data.q $0E0000A069D13811,$EB69FEE03AC0407E,$BDB3F68D5E8AC33F,$9CBEBCFCE2E7E611,$B7EEAFFBB500B68E
Data.q $AB316FDDCFEB4957,$DA7BC757F40E359F,$9D0FBA945DBC715E,$7636BBAC39B76CAB,$3D6F5F03C06C79CB
Data.q $6D746F7624CD6FC8,$D7F0565F62A7D6BD,$9FB5697906E9A189,$C56A37D66C4E6B67,$FF3FC0071560EBC7
Data.b $D9
dot_jpg_end:
EndDataSection