CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Qbasic ===> Pong :)

Chaos_Clad
Chaos_Clad
Niveau 10
26 septembre 2004 à 18:39:36

Voilà le programme :

CLS
SCREEN 12

PRINT " Après avoir entré le nombre de balles, appuyez sur F1 pour commencer"
SLEEP(2)
INPUT " Avec combien de balles voulez-vous jouer ( max 10) " ; j

IF j > 10 AND j < 1 THEN RUN

CLS

LINE ( 0, 50)-(500, 50) , 3
LINE -(500, 380),3
LINE -(0, 380), 3

FOR X = 0 TO 1D+17
ON KEY(1) GOSUB Cercle
KEY(1) ON
NEXT X

Cercle:
TYPE Tballe
Rayon AS INTEGER
X AS SINGLE
Y AS SINGLE
CX AS SINGLE
CY AS SINGLE
END TYPE

DIM Balle(j - 1) AS Tballe

FOR i = LBOUND(Balle) to UBOUND(Balle)
Balle(i).Rayon = RND * 10
Balle(i).X = RND * 320
Balle(i).Y = RND * 240
Balle(i).CX = . 5
Balle(i).CY = . 5
NEXT i

DO
FOR i = LBOUND(Balle) to UBOUND(Balle)

CIRCLE ( Balle(i).X, Balle(i).Y), Balle(i).Rayon, 0
Balle(i).X = Balle(i).X + Balle(i).CX
Balle(i).Y = Balle(i).Y + Balle(i).CY
IF Balle(i).X - Balle.Rayon < 0 OR IF Balle(i).X + Balle.Rayon > 496 THEN Balle(i).CX = -Balle(i).CX
IF Balle(i).Y - Balle.Rayon < 0 OR IF Balle(i).Y > + Balle(i).Rayon < 376 OR IF Balle(i).Y - Balle(i).Rayon THEN Balle(i).CY = -Balle(i).CY
CIRCLE ( Balle(i).X, Balle(i).Y), Balle(i).Rayon, 14

IF j < 3 THEN GOTO 10
10 FOR a = 0 to 1000
NEXT a

IF F j < 5 THEN GOTO 20
20 FOR a = 0 to 100
NEXT a

IF j > 5 THEN GOTO 30
30 FOR a = 0 to 10
NEXT a

NEXT i

LOOP

Voilà, ce programme est un " pong", autrement dit, une balle rebondit sur des lignes tracés
par le programmeur, mais à gauche de l´écran, la balle peut sortir ( à la manière d´un casse-brique,
si la balle sort de l´écran c´est perdu :) ) .
Avant que je ne recopie ce programme comme un âne ( enfin je l´ai déjà fait pour voir à quoi ça
ressemblait, j´aimerai savoir à peu près ce que signifient les instructions car dans le tutoriel
que j´ai je ne comprends pas vraiment oO).

Et pour finir, j´aimerai savoir comment programmer une barre dirigeable grâce aux flèches Haut et Bas
que l´on ferait bouger pour empêcher la balle de sortir de l´écran ( qu´elle rebondisse dessus en fait :) )

P.S: Facultatif, si vous n´avez VRAIMENT rien à faire, pourriez-vous m´expliquer comment faire pour que
quand il y a plusieurs balles, elles puissent s´entrechoquer ?

Merci à tous ceux qui me répondront ( sauf à ceux qui diront des imbécilités :-p ) . @+

dnob700
dnob700
Niveau 10
26 septembre 2004 à 18:43:45

mais ton code là : http://wall.cours-info.net/

car sur le forum il est trop abimé pour pouvoir être copier/coller et j´ai pas vraiment envie de le taper.

par contre, il y a des erreur de < et > dès la première ligne, ou alors tu as oublié un not qqpart.

Chaos_Clad
Chaos_Clad
Niveau 10
26 septembre 2004 à 18:46:39

Oui j´ai mis AND au lieu de OR Mea Culpa moi :) Par contre je n´ai pas de pseudonymes sur l´IRC pour le poster sur ton site.

Chaos_Clad
Chaos_Clad
Niveau 10
26 septembre 2004 à 18:50:54
  • Moi et mon cerveau :sarcastic: *

http://wall.cours-info.net/?id=246

Je dois y aller, je repasserai, mais surement pas avant demain ou après-demain, @+

dnob700
dnob700
Niveau 10
26 septembre 2004 à 18:56:00

c´est pas un OR qu´il faut, c´est inverser les < et >

par cotre, tu a collé le texte qui venait du forum... ce qui n´est pas très malin il y a plein d´espace partotu qui gène.

et puis il y a un problème au nveau de tes if, tu mets au milieu :

if truc or if truc...

tu ne peut pas mettre plusieur if,

si tu veux dire :

si ceci ou si cela alors . ..

tu mets juste :
si ceci ou cela alors . ..

mais pas plusieur if.

Chaos_Clad
Chaos_Clad
Niveau 10
27 septembre 2004 à 18:39:55

http://wall.cours-info.net/?id=247

Voil :)

Chaos_Clad
Chaos_Clad
Niveau 10
29 septembre 2004 à 18:23:56

Personne pour m´aider :(

dnob700
dnob700
Niveau 10
29 septembre 2004 à 22:47:33

" IF j > 10 OR j < 1 THEN RUN"
C´est pas beau, mais tant pis, utilise plutot une boucle qui tourne tant que j>10 or j<1

" IF j < 3 THEN GOTO 10
10 FOR a = 0 to 1000
NEXT a

IF F j < 5 THEN GOTO 20
20 FOR a = 0 to 100
NEXT a

IF j > 5 THEN GOTO 30
30 FOR a = 0 to 10
NEXT a "

N´utilise PAS de numéro de ligne! utilise toujours des labels, c´est beacoup plus clair, et mets les sur une ligne à par.

Par contre, je ne vois pas vraiment à quoi servent ces lignes.

Déjà les if nes servent à rien, quoi qu´il arrive, tout est exécuté, et en plsu les for non plus ne servent à rien sauf à perdre un millième de seconde.

Et puis le if F j<5 me semble étrange... ( enlève le F)

dans les grand test, il y a des endroit où il manque des ( i) dans balle(i).rayon

bon, j´ vais t´ennuyer, mais la prochaine fois, passe en plus les fichier source, c´est encore plus simple car le copier coller ne marche pas terrible avec ce genre de prog.

Bon, par contre, je ne vois pas vraiment l´interet d´un tel prog, il est assez nul, mal écrit etc... si tu veux apprendre, je te conseille de changer de source ( je sais pas où tu as trouvé ça).
Et si tu veux faire un pong, il vaut mieu recommencer à zéro, car ce code est à peu près inutilisable, pas clair et tout ça.

bon sinon, ce qui est important, si tu arrive à lancer le programme c´est que tu demande comment il marche, que fait chaque ligne, tu le demande plus haut, mais je n´ai pas le temps de le faire, et c´est mieu si tu regarde toi m^me ( c´est ap très dur il suffit de le faire ligne par ligne).
Leproblème, c´est que ya des lignes qui servent à rien dans ce prog alors bien sur...

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment