Création image de jeu de 6 dés

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Ar-S
Messages : 9478
Inscription : dim. 09/oct./2005 16:51
Contact :

Création image de jeu de 6 dés

Message par Ar-S »

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.

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



Dernière modification par Ar-S le ven. 10/juil./2015 14:52, modifié 1 fois.
~~~~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
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Création image de jeu de 6 dés

Message par falsam »

Tsss faut aller chercher les images dans le dossier d’installation de PureBasic. Pas beau ça Monsieur :wink:

C'est de ma faute !! La prochaine fois j'enregistrerai le code dans un dossier.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Ar-S
Messages : 9478
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Création image de jeu de 6 dés

Message par Ar-S »

falsam a écrit :Tsss faut aller chercher l'image dans le dossier d'installatiion de PureBasic. Pas beau ça Monsieur :wink:
Sauf si tu sauves le code avant, ce que je fais toujours ^^
et puis je m'autoquote
Les images se copient dans le répertoire du code compilé donc soit vous changez le chemin, soit pensez à cocher, créer l'executable temporaire dans le dossier du code source dans les options du compilo.
nah ;)
Dernière modification par Ar-S le ven. 10/juil./2015 14:53, modifié 2 fois.
~~~~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
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Création image de jeu de 6 dés

Message par falsam »

C'est ce que j'ai dit en corrigeant aussitot mon premier message. Oui c'est de ma faute. Ma très grande faute. je vais me punir de forum durant 1 heure en signe de repentance accompagnée de tristesse cérébrale.....
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Ar-S
Messages : 9478
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Création image de jeu de 6 dés

Message par Ar-S »

j'ai ajouté un pathrequester(), comme ça plus de prob pour les compileurs fous :mrgreen: 8)
~~~~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
Répondre