Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| ELASTIC | |
| | |
Auteur | Message |
---|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: ELASTIC Ven 3 Mai 2013 - 4:50 | |
| Salut tout le monde. J’ai trouvé sur le net un petit jeu (avec le code source) en FREEBASIC . J’ai essayé de l’adapter en PANORAMIC ; le résultat est le code ci-dessus. Il s’agit d’attraper le maximum de boules bleues avec une boule verte. ça a l’air facile … sauf que la boule verte est accrochée à la souris avec un élastique. Le programme nécessite Klaus Gunter File dot Dynamic Link Library pour la gestion de la souris Pourquoi faire simple (KGF.DLL) quand on peut faire compliqué ? Voici le jeu. Essayez c'est marrant !!! - Code:
-
' ****************************************************************************** ' PAPYDALL VOUS PROPOSE ' ELASTIC.BAS ' Adaptation en PANORAMIC d'un programme en FREEBASIC ' Le programme nécessite KGF.DLL ' ------------------------------------------------------------------------------
' Attrapez le maximum de boules bleues avec la boule verte en un temps déterminé ' ça a l'air facile... sauf que la boule verte est accrochée à la souris avec ' un élastisque... bon jeu !! ' ****************************************************************************** Run()
end ' ****************************************************************************** SUB Run() dim bx,by,bvx,bvy,bax,bay,dt,cx,cy,dst,dll$,res%,mx%,my%, reste , score dim_local tex$ dll$ = "C:\Documents and Settings\micro\Bureau\DLL\KGF\KGF.dll" : ' à adapter full_space 0: color 0,0,0,0 : font_color 0 ,255,255,0
tex$ = "Attrapez le maximum de boules bleues avec la boule verte" tex$ = tex$ + " <CLIK> pour demarrer" : caption 0,tex$ repeat : until scancode <> 0 dll_on dll$ : InitJeu() : jeu() END_SUB ' ****************************************************************************** Sub InitCible() cx = int(rnd(width(0)-20)+10) : cy = int(rnd(height(0)-20)+10) end_sub ' ****************************************************************************** Sub InitJeu() bx = int(rnd(width(0)-20)+10) : by = int(rnd(height(0)-20)+10) res% = dll_call2("AbsoluteMousePosition",bx,by) InitCible() end_sub ' ****************************************************************************** SUB Jeu() reste = 10000 : ' c'est la durée du jeu score = 0 repeat reste = reste-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
Dst = sqr((cx-bx)*(cx-bx)+(cy-by)*(cy-by))
if reste < 0 then reste = 0 if (dst < 10) and (reste > 0) then Initcible() : score = score + 1 caption 0, "TEMPS RESTANT = "+ str$(reste) + " SCORE "+ str$(score) if reste = 0 Font_bold 0 : font_size 0,20 print_locate width(0)/2-100,100 : print "!!! GAME OVER !!!" if message_information_yes_no("VOULEZ-VOUS REJOUER?")=1 InitJeu() : Jeu(): else : Fin() end_if end_if
2d_fill_color 0,0,0 2d_pen_color 255,255,00 : 2d_rectangle 0,0,width(0)-1 ,height(0)-30 2d_fill_color 0,255,0 : 2d_pen_color 0,255,0 : 2d_circle bx,by,10 2d_pen_color 255,255,0 : 2d_line bx,by,mx%,my% 2d_fill_color 255,0,0 : 2d_pen_color 255,0,0 : 2d_circle mx%,my%,10 2d_fill_color 0,0,255 : 2d_pen_color 0,0,255 : 2d_circle cx,cy, 10 wait 5
until scancode = 27 Fin() END_SUB
' ******************************************************************************
SUB Fin() dll_off : terminate END_SUB ' ******************************************************************************
REMARQUE : adapter (ligne 19) le chemin qui mène à Rome, pardon à KGF.DLL J'espère qu'il n'y a pas de bug dans le programme , sinon ça serait un autre jeu que de chasser les bugs! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 3 Mai 2013 - 5:01 | |
| | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: ELASTIC Ven 3 Mai 2013 - 5:05 | |
| Hé bien, bonne nuit sans bug ! Plutôt ce qu'il en reste de la nuit!! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| | | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: ELASTIC Ven 3 Mai 2013 - 9:41 | |
| Bon petit jeu, bonne idée. N'hésite pas à faire la chasse aux bon programmes FreeBasic c'est sympa en plus après on sait rapidement comment convertir certaines instructions en Panoramic. Je l'avais fait avec le Basic de l'Hector. Bon, à partir de dimanche je serais coupé du monde avec mon portable, j'essayerais d'avancer un peu sur mes trucs en cours de mon côté histoire de livrer quelque chose quand même, ça fait longtemps que je n'ai rien fait de mon côté. En tout cas, un bon jeu en plus dans notre bibliothèque. D'ailleurs c'est une idée ça pour ceux qui en cherche une de prendre les sources des petits jeux sympa, de les transformer en include et de faire un menu de lancement pour avoir un programme avec ces petits jeux qui défoulent. Par exemple pour se vider la tête pendant la chasse aux bugs. Le truc compliquer c'est de bien gérer les variables et les interruptions (touches claviers, timer, ...). Je n'ai pas dis non plus que c'était trivial | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: ELASTIC Ven 3 Mai 2013 - 10:16 | |
| - Jicehel a écrit:
- Bon, à partir de dimanche je serais coupé du monde avec mon portable
Reste alors attaché à l' ELASTIC ! Et surtout ne tire pas trop de peur de rompre la liaison! | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: ELASTIC Ven 3 Mai 2013 - 11:57 | |
| Bonjour Papydall C'est un super petit jeu ! Il n'y a pas trop de risque qu'il y ait un bug car il est court ton programme! Ma femme le trouve extra et elle se défoule avec. A+ | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| | | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 3 Mai 2013 - 13:11 | |
| @Papydall,
Très bon jeu !!! çà calme !!! | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: ELASTIC Ven 3 Mai 2013 - 18:05 | |
| | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: ELASTIC Ven 3 Mai 2013 - 18:35 | |
| Voyant les commentaires, j'ai voulu me lancer moi aussi..
Mais il y a de quoi devenir complètement frappadingue avec ton jeu (au fait, c'est un jeu ?), j'ai les nerfs en pelote après avoir attrapé péniblement 2 (deux) boules.
Quand même, les idées tordues qui peuvent germer dans l'esprit d'un apparemment paisible retraité... c'est stupéfiant ! (attention, je ne dis pas que tu en as pris, des stupéfiants... quoique...)
PS est-ce qu'il serait possible de remplacer l'élastique par un fil de fer par exemple ? | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: ELASTIC Ven 3 Mai 2013 - 19:33 | |
| - JL35 a écrit:
PS est-ce qu'il serait possible de remplacer l'élastique par un fil de fer par exemple ? Dans ce cas, comment veux-tu que je mette tes "nerfs en pelote" puisque ça ne sera plus tordu mais simplement rigide ! PS : Tu te poses la question s'il s'agissait d'un jeu : la réponse est NON , c'est une torture puisqu'on veut attraper des boules et on n'a pas les moyens pour le faire autrement qu'avec un élastique qui ne nous donne même pas du fil à retordre !!! | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: ELASTIC Ven 3 Mai 2013 - 21:01 | |
| Une nouvelle version ELASTIC.BAS V 2.0 • J’ai caché le curseur de la souris (c’est plus esthétique !) • Il y a désormais 4 types de boules à attraper (au lieu d’une seule) • Les 4 boules sont des grosseurs inégales • La boule la plus grosse vaut 1 point, celle en dessous (de grossesse ou de grosseur) vaut 5 points, la suivante vaut 10 points et la plus petite vaut 20 points. - Code:
-
' ****************************************************************************** ' PAPYDALL VOUS PROPOSE ' ELASTIC.BAS ' V 2.0 ' Adaptation en PANORAMIC d'un programme en FREEBASIC ' Le programme nécessite KGF.DLL ' ------------------------------------------------------------------------------
' Attrapez le maximum de boules avec la boule verte en un temps déterminé ' ça a l'air facile... sauf que la boule verte est accrochée à la souris avec ' un élastisque... bon jeu !! ' ****************************************************************************** Run()
end ' ****************************************************************************** SUB Run() dim bx,by,bvx,bvy,bax,bay,dt,cx,cy,dst,dll$,res%,mx%,my%, reste , score dim dst1,dst2,dst3 dim_local tex$ dll$ = "C:\Documents and Settings\micro\Bureau\DLL\KGF\KGF.dll" : ' à adapter full_space 0: color 0,0,0,0 : font_color 0 ,255,255,0
tex$ = "Attrapez le maximum de boules avec la boule verte" tex$ = tex$ + " <CLIK> pour demarrer" : caption 0,tex$ repeat : until scancode <> 0 dll_on dll$ : InitJeu() : jeu() END_SUB ' ****************************************************************************** Sub InitCible() cx = int(rnd(width(0)-50)+20) : cy = int(rnd(height(0)-50)+20) end_sub ' ****************************************************************************** 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 ' ****************************************************************************** SUB Jeu() reste = 10000 : ' c'est la durée du jeu score = 0 cursor_hide 0 repeat reste = reste-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
Dst = 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 reste < 0 then reste = 0 if (dst < 10) and (reste > 0) then Initcible() : score = score + 5 if (dst1 < 10) and (reste > 0) then Initcible() : score = score + 10 if (dst2 < 10) and (reste > 0) then Initcible() : score = score + 20 if (dst3 < 10) and (reste > 0) then Initcible() : score = score + 1 caption 0, "TEMPS RESTANT = "+ str$(reste) + " SCORE "+ str$(score) if reste = 0 Font_bold 0 : font_size 0,20 :font_color 0,0,0,0 print_locate width(0)/2-100,100 : print "!!! GAME OVER !!!" if message_information_yes_no("VOULEZ-VOUS REJOUER?")=1 InitJeu() : Jeu(): else : Fin() end_if end_if
2d_fill_color 0,0,0 2d_pen_color 255,255,00 : 2d_rectangle 0,0,width(0)-1 ,height(0)-30 2d_fill_color 0,255,0 : 2d_pen_color 0,255,0 : 2d_circle bx,by,10 2d_pen_color 255,255,0 : 2d_line bx,by,mx%,my% 2d_fill_color 255,0,0 : 2d_pen_color 255,0,0 : 2d_circle mx%,my%,10 2d_fill_color 0,0,255 : 2d_pen_color 0,0,255 : 2d_circle cx,cy, 10 2d_fill_color 0,255,255 : 2d_pen_color 0,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
wait 5
until scancode = 27 Fin() END_SUB
' ******************************************************************************
SUB Fin() dll_off : terminate END_SUB ' ******************************************************************************
Dernière édition par papydall le Ven 3 Mai 2013 - 22:20, édité 1 fois | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 3 Mai 2013 - 21:30 | |
| Heu...c'est normal un score de 152 alors que j' en ai eu seulement une dizaine ? | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: ELASTIC Ven 3 Mai 2013 - 22:02 | |
| C’est tout à fait normal ! Ton score correspond au nombre des points obtenus et non au nombre de boules attrapées. A chaque type de boule correspond une valeur (1, 5, 10 ou 20). Avec ces valeurs on peut obtenir n’importe quel score. Et puis, un high score c’est bon pour le moral, non ?
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 3 Mai 2013 - 23:06 | |
| | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: ELASTIC Ven 3 Mai 2013 - 23:23 | |
| Je disais un fil de fer... ça peut se tordre aussi (moi aussi, mais pas de rire), j'aurais dû dire une tige rigide de longueur fixe | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: ELASTIC Sam 4 Mai 2013 - 2:01 | |
| Et si on l’attacherait avec un spaghetti trop cuit, ce serait plus marrant ; seulement je ne connais pas les équations qui gèrent les spaghettis ! Les déguster oui.
Dernière édition par papydall le Sam 4 Mai 2013 - 2:26, édité 1 fois | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 4 Mai 2013 - 2:08 | |
| Je peux t' aider à les manger mais malheureusement, je connais pas la résistance d'un spaghetti. Tout doit dépendre de la cuisson.... | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 4 Mai 2013 - 2:24 | |
| Regardes ici ou bien ici mais il y a ici aussi . | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: ELASTIC Sam 4 Mai 2013 - 10:28 | |
| Je vois que la connaissance dans le domaine des spaghettis va nettement faire avancer la science...
Et pourquoi ne pas tenter de lacher la bille si l'elastique est trop tendu. Et ensuite devoir la rattraper bien sur !
C'est une idée supplémentaire pour corser le jeu et vous torturer l'esprit. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: ELASTIC Sam 4 Mai 2013 - 11:36 | |
| Toutes les idées folles, bizarres, extravagantes, baroques, étranges, saugrenues, insensées, farfelues sont les bienvenues. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: ELASTIC Sam 4 Mai 2013 - 23:32 | |
| Eh ben, on va repeupler les asiles... | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| | | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: ELASTIC Dim 5 Mai 2013 - 9:51 | |
| Je pense (et probablement j'ai raison de penser ainsi) que les asiles sont peuplés par des gens tout à fait «sensés » alors qu’à l’extérieur, je n’en suis pas si sûr ! | |
| | | Contenu sponsorisé
| Sujet: Re: ELASTIC | |
| |
| | | | ELASTIC | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |