PureNoide 2
4 participants
Page 1 sur 2
Page 1 sur 2 • 1, 2
PureNoide 2
voici l'un des tout premiers jeux que j'ai fait en Purebasic
tout est perso , du dessin des sprites a la musique (execution a la Guitare) ...
le Morceau est une libre interprétation de "Phosphene" un morceau du banjoiste "BlueGrass" Jean Marie Redon , que je salut au passage
ps: on quitte avec la touche ESC ...
amusez vous bien .... pour info , il y a 20 niveaux ....
le jeux a telecharger :
Purenoide V2
tout est perso , du dessin des sprites a la musique (execution a la Guitare) ...
le Morceau est une libre interprétation de "Phosphene" un morceau du banjoiste "BlueGrass" Jean Marie Redon , que je salut au passage
ps: on quitte avec la touche ESC ...
amusez vous bien .... pour info , il y a 20 niveaux ....
le jeux a telecharger :
Purenoide V2
Dernière édition par Dobro le Jeu 7 Nov 2019 - 12:38, édité 1 fois
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PureNoide 2
ben dis donc ....
pas tellement de retour pour le coup
pas tellement de retour pour le coup
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PureNoide 2
oups, je viens de découvrir ! Je telecharge ce soir et j'y joue !!!!!!!!
_______________________________________________________
Re: PureNoide 2
j'ai joué ! Sympa.
C'est mon pc pourri (Pentium N4200 LOL) ou la balle n'est pas fluide ?????
le morceau de guitare est de toi ?
C'est mon pc pourri (Pentium N4200 LOL) ou la balle n'est pas fluide ?????
le morceau de guitare est de toi ?
_______________________________________________________
Re: PureNoide 2
drfloyd a écrit:j'ai joué ! Sympa.
C'est mon pc pourri (Pentium N4200 LOL) ou la balle n'est pas fluide ?????
le morceau de guitare est de toi ?
oui c'est ton pc pourri !!
le morceau de guitare est une musique de Jean Marie Redon , Banjoiste Bluegrass
et c'est une libre interprétation de ma part oui
j'ai massacré d'autres morceaux ici :
Dobro qui essaie de jouer de la Guitare
Dernière édition par Dobro le Jeu 7 Nov 2019 - 12:40, édité 1 fois
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PureNoide 2
Moi c'est pas un casse brique que je reve de réaliser, c'est un flipper 2D.... mais mes connaissances en physique sont insufissantes, à chaque que j'ai essayé la balle n'avait pas un comportement suffisamment crédible.
_______________________________________________________
Re: PureNoide 2
Chez moi non plus le mouvement de la balle n'est pas fluide...
Si il faut une machine de guerre pour faire tourner un casse brique en basic, il y a un problème...
C'est vraiment dommage que le curseur de la souris soit toujours visible.
Sinon il est sympa, ya plein de bonnes idées
Si il faut une machine de guerre pour faire tourner un casse brique en basic, il y a un problème...
C'est vraiment dommage que le curseur de la souris soit toujours visible.
Sinon il est sympa, ya plein de bonnes idées
Shaoth- Guéri miraculeux
- Nombre de messages : 2216
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
Re: PureNoide 2
drfloyd a écrit:Moi c'est pas un casse brique que je reve de réaliser, c'est un flipper 2D.... mais mes connaissances en physique sont insufissantes, à chaque que j'ai essayé la balle n'avait pas un comportement suffisamment crédible.
Tu n'arrêtes pas de le péter et de le répéter !!!
Pourtant plein de monde, dont moi, t'a proposé de travailler en équipe sur le projet.
Mais tu fuis toujours, une vraie anguille !
Ton rêve va rester un rêve mon pauvre Doc...
Shaoth- Guéri miraculeux
- Nombre de messages : 2216
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
Re: PureNoide 2
Dobro, je confirme que ton jeu n'est pas fluide... je ne comprend pas, il n'a pourtant pas besoin de beaucoup de ressources.
La balle n'a pas du tout un mouvement fluide
La balle n'a pas du tout un mouvement fluide
_______________________________________________________
Re: PureNoide 2
Shaoth a écrit:drfloyd a écrit:Moi c'est pas un casse brique que je reve de réaliser, c'est un flipper 2D.... mais mes connaissances en physique sont insufissantes, à chaque que j'ai essayé la balle n'avait pas un comportement suffisamment crédible.
Tu n'arrêtes pas de le péter et de le répéter !!!
Pourtant plein de monde, dont moi, t'a proposé de travailler en équipe sur le projet.
Mais tu fuis toujours, une vraie anguille !
Ton rêve va rester un rêve mon pauvre Doc...
C'est surement ce que je souhaite
mais il est clair qu'avec toi, prof Tryphon et Prof Dobro, ca pourrait se faire les doigts dans le nez
_______________________________________________________
Re: PureNoide 2
Shaoth a écrit:Chez moi non plus le mouvement de la balle n'est pas fluide...
Si il faut une machine de guerre pour faire tourner un casse brique en basic, il y a un problème...
C'est vraiment dommage que le curseur de la souris soit toujours visible.
Sinon il est sympa, ya plein de bonnes idées
Plusieurs chose
il s'agit d'un jeux que j'ai codé , il y a fort longtemps sous XP
ma façons de coder a l'epoque etait bien differente :)
pour le curseur souris, oui c'etait simplement un oubli... du fait que le prg tournait en fenetre j'aurai du gerer
par contre lorsque je lis ça :
je trouve que tu pousse un peu Mémé dans les orties là ...Si il faut une machine de guerre pour faire tourner un casse brique en basic, il y a un problème...
premierement les prg en Basics comme tu le dit, on ne peut pas dire que leur réputation soit la vitesse
bon , en fait il y a 2 choses
1- j'avais reglé le prg pour des enfants .. la vitesse de la balle est lente, la version que je viens de poster (meme archive, meme adresse)
devrai de se coté arranger les choses ... note que je ne pousse pas trop, sinon c'est injouable , et c'est pas le but
2- pour la saccade que vous remarquez, je ne la voie pas trop ....
mais j'ai effectivement constaté sur la balle seulement une legere tremblance ... (chez moi)
le champs d'etoiles derriere reste fluide toujours
donc je viens de refaire une version Ecran et non plus fenetre ...
et je constate une leger tremblement durant les 8 premieres secondes , puis ensuite tout se lisse et deviens fluide
j'en tire la conclusion suivante ...
possible que ce soit du a la mise en cache des textures ?
possible que ce soit nos anti-virus qui scanne donc qui creer un ralentissement ?
possible que le fait que ce fut en Fenetre pose probleme au niveau rafraichissement
j'avais pourtant activé le Flag de Synchro ... mais bon un prg fenetre reste un prg fenetre
de plus je constate depuis quelques mise a jour Win10 , que j'ai des soucis de flou sur mes fontes ... mais bon
pas impossible que win10 apporte son lot de bétises ....
je vous invite donc a retelecharger la meme archive , a la meme adresse ....
j'avais fait une Autre version de ce jeux, plus recente.. il faut juste que j'ai le courage de le recompiler
a nouveau ... :) Prochainement dans vos bacs ...
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PureNoide 2
La vitesse est réglée pour le Doc là non ???
J'ai toujours la balle qui tremblote...
Mais plus le curseur
Et quelques problèmes de physique, par exemple la balle à toucher le coté d'une brique alors qu'elle descendait et est reparti vers le haut...
Par contre c'est vrai que le champ d'étoiles est fluide
J'ai toujours la balle qui tremblote...
Mais plus le curseur
Et quelques problèmes de physique, par exemple la balle à toucher le coté d'une brique alors qu'elle descendait et est reparti vers le haut...
Par contre c'est vrai que le champ d'étoiles est fluide
Shaoth- Guéri miraculeux
- Nombre de messages : 2216
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
Re: PureNoide 2
chez moi elle tremblote durant quelques secondes , puis apres quelques rebond
c'est super fluide, comme si ma carte grah ou je ne sais quoi, mettait
quelques chose en cache, .. mais bon ...
pour la physique je te garanti qu'elle est nickel
tu as du toucher un "extra terreste" tu sais ces trucs qui tombent et qui devient la directon de la balle ...
la physique est nickel pour une raison simple
j'avais commencé ce prg pour mettre au point une procedure
qui justement tiens compte des 4 droites qui composent un rectangle ... (d'une brique)
et la raquette c'est pareil
si tu reçois la balle a droite de la raquette , elle repartira vers la droite
et plus c'est a droite, plus tu as de l'angle ....
pareil a gauche bien sur
si tu reçois la balle vers le centre, plus tu renverra verticalement ....
les zigouigoui qui tombent ils disparaissent si la balle les touches
donc tu as pu tres bien toucher l'un deux, et que tu ne l'ai pas vu....
le champs d'etoiles c'est en fait 1024 sprites .. (j'aurai pu pousser mais apres
ça depend des systemes )
pour la petite histoire j'avais codé ça sur mon NetBook Samsung NC10
(resolution 1024x600 )
si tu insiste je peux accelerer la balle, mais tu vas me maudire apres ...
surtout si tu chope la "gellule" d'accélération (ça ressemble a une petite bobine , mais
qui n'est pas animé ...car celle qui est animée c'est l'agrandissement de la raquette )
la bobine d'acceleration c'est vitesse *2
l'escargot c'est vitesse /2
c'est super fluide, comme si ma carte grah ou je ne sais quoi, mettait
quelques chose en cache, .. mais bon ...
pour la physique je te garanti qu'elle est nickel
tu as du toucher un "extra terreste" tu sais ces trucs qui tombent et qui devient la directon de la balle ...
la physique est nickel pour une raison simple
j'avais commencé ce prg pour mettre au point une procedure
qui justement tiens compte des 4 droites qui composent un rectangle ... (d'une brique)
et la raquette c'est pareil
si tu reçois la balle a droite de la raquette , elle repartira vers la droite
et plus c'est a droite, plus tu as de l'angle ....
pareil a gauche bien sur
si tu reçois la balle vers le centre, plus tu renverra verticalement ....
les zigouigoui qui tombent ils disparaissent si la balle les touches
donc tu as pu tres bien toucher l'un deux, et que tu ne l'ai pas vu....
le champs d'etoiles c'est en fait 1024 sprites .. (j'aurai pu pousser mais apres
ça depend des systemes )
pour la petite histoire j'avais codé ça sur mon NetBook Samsung NC10
(resolution 1024x600 )
si tu insiste je peux accelerer la balle, mais tu vas me maudire apres ...
surtout si tu chope la "gellule" d'accélération (ça ressemble a une petite bobine , mais
qui n'est pas animé ...car celle qui est animée c'est l'agrandissement de la raquette )
la bobine d'acceleration c'est vitesse *2
l'escargot c'est vitesse /2
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PureNoide 2
On a la critique facile Tu va nous haïr professeur
mais bon faut le dire, le jeu n'est pas réussi techniquement du fait des tremblements de la balle et d'une physique hasardeuse (la raquette ca va, mais pas le contact balle/brique), et esthétiquement on est loin du style arcade que j'aime.
Mais on veut bien voir ta version plus récente.
mais bon faut le dire, le jeu n'est pas réussi techniquement du fait des tremblements de la balle et d'une physique hasardeuse (la raquette ca va, mais pas le contact balle/brique), et esthétiquement on est loin du style arcade que j'aime.
Mais on veut bien voir ta version plus récente.
_______________________________________________________
Re: PureNoide 2
elle reprends les memes graphique...
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PureNoide 2
Après c'est aussi moi, par exemple j'avais détesté BOLO sur Atari ST.... j'aime juste quand c'est vertical, style jap, et avec des gros pixels
après c'est pas évident de réaliser un jeu de casse brique original et fun.... il y en a tres tres peu dans l'histoire du jeu vidéo
après c'est pas évident de réaliser un jeu de casse brique original et fun.... il y en a tres tres peu dans l'histoire du jeu vidéo
_______________________________________________________
Re: PureNoide 2
Bah chez moi c'est plutôt fluide... Flou aussi, mais certainement dû à la rémanence.
Par contre ça m'a changé la résolution de l'écran (et ça l'a pas remise après la sortie du jeu).
Les collisions contre les briques sont pas toujours bien gérées et je ne sais pas si c'est normal, mais lors de collisions sur les murs les angles entrants et sortants ne sont pas toujours les mêmes, sans qu'on puisse y trouver de règle (dans le breakout sur Thomson, tu pouvais filer des effets à la balle, là ça n'a pas l'air d'être le cas).
J'ai peu joué parce que j'ai pas l'impression qu'on puisse jouer au clavier, et au trackpad de portable pas cher c'est vraiment désagréable...
Par contre ça m'a changé la résolution de l'écran (et ça l'a pas remise après la sortie du jeu).
Les collisions contre les briques sont pas toujours bien gérées et je ne sais pas si c'est normal, mais lors de collisions sur les murs les angles entrants et sortants ne sont pas toujours les mêmes, sans qu'on puisse y trouver de règle (dans le breakout sur Thomson, tu pouvais filer des effets à la balle, là ça n'a pas l'air d'être le cas).
J'ai peu joué parce que j'ai pas l'impression qu'on puisse jouer au clavier, et au trackpad de portable pas cher c'est vraiment désagréable...
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: PureNoide 2
moi c'est le probleme qu'il me reste avec PURE, l'image est floue....
j'avais aussi ce probleme avec BLITZ...
Pourtant c'est possible, en RC BASIC ou NAALAA, quelque soit la resolution virtuelle plein ecran , meme la plus farfelue, genre 237x194, et bien l'image est absolument nette de chez nette, sans AUCUN effet de lissage. C'est très surprenant d'ailleurs.
j'avais aussi ce probleme avec BLITZ...
Pourtant c'est possible, en RC BASIC ou NAALAA, quelque soit la resolution virtuelle plein ecran , meme la plus farfelue, genre 237x194, et bien l'image est absolument nette de chez nette, sans AUCUN effet de lissage. C'est très surprenant d'ailleurs.
_______________________________________________________
Re: PureNoide 2
Dobro a écrit:
le champs d'etoiles c'est en fait 1024 sprites ..
pourquoi pas de simples "plot" ???????
_______________________________________________________
Re: PureNoide 2
drfloyd a écrit:moi c'est le probleme qu'il me reste avec PURE, l'image est floue....
L'image est pas floue chez moi, c'est juste la balle en mouvement, c'est pour ça que je pense que c'est la rémanence de mon écran.
Par contre quand j'ai lancé le jeu, il a modifié la résolution de mon écran et ne l'a pas restaurée en sortie...
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: PureNoide 2
Mon Casse Brique préféré c'est celui là :
Alors les accélérations de fou parce qu'on vient de toucher une brique de la troisième ligne, je connais
En plus de la balle, il y a aussi la raquette qui clignote désagréablement avec genre une ligne qui apparaît juste dessus en alternance.
A la sortie du jeu, je retrouve ma résolution mais mes fenêtres en plein écran ont changé de résolution.
Tu à la meilleure équipe de test sur ce forum, tu vas pouvoir sortir un jeu avec une finition top
Demande au Doc comment il a galéré avec son Cosmos
(il galère encore)
Alors les accélérations de fou parce qu'on vient de toucher une brique de la troisième ligne, je connais
En plus de la balle, il y a aussi la raquette qui clignote désagréablement avec genre une ligne qui apparaît juste dessus en alternance.
A la sortie du jeu, je retrouve ma résolution mais mes fenêtres en plein écran ont changé de résolution.
Tu à la meilleure équipe de test sur ce forum, tu vas pouvoir sortir un jeu avec une finition top
Demande au Doc comment il a galéré avec son Cosmos
(il galère encore)
Shaoth- Guéri miraculeux
- Nombre de messages : 2216
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
Re: PureNoide 2
Tryphon a écrit:Par contre quand j'ai lancé le jeu, il a modifié la résolution de mon écran et ne l'a pas restaurée en sortie...
ça c'est etrange puisque ça depends des "Windows"
j'ai l'impression qu'effectivement dans certain cas, ça peut deconner
le probleme c'est que ça ne viens pas vraiment du langage, mais du systeme Windows qui a mon avis est de plus en plus
merdique ... a l'occase je regarderai ce point merci pour la remontée...
je testerai avec une ancienne version du compilateur de Purebasic, histoire de vérifier que ce ne serai pas un Bug lié au derniere version...
ce qui est toujours possible...
@DrFloyd ...
parce qu'en Purebasic Plot ne serai pas assez Rapide , plot(er) 1024 point par frame (60 fois par seconde) , je demande a voir !
le sprite a l'avantage d'etre fait pour ça! une image qui te permet de l'afficher en Temp réél, et que c'est ta carte Graphique
qui gere , lorsqu'on utilise les Sprites Purebasic....
les sprites sont bien plus rapide que les plot() ... fait des tests, tu va etre surpris !
a ce propos, je vous invite a mettre a jour vos Drivers Carte Graph , et DirectX .... (moi je suis en DirectX 12 )
il faut utiliser touche windows+R et taper "dxdiag" pour voir la version que vous disposez
juste au cas ou (je m'adresse a ceux qui trouve des saccades sur la balle ou du flou .... )
ok, la prochaine version aura la balle plus rapide ... je vois que j'ai affaire a des pros ....
quand je pense qu'avec la version actuelle je ne depasse pas le niveau 3 LOL
@Tryphon: la souris c'est quand meme un minimum pour jouer au casse Brique sur un portable
je n'utilise actuellement que ça sur mon MSI GT72 et mon MSI 780DXR , le Pad pour jouer c'est pas vraiment ça effectivement
j'ai peur qu'en mettant les touches flechées par exemple , ça ne donne pas de réactivité suffisante....
d'un coté j'ai toi qui me demande l'utilisation des touches clavier
et de l'autre Shaoth me demande d'accelerer la balle ... ça va etre chaud...
ps: chez moi l'image n'est pas flou ...(mon image est comme sur la capture plus haut )
j'espere que tu la vois pas floue , sinon change tout LOL
et grand merci pour vos retours, c'est super
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PureNoide 2
Propose au joueurs différents niveaux de difficulté
Shaoth- Guéri miraculeux
- Nombre de messages : 2216
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
Re: PureNoide 2
j'avais oublié
la partie haute de l'ecran , ainsi que les bords droit et gauche
renvoi la balle avec des angles qui peuvent varier
j'avais fait ça a l'epoque pour eviter une prédiction
trop facile des rebonds ...
@Shaoth oui dans une autre version , j'avais ajouter la possibilité de choisir sa vitesse...
faut juste que je retrouve le code LOL
la partie haute de l'ecran , ainsi que les bords droit et gauche
renvoi la balle avec des angles qui peuvent varier
j'avais fait ça a l'epoque pour eviter une prédiction
trop facile des rebonds ...
@Shaoth oui dans une autre version , j'avais ajouter la possibilité de choisir sa vitesse...
faut juste que je retrouve le code LOL
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PureNoide 2
Dobro a écrit:ça c'est etrange puisque ça depends des "Windows"
j'ai l'impression qu'effectivement dans certain cas, ça peut deconner
le probleme c'est que ça ne viens pas vraiment du langage, mais du systeme Windows qui a mon avis est de plus en plus
merdique ... a l'occase je regarderai ce point merci pour la remontée...
je testerai avec une ancienne version du compilateur de Purebasic, histoire de vérifier que ce ne serai pas un Bug lié au derniere version...
ce qui est toujours possible...
Ce n'est pas bien grave et en effet, je ne pense pas que tu puisses y faire grand chose...
@Tryphon: la souris c'est quand meme un minimum pour jouer au casse Brique sur un portable
je n'utilise actuellement que ça sur mon MSI GT72 et mon MSI 780DXR , le Pad pour jouer c'est pas vraiment ça effectivement
j'ai peur qu'en mettant les touches flechées par exemple , ça ne donne pas de réactivité suffisante....
d'un coté j'ai toi qui me demande l'utilisation des touches clavier
Je demande rien hein
C'est juste que j'ai toujours préféré jouer au pad, ou au pire au clavier (j'ai appris à jouer sur console). Si tu l'implémentes, tu peux rajouter un bouton qui augmente la vitesse de la raquette (A + droite et la raquette part vers la droite deux fois plus vite).
Dobro a écrit:j'avais oublié
la partie haute de l'ecran , ainsi que les bords droit et gauche
renvoi la balle avec des angles qui peuvent varier
j'avais fait ça a l'epoque pour eviter une prédiction
trop facile des rebonds ...
Je comprends mieux (même si perso j'aime pas, j'aurais plutôt fait ça sur les rebonds sur ennemis, qui eux par contre sont complètement prévisibles).
Mais c'est ton jeu, tes règles
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: PureNoide 2
drfloyd a écrit:Moi c'est pas un casse brique que je reve de réaliser, c'est un flipper 2D....
je te ressort un tres vieux code , pour te montrer le B.a.BA de l'histoire
ici la physique est loin d'etre parfaite (surtout celle des flips) mais ça donne une idée quand meme
je l'avais intitulé "La gaziniere a Dobro" , car il s'agit ici d'empecher un oeuf sur le plat de glisser hors de la gaziniere
et bien sur les Feux se mettent en rooute si on touche un bruleur .....
tain, je sais pas ce que j'avais consommé ce jour là
le code
- Code:
; realisé par Dobro en pure v 3.93
; mis en version purebasic 5.71
;- déclarations des procedures
;*******************************************************************************************************
Declare msg_erreur(chaine$)
;*******************************************************************************************************
;- test du materiel
;*******************************************************************************************************
If InitSprite ()=0
msg_erreur( "impossible d'initialiser les sprites" + Chr (10)+ " le prg va quitter " )
End
EndIf
If InitMouse ()=0
msg_erreur( "impossible d'initialiser la souris" + Chr (10)+ " le prg va quitter " )
End
EndIf
If InitKeyboard ()=0
msg_erreur( "impossible d'initialiser le clavier" + Chr (10)+ " le prg va quitter " )
End
EndIf
If InitJoystick()=0
msg_erreur( "impossible d'initialiser le joystick" + Chr (10)+ " on va continuer sans " )
joystick=0
Else
joystick=1 ; le joystick est present !!²
EndIf
InitSprite()
;*******************************************************************************************************
;-initialisations constante structure tableaux variables
;*******************************************************************************************************
Enumeration
#joystick
#window
#Sprite
#flip_gauche
#flip_droit
#bumper
#balle
#top
#topgauche
#topdroit
#gauche
#droit
#basgauche
#basdroit
#feu
#feu2
EndEnumeration
Structure balle
x.w
y.w
sensx.f
sensy.f
EndStructure
nbr_balle=0
Dim balle.balle(1) ; on cree 1 instance de balle
Structure flip
x.w
y.w
EndStructure
Dim flip.flip(1) ; 0 et 1
Structure bumper
x.w
y.w
EndStructure
Dim bumper.bumper(10) ; 0 a 3
Structure top
x.w
y.w
EndStructure
Structure feu
x.w
y.w
EndStructure
Dim feu.feu(10)
Structure feu1
x.w
y.w
EndStructure
Dim feu1.feu1(2)
Structure feu2
x.w
y.w
EndStructure
Dim feu2.feu2(2)
Structure feu3
x.w
y.w
EndStructure
Dim feu3.feu3(2)
Dim top.top(10) ; 0 et 1
; affecte des coordonees aleatoire et place les balles
xd=520
yd=150
balle(0)\x=xd ; placement de la balle
balle(0)\y=yd
balle(0)\sensx=1 ; determine le sens de deplacement de la balle et la vitesse
balle(0)\sensy=1
flip(0)\x=350
flip(0)\y=454
flip(1)\x=546
flip(1)\y=454
bumper(0)\x=300
bumper(0)\y=100
bumper(1)\x=600
bumper(1)\y=100
bumper(2)\x=300
bumper(2)\y=300
bumper(3)\x=600
bumper(3)\y=300
top(0)\x=200 ; haut
top(0)\y=50
top(1)\x=200 ; gauche
top(1)\y=50
top(2)\x=800 ; droit
top(2)\y=50
top(3)\x=200 ; basgauche
top(3)\y=500
top(4)\x=675 ; basdroit
top(4)\y=500
feu(0)\x=bumper(0)\x
feu(0)\y=bumper(0)\y
feu(1)\x=bumper(1)\x
feu(1)\y=bumper(1)\y
feu(2)\x=bumper(2)\x
feu(2)\y=bumper(2)\y
feu(3)\x=bumper(3)\x
feu(3)\y=bumper(3)\y
;*******************************************************************************************************
;-ouvre ecran
;*******************************************************************************************************
OpenWindow(#window,10,1,1024,600,"Gaziniere a Dobro",#PB_Window_SystemMenu)
OpenWindowedScreen (WindowID(#window),1,1,1024, 600, 1,1,1 )
KeyboardMode (1)
;*******************************************************************************************************
;-creation des sprites
;*******************************************************************************************************
coul=coul+10
sprite=sprite
aa= CreateSprite ( #balle ,32,32, #PB_Sprite_PixelCollision ) ; on cree un sprite (une balle.. enfin, un oeuf au plat !! )
StartDrawing ( SpriteOutput ( #balle ) ) ; on va dessiner dans le sprite
Circle (16, 16, 16, RGB ($FF,$FF,$FF)) ; on dessine un rond BLANC dedans(dans le sprite)
Circle (16, 16, 8, rgb($FF,$D5,$05))
StopDrawing ()
ac= CreateSprite ( #flip_gauche ,128,128, #PB_Sprite_PixelCollision )
StartDrawing ( SpriteOutput ( #flip_gauche ) ) ; on va dessiner dans le sprite
Circle (16, 64, 16, RGB ($F1,0,$F))
LineXY (16, 64-16, 128, 64, RGB ($F1,0,$F))
LineXY (16, 64+16, 128, 64, RGB ($F1,0,$F))
FillArea (40, 66, RGB ($F1,0,$F), RGB ($F1,0,$F))
; Plot(40,66,RGB($FF,$FF,$F))
StopDrawing ()
ae= CreateSprite ( #flip_droit ,128,128, #PB_Sprite_PixelCollision )
StartDrawing ( SpriteOutput ( #flip_droit ) ) ; on va dessiner dans le sprite
Circle (128-16, 64, 16, RGB ($F1,0,$F))
LineXY (128-16, 64-16, 0, 64, RGB ($F1,0,$F))
LineXY (128-16, 64+16, 0, 64, RGB ($F1,0,$F))
FillArea (80, 66, RGB ($F1,0,$F), RGB ($F1,0,$F))
;Plot(80,66,RGB($FF,$FF,$F))
StopDrawing ()
ag= CreateSprite ( #bumper ,128,128, #PB_Sprite_PixelCollision )
StartDrawing ( SpriteOutput ( #bumper ))
For i=64 To 1 Step-10
Circle (128/2, 128/2, i , RGB (10,i*2,i*2))
Next i
StopDrawing ()
ai= CreateSprite ( #top ,600,32, #PB_Sprite_PixelCollision )
StartDrawing ( SpriteOutput ( #top ))
Box (0, 0, 600, 32, RGB ($FC,$F4,$65))
BackColor (RGB(0, 0 ,0))
FrontColor (RGB(0,0,0))
DrawingMode (1)
DrawText (280,8, "La gaziniere a Dobro" )
StopDrawing ()
CreateSprite ( #gauche ,32,600, #PB_Sprite_PixelCollision )
StartDrawing ( SpriteOutput ( #gauche ))
Box (0, 0, 32, 600, RGB ($FC,$14,$65))
StopDrawing ()
CreateSprite ( #droit ,32,600, #PB_Sprite_PixelCollision )
StartDrawing ( SpriteOutput ( #droit ))
Box (0, 0, 32, 600, RGB ($FC,$14,$65))
StopDrawing ()
CreateSprite ( #basgauche ,150,32, #PB_Sprite_PixelCollision )
StartDrawing ( SpriteOutput ( #basgauche ))
Box (0, 0, 150, 32, RGB ($FC,$F4,$65))
StopDrawing ()
CreateSprite ( #basdroit ,155,32, #PB_Sprite_PixelCollision )
StartDrawing ( SpriteOutput ( #basdroit ))
Box (0, 0, 155, 32, RGB ($FC,$F4,$65))
StopDrawing ()
CreateSprite ( #feu ,110,110, #PB_Sprite_PixelCollision )
StartDrawing ( SpriteOutput ( #feu ))
Box (0, 0, 150, 150, RGB ($FF,$0,$0))
StopDrawing ()
CreateSprite ( #feu2 ,110,110, #PB_Sprite_PixelCollision )
StartDrawing ( SpriteOutput ( #feu2 ))
Box (0, 0, 150, 150, RGB ($FF,$F9,$0))
StopDrawing ()
RotateSprite( #feu ,30,#PB_Relative)
RotateSprite( #feu2 ,-30,#PB_Relative)
; ZoomSprite3D(#bumper3d, 64, 64)
;*******************************************************************************************************
;-boucle principale
Repeat
event=WaitWindowEvent(2)
;- examine le materiel
;*******************************************************************************************************
ExamineKeyboard ()
KeyboardMode (1)
ExamineMouse ()
If joystick=1
ExamineJoystick (#joystick) ; optionel on examine seulement si present !!
EndIf
;*******************************************************************************************************
; serie de gosub ou appel de procedure a mettre ici
;*******************************************************************************************************
Gosub dessin_sur_ecran ; trace une ligne sur l'ecran et une serie de cercles
Gosub calcul_des_rebonds
Gosub apesanteur
Gosub avance_la_balle
;*******************************************************************************************************
;{ interroge le clavier et joystick
;- interoge le clavier
If KeyboardPushed(#PB_Key_RightShift )
RotateSprite ( #flip_droit , 30,0)
right=1
Else
RotateSprite ( #flip_droit , 0, 0)
right=0
EndIf
If KeyboardPushed(#PB_Key_LeftShift )
RotateSprite ( #flip_gauche , -30, 0)
left=1
Else
RotateSprite ( #flip_gauche ,0, 0)
left=0
EndIf
If perdu.b=1 Or balle(0)\sensx=0 And balle(0)\sensy=0
If KeyboardPushed(#PB_Key_Down )
xd=520
yd=150
balle(0)\x=xd ; placement de la balle
balle(0)\y=yd
balle(0)\sensx=1 ; determine le sens de deplacement de la balle et la vitesse
balle(0)\sensy=1
point=0
EndIf
EndIf
If KeyboardPushed(#PB_Key_Space ) ; massage
balle(0)\sensx=balle(0)\sensx-0.04
top(0)\x=200-5 ; haut
top(1)\x=200-5 ; gauche
top(2)\x=800 -5 ; droit
top(3)\x=200-5 ; basgauche
top(4)\x=675 -5 ; basdroit
bumper(0)\x=300-5
bumper(1)\x=600-5
bumper(2)\x=300-5
bumper(3)\x=600-5
Else
top(0)\x=200 ; haut
top(1)\x=200 ; gauche
top(2)\x=800 ; droit
top(3)\x=200 ; basgauche
top(4)\x=675 ; basdroit
bumper(0)\x=300
bumper(1)\x=600
bumper(2)\x=300
bumper(3)\x=600
EndIf
;}
If balle(0)\sensy<-12
balle(0)\sensy=-8
EndIf
If balle(0)\sensx<-8
balle(0)\sensx=-6
EndIf
If balle(0)\sensx>8
balle(0)\sensx=6
EndIf
;{affichage des sprites
;-affichage des sprites
;*******************************************************************************************************
;Start ()
DisplaySprite ( #flip_gauche ,flip(0)\x, flip(0)\y)
DisplaySprite ( #flip_droit ,flip(1)\x, flip(1)\y)
DisplaySprite ( #bumper ,bumper(0)\x, bumper(0)\y)
DisplaySprite ( #bumper ,bumper(1)\x, bumper(1)\y)
DisplaySprite ( #bumper ,bumper(2)\x, bumper(2)\y)
DisplaySprite ( #bumper ,bumper(3)\x, bumper(3)\y)
DisplaySprite ( #balle , balle(0)\x,balle(0)\y)
DisplaySprite ( #top , top(0)\x,top(0)\y)
DisplaySprite ( #gauche , top(1)\x,top(1)\y)
DisplaySprite ( #droit ,top(2)\x,top(2)\y)
DisplaySprite ( #basgauche , top(3)\x,top(3)\y)
DisplaySprite ( #basdroit , top(4)\x,top(4)\y)
; balle(0)\x=MouseX()
; balle(0)\y=MouseY() ;
; DisplaySprite3D( #balle3d, balle(0)\x, balle(0)\y)
;Stop ()
;*******************************************************************************************************
;}
FlipBuffers () ; affiche le resultat a l'ecran !
ClearScreen (RGB(0,0,0)) ; nettoie l'ecran apres affichage
Until KeyboardPushed ( #PB_Key_Escape ) Or MouseButton (2)
End
;{ ********* Zone des sous-programme ******************
;{ dessin_sur_ecran
;- dessin_sur_ecran
dessin_sur_ecran:
StartDrawing ( ScreenOutput ())
BackColor (RGB(0, 0 ,0))
FrontColor (RGB($3A,$AB,$81))
DrawText (10,10, "shiftgauche-et-droit pour les flips espace pour masser et fleche-bas pour relancer " )
DrawText (50,50," points :" + Str (point))
StopDrawing ()
Return
;}
;{calcul_des_rebonds
;-calcul_des_rebonds
calcul_des_rebonds:
; collision flip gauche
If SpritePixelCollision ( #balle , balle(0)\x, balle(0)\y, #flip_gauche ,flip(0)\x, flip(0)\y)<>0 And left=1
balle(0)\sensy=- balle(0)\sensy-6
balle(0)\sensx=- balle(0)\sensx-4
ElseIf SpritePixelCollision ( #balle , balle(0)\x, balle(0)\y, #flip_gauche ,flip(0)\x, flip(0)\y)<>0 And left=0
balle(0)\sensy=- balle(0)\sensy+0.08
EndIf
; collision flip droit
If SpritePixelCollision ( #balle , balle(0)\x, balle(0)\y, #flip_droit ,flip(1)\x, flip(1)\y)<>0 And right=1
balle(0)\sensy=-balle(0)\sensy-6
balle(0)\sensx=-balle(0)\sensx-4
If balle(0)\sensy<-12
balle(0)\sensy=-8
EndIf
ElseIf SpritePixelCollision ( #balle , balle(0)\x, balle(0)\y, #flip_droit ,flip(1)\x, flip(1)\y)<>0 And right=0
balle(0)\sensy=-balle(0)\sensy+0.08
EndIf
; collision bumpers
If SpritePixelCollision ( #balle , balle(0)\x, balle(0)\y, #bumper ,bumper(0)\x, bumper(0)\y)<>0
If balle(0)\x<=bumper(0)\x Or balle(0)\x>=bumper(0)\x+64
balle(0)\sensx=-balle(0)\sensx
EndIf
If balle(0)\y<=bumper(0)\y Or balle(0)\y>=bumper(0)\y+64
balle(0)\sensy=-balle(0)\sensy
EndIf
;Start ()
DisplaytransparentSprite ( #feu , feu(0)\x+10,feu(0)\y+10)
DisplaytransparentSprite ( #feu2 , feu(0)\x+10,feu(0)\y+10)
;Stop ()
point=point+10
EndIf
If SpritePixelCollision ( #balle , balle(0)\x, balle(0)\y, #bumper ,bumper(1)\x, bumper(1)\y)<>0
If balle(0)\x<=bumper(1)\x Or balle(0)\x>=bumper(1)\x+64
balle(0)\sensx=-balle(0)\sensx
EndIf
If balle(0)\y<=bumper(1)\y Or balle(0)\y>=bumper(1)\y+64
balle(0)\sensy=-balle(0)\sensy
EndIf
;Start ()
DisplaytransparentSprite ( #feu , feu(1)\x+10,feu(1)\y+10)
DisplaytransparentSprite ( #feu2 , feu(1)\x+10,feu(1)\y+10)
;Stop ()
point=point+10
EndIf
If SpritePixelCollision ( #balle , balle(0)\x, balle(0)\y, #bumper ,bumper(2)\x, bumper(2)\y)<>0
If balle(0)\x<=bumper(2)\x Or balle(0)\x>=bumper(2)\x+64
balle(0)\sensx=-balle(0)\sensx
EndIf
If balle(0)\y<=bumper(2)\y Or balle(0)\y>=bumper(2)\y+64
balle(0)\sensy=-balle(0)\sensy
EndIf
;Start ()
DisplaytransparentSprite ( #feu , feu(2)\x+10,feu(2)\y+10)
DisplaytransparentSprite ( #feu2, feu(2)\x+10,feu(2)\y+10)
;Stop (
point=point+10
EndIf
If SpritePixelCollision ( #balle , balle(0)\x, balle(0)\y, #bumper ,bumper(3)\x, bumper(3)\y)<>0
If balle(0)\x<=bumper(3)\x Or balle(0)\x>=bumper(3)\x+64
balle(0)\sensx=-balle(0)\sensx
EndIf
If balle(0)\y<=bumper(3)\y Or balle(0)\y>=bumper(3)\y+64
balle(0)\sensy=-balle(0)\sensy
EndIf
;Start ()
DisplaytransparentSprite ( #feu , feu(3)\x+10,feu(3)\y+10)
DisplaytransparentSprite ( #feu2 , feu(3)\x+10,feu(3)\y+10)
;Stop ()
point=point+10
EndIf
;************************ collision avec le decor ! *************************************************
If SpritePixelCollision ( #balle , balle(0)\x, balle(0)\y, #top ,top(0)\x, top(0)\y)<>0
balle(0)\sensy=-balle(0)\sensy
EndIf
If SpritePixelCollision ( #balle , balle(0)\x, balle(0)\y, #gauche ,top(1)\x, top(1)\y)<>0
balle(0)\sensx=-balle(0)\sensx
If balle(0)\sensx>0
balle(0)\sensx=balle(0)\sensx-0.2
EndIf
If balle(0)\sensx<0
balle(0)\sensx=-balle(0)\sensx-0.4
EndIf
EndIf
If SpritePixelCollision ( #balle , balle(0)\x, balle(0)\y, #droit ,top(2)\x, top(2)\y)<>0
balle(0)\sensx=-balle(0)\sensx
If balle(0)\sensx>0
balle(0)\sensx=balle(0)\sensx-0.2
If balle(0)\sensx=0
balle(0)\sensx=0
EndIf
EndIf
If balle(0)\sensx<0
balle(0)\sensx=balle(0)\sensx-0.2
If balle(0)\sensx=0
balle(0)\sensx=0
EndIf
EndIf
EndIf
If SpritePixelCollision ( #balle , balle(0)\x, balle(0)\y, #basgauche ,top(3)\x, top(3)\y)<>0
balle(0)\sensy=-balle(0)\sensy
If balle(0)\sensy<=0
balle(0)\sensy=balle(0)\sensy+0.08
EndIf
EndIf
If SpritePixelCollision ( #balle , balle(0)\x, balle(0)\y, #basdroit ,top(4)\x, top(4)\y)<>0
balle(0)\sensy=-balle(0)\sensy
If balle(0)\sensy<=0
balle(0)\sensy=balle(0)\sensy+0.08
EndIf
EndIf
; ***********************
Return
;}
;{apesanteur
;-apesanteur
apesanteur:
If balle(0)\sensy<=4
balle(0)\sensy=balle(0)\sensy+0.08
; Debug balle(0)\sensy
EndIf
If balle(0)\y>730
balle(0)\sensy=0
balle(0)\sensx=0
perdu.b=1
EndIf
Return
;}
;{ avance la balle
;- avance la balle
avance_la_balle:
balle(0)\x=balle(0)\x+balle(0)\sensx ; fait avancer les balles
balle(0)\y=balle(0)\y+balle(0)\sensy
Return
;}
;} ***********************************************************
; *************************************************************
;{ **************** Zone des procedures ******************
Procedure msg_erreur(chaine$)
MessageRequester ( "erreur" , chaine$, #PB_MessageRequester_Ok )
EndProcedure
;} *************************************************************
; fin
;
; Epb
; pos_curs=27
; pos_line=5
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PureNoide 2
Oula un moteur de jeu de flipper !!! Ca m'interesse au plus au point!!!!!!!
(meme si l'exemple fait peur t'as arrêté la Méthaqualone depuis ? )
Faut que je vois si tu gères bien l'inertie, le frottement, et pis tout le reste... parce que moi je me suis cassé les dents
(meme si l'exemple fait peur t'as arrêté la Méthaqualone depuis ? )
Faut que je vois si tu gères bien l'inertie, le frottement, et pis tout le reste... parce que moi je me suis cassé les dents
_______________________________________________________
Re: PureNoide 2
Bon... bah je suis rassuré quant à mon niveau Je pense quand même avoir fait mieux lors de mes essais de jeu de flipper
T'avais avalé des champignons spéciaux ce jour là ?????????
Ca me donne envie de m'y remettre...
T'avais avalé des champignons spéciaux ce jour là ?????????
Ca me donne envie de m'y remettre...
_______________________________________________________
Re: PureNoide 2
oui c'est juste pour faire marrer , le theme est intéressant
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PureNoide 2
Oui, y a de l'idée sur le theme....
_______________________________________________________
Page 1 sur 2 • 1, 2
Page 1 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum