FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Le jeu de l'élastique Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Le jeu de l'élastique Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Le jeu de l'élastique Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Le jeu de l'élastique Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Le jeu de l'élastique Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Le jeu de l'élastique Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Le jeu de l'élastique Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Le jeu de l'élastique Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Le jeu de l'élastique Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Le jeu de l'élastique Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Le jeu de l'élastique Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Le jeu de l'élastique Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Le jeu de l'élastique Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Le jeu de l'élastique Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Le jeu de l'élastique Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment :
LEGO Icons 10331 – Le martin-pêcheur
Voir le deal
35 €

 

 Le jeu de l'élastique

Aller en bas 
3 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Le jeu de l'élastique Empty
MessageSujet: Le jeu de l'élastique   Le jeu de l'élastique EmptyJeu 24 Nov 2022 - 23:59

Le jeu de l'élastique est un code que j'ai déjà posté ici , il y a presque une décennie!
Revu et amélioré, ce jeu peut vous faire marrer ou ... énerver  affraid
Comme d'habitude tout est dans le code.
Bon divertissement !


Code:

rem ============================================================================
rem                    ELASTIC.BAS
rem                    PAR PAPYDALL
rem  Adaptation en PANORAMIC d’un programme en FREEBASIC
rem                  dont je n’ai plus le source
rem ============================================================================
rem  Le programme nécessite KGF.DLL pour la gestion de la souris
rem ============================================================================
rem Attrapez le maximum de boules  avec la boule verte en un temps déterminé
rem ça a l’air facile ... sauf que la boule verte est accrochée à la souris avec
rem un élastisque ...
rem Bon divertissement !!
rem ============================================================================

Run()

rem ============================================================================
SUB Run()
    dim bx,by,bvx,bvy,bax,bay,dt,cx,cy,dll$,res%,mx%,my%,temps,score
    dim dst0,dst1,dst2,dst3,t$
    dll$ = "KGF.dll" : ' Adapter le chemin de la DLL
    full_space 0 : color 0,0,0,0 : font_color 0 ,255,255,0
    picture 10 : full_space 10 : 2d_target_is 10 : print_target_is 10 : hide 10
    Font_bold 10 : font_size 10,20 : font_color 10,255,0,0 : font_name 10,"tahoma"
    2d_fill_on
    image 20
    t$ = "Attrapez le maximum de boules avec la boule verte ... <ESC> pour arrêter ..."
    caption 0,t$
    application_title "  !!! Bienvenue dans le monde de l'élastique !!!"
    Bienvenue()
    dll_on dll$
    if message_confirmation_ok("OK pour commencer ?") = 1
       InitJeu() : jeu()
    else
       Stop_Run()
    end_if
END_SUB
rem ============================================================================
SUB InitCible()
    cx = int(rnd(width(0)-50)+20) : cy = int(rnd(height(0)-50)+20)
END_SUB
rem ============================================================================
SUB InitJeu()
    bx = int(rnd(width(0)-50)+20) : by = int(rnd(height(0)-50)+20)
    res% = dll_call2("AbsoluteMousePosition",bx,by)
    InitCible()
END_SUB
rem ============================================================================
SUB Jeu()
    temps = 10000 : ' c'est la durée du jeu à adapter
    score = 0 : cursor_hide 0
    repeat
        temps = temps-1
        res% = dll_call2("GetAbsoluteMousePosition",adr(mx%),adr(my%))
        if mx% < 10 then mx% = 10
        if my% < 10 then my% = 10
        if mx% > width(0)-10  then mx% = width(0)-10
        if my% > height(0)-40 then my% = height(0)-40
        bax = sqr((mx%-bx)*(mx%-bx))/2000
        bay = sqr((my%-by)*(my%-by))/2000
        if bx < mx% then bvx = bvx + bax
        if bx > mx% then bvx = bvx - bax
        if by < my% then bvy = bvy + bay
        if by > my% then bvy = bvy - bay
        if bx < 0   then bvx = abs(bvx)* 0.8   : bvy = bvy * 0.8
        if by < 20  then bvy = abs(bvy)* 0.8   : bvx = bvx * 0.8
        if bx > width(0)  then bvx = 0-abs(bvx)* 0.8 : bvy = bvy * 0.8
        if by > height(0) then bvy = 0-abs(bvy)* 0.8 : bvx = bvx * 0.8
        bx = bx + bvx : by = by + bvy
        Dst0 = sqr((cx-bx)*(cx-bx)+(cy-by)*(cy-by))
        dst1 = sqr((cx/2 -bx)*(cx/2-bx) + (cy/2-by)*(cy/2-by))
        dst2 = sqr((cx/3 -bx)*(cx/3-bx) + (cy/3-by)*(cy/3-by))
        dst3 = sqr((cx/1.5 -bx)*(cx/1.5-bx) + (cy/1.5-by)*(cy/1.5-by))
        if temps < 0 then temps = 0
        if (dst0 < 10) and (temps > 0) then Initcible() : score = score + 5
        if (dst1 < 10) and (temps > 0) then Initcible() : score = score + 10
        if (dst2 < 10) and (temps > 0) then Initcible() : score = score + 20
        if (dst3 < 10) and (temps > 0) then Initcible() : score = score + 1
        caption 0,t$ + " TEMPS RESTANT = "+ str$(temps) + "  SCORE "+ str$(score)
        if temps = 0
           print_locate width(10)/2-100,100 : print "!!! GAME OVER !!!"
           print_locate width(10)/2-150,150 : print "Votre score est : " + str$(score)+ " points"  
           Copy_Image()
           if message_information_yes_no("VOULEZ-VOUS REJOUER?") = 1
              InitJeu() : Jeu() : else : Stop_Run()
          end_if
        end_if
        2d_fill_color 000,000,000
        2d_pen_color  255,255,000 : 2d_rectangle 0,0,width(0)-1 ,height(0)-30
        2d_fill_color 000,255,000 : 2d_pen_color 000,255,000 : 2d_circle bx,by,10
        2d_pen_color  255,255,000 : 2d_line bx,by,mx%,my%
        2d_fill_color 255,000,000 : 2d_pen_color 255,000,000 : 2d_circle mx%,my%,10
        2d_fill_color 000,000,255 : 2d_pen_color 000,000,255 : 2d_circle cx,cy, 10
        2d_fill_color 000,255,255 : 2d_pen_color 000,255,255 : 2d_circle cx/2,cy/2,8
        2d_fill_color 255,255,255 : 2d_pen_color 255,255,255 : 2d_circle cx/3,cy/3,5
        2d_fill_color 255,255,255 : 2d_pen_color 255,255,255 : 2d_circle cx/1.5,cy/1.5,15
        Copy_Image()
    until  scancode = 27
    Stop_Run()
END_SUB
rem ============================================================================
SUB Stop_Run()
    res% = dll_call1("KillProcessByHandle",handle(0))
END_SUB
rem ============================================================================
SUB Copy_Image()
    2d_image_copy 20,left(10),top(10),width(10),height(10)
    2d_target_is 0: 2d_image_paste 20,left(10),top(10) : 2d_target_is 10
END_SUB
rem ============================================================================
SUB Bienvenue()
    dim_local t$
    t$ = "  !!! Bienvenue dans le monde de l'élastique !!!" + chr$(13) + chr$(13)
    t$ = t$ + " Votre mission est d'attrapper le maximum de boules avec la bouble verte" + chr$(13)
    t$ = t$ + " dans un temps bien déterminé." + chr$(13)
    t$ = t$ + " Ça a l’air facile hein !... Sauf que la boule verte est accrochée " + chr$(13)
    t$ = t$ + " à la souris (la boule rouge) par un élastisque ..." + chr$(13)
    t$ = t$ + " Comme tout bon élastique qui se respecte, il s'allonge et se raccourcit"+chr$(13)
    t$ = t$ + " selon des lois que seuls les honorables élastiques connaissent !" + chr$(13)+chr$(13)    
    t$ = t$ + " Il y a 4 types de boules à attraper allant de la plus petite à la plus grosse."+chr$(13)
    t$ = t$ + " Selon leur taille, chaque boule vous apporte : "+chr$(13)
    t$ = t$ + "  1 point pour la plus grosse" + chr$(13)
    t$ = t$ + "  5 points pour la suivante" + chr$(13)
    t$ = t$ + " 10 points pour la suivante" + chr$(13)
    t$ = t$ + " 20 points pour la plus petite" + chr$(13)
    t$ = t$ + " Chaque boule attrapée augmente votre score." + chr$(13)
    t$ = t$ + " Le jeu se joue évidemment à la souris qui est cachée pour plus d'esthétique"+chr$(13) + chr$(13)
    t$ = t$ + "            Bon divertissement !!"
    message t$
END_SUB
rem ============================================================================



Le jeu de l'élastique Sans_t29


Dernière édition par papydall le Ven 9 Déc 2022 - 4:07, édité 4 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Le jeu de l'élastique Empty
MessageSujet: Re: Le jeu de l'élastique   Le jeu de l'élastique EmptyVen 25 Nov 2022 - 11:38

Bonjour à tous !

Merci Papydall pour ce jeu diabolique !

Citation :
marrer ou ... énerver

Marrer : oui ! Sans problème !

Enerver : heu… ou bout d’un certain temps !

Face au chrono qui tourne sans pitié, on a tendance à accélérer nos mouvements, ce qui énerve à son tour la balle verte sous l’effet du puissant élastique qui ne rompt pas !
Bref, c’est un "délire hilarant" !

Par ailleurs, j’ai décortiqué le code pour étudier les techniques employées. C’est clair, c’est net, c’est du Papydall ! Un vrai plaisir !

Un grand BRAVO Papydall !

Une dernière précision : les tests ont été effectués sur un écran 1920x1080. Je pense que le jeu devrait être moins tempétueux (clin d’œil au météorologue développeur) sur un écran 1366x768.

@Papydall : Pourrais-tu ajouter, dans ton premier post, une image non cachée pour qu'elle apparaisse dans la rubrique "Dernières images" du forum ?

Bonne journée à tous !
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Le jeu de l'élastique Empty
MessageSujet: Re: Le jeu de l'élastique   Le jeu de l'élastique EmptyVen 25 Nov 2022 - 12:28

Bonjour Papydall et bonjour à tous !

BRAVO Papydall pour ce code à la fois simple et sophistiqué dont toi seul a le secret !

Voila un jeu qui a le mérite de nous mettre en boule ! Laughing Laughing Laughing

Au fait j'ai fait 241 points à mon premier score. J'ai cherché uniquement a capturer la boule la plus petite. Wink
C'est bien ou pas ?
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Le jeu de l'élastique Empty
MessageSujet: Re: Le jeu de l'élastique   Le jeu de l'élastique EmptyVen 25 Nov 2022 - 22:30

Marc a écrit:
@Papydall : Pourrais-tu ajouter, dans ton premier post, une image non cachée pour qu'elle apparaisse dans la rubrique "Dernières images" du forum ?

C'est fait !

Il ne faut pas absolument que l'image soit non cachée pour qu'elle soit prise en considération par le forum.
A mon avis, il est préférable qu'elle soit entre les balises [ spoiler ] ... [ /spoiler] pour préserver le bon affichage de la page, tout en évitant les lignes à n'en plus finir.


Dernière édition par papydall le Ven 9 Déc 2022 - 4:08, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Le jeu de l'élastique Empty
MessageSujet: Re: Le jeu de l'élastique   Le jeu de l'élastique EmptyVen 25 Nov 2022 - 22:41

Merci Papydall !


Citation :
Il ne faut pas absolument que l'image soit non cachée pour qu'elle soit prise en considération par le forum.

Ah, ok ! J'avais cru remarquer que les images cachées étaient absentes de la rubrique "Dernières images".


Revenir en haut Aller en bas
Contenu sponsorisé





Le jeu de l'élastique Empty
MessageSujet: Re: Le jeu de l'élastique   Le jeu de l'élastique Empty

Revenir en haut Aller en bas
 
Le jeu de l'élastique
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les jeux faits avec Panoramic-
Sauter vers: