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

vitesse d'un programe

guyver2
guyver2
Niveau 10
27 août 2003 à 12:56:01

bon alors voila j´ai fais plein de jeu sur casio 35 et je suis afreusement brimé par la vitesse ( plus proche de la limace tetraplegik ke de la formule 1)

par exemple:
j´ai fait un jeu avec deux chato ki se tire dessu ( on rentre un angle et une force et le prog crée une parabole basée sur les ekwation de trajectoir d´un objet en chute libre de terminal)

le prog trace pixel par pixel la courbe ( et verifi a chaque fois si il n´y a pas eu impact avec le decors ou le chato adverse)
le probleme c´est ke ce tracage prend environ 10 seconde pour une courbe de 4 cm
donc j´ai mis 4 heur a faire ce prog et le plaisir de joué et réduit a néan par l´attente entre chak coup ( j´y ai joué deux fois et ca me saoul deja)

c´est pourkoi j´ai decidé d´abandonner la calculette pour faire des jeu sur pc
pour les jeu en text pas de probleme
mais j´ai peur qu´en passant a des jeu graphik le probleme soit inverse ke sur caltoch

le seul moment ou j´ai vu réflechir l´ordi pendant 2 seconde c´est avec un prog ki di si un nombre ke je lui donne est premier ( il prend le nombre doné et le divise par tout les nombre inferieur a lui)
j´ai rentré 36527 et il a reflechi environ deux seconde avant sa réponse

donc j´imagine qu´avec mon jeu de chateau le tracé de la courbe sera fini en moins de temps k´il n´en faut pour aprecier le jeu ( peut-etre meme moin de temps k´il n´en faut pour voir la trajectoir du tir)

donc je voulait savoir si il y avé moyen de cadenser un programe pour limiter sa vitesse d´execution

( je programe en pascal)

merci

hs_dino
hs_dino
Niveau 9
27 août 2003 à 13:19:10

Tu dois travailler avec un timer. En général, on utilise une fonction qui te renvoie le temps en milliseconde écoulé depuis le démarrage de la machine. ( Fonction QueryPerfomanceTimer en C ) .

Ensuite, tu dois te debrouiller pour derouler ton jeu en te calant sur le timer.

Par exemple, pour avancer un personnage tu dois exprimer son déplacement en cases par seconde et non pas en cases par frame.

Exemple :

Vitesse 5 Cases/Frame:
à 50 FPS : Le perso avance de 250 Cases par seconde.
à 100 FPS : Le perso avance de 500 Cases par seconde.

On s´apercoit que selon la vitesse de la machine, le jeu aura un comportement different.

Par contre:
Vitesse de 5 Cases/Seconde
à 50 FPS: Le perso avance de 5 Case/Seconde.
à 100 FPS: Le perso avance de 5 Cases/Seconde.

Dans ce cas, le jeu sera cadencé et sera jouable sur tout type de machine.

lag-it
lag-it
Niveau 10
27 août 2003 à 13:24:18

Uhm . .. je ne connais pas le pascal, mais 2 solutions s´offrent à toi :

:d) Mettre une boucle, genre for qui compte un certains nombre d´itérations sans rien faire avant de redonner la main à la suite du programme.
L´avantage c´est que ca se met en place très facilement.
Le problème, c´est que si tu resort ton jeu dans 20 ans ( on peut rêver :-))) ) , tout ira beaucoup trop vite car la puissance des ordis aura augmenté ( essaye de jouer à Theme Park 1 sur ton ordi ) .

:d) Sinon, la méthode plus fine consiste à récupérer l´horloge et à faire des boucles de manière à faire patienter le jeu une seconde ( par exemple ) avant de calculer le prochain point.

lag-it
lag-it
Niveau 10
27 août 2003 à 13:25:44

Pour ma réponse 2, c´est pas des boucles, c´est un if, sorry :-)

JeanYvesYves
JeanYvesYves
Niveau 10
27 août 2003 à 16:15:52

si tu veux optimiser : vois les opérations couteuses.

tu travailles en virgule flottante : sache que la gestion des entiers est bien plus rapide ( quoiqu´avec le PC actuels...)

y´ aun autre truc : évite a tout prix de mettre des for dans des for, y´a plein d´astuces pour ça.

les tests de collision par exemple, peut etre que tu peux les rendre moins couteux en considérant non pas le chateau, mais la boite englobante du chateau ( un rectangle qui le caractériserait), moisn de tests a faire : 4 seulement, vérifier si x1<x-balle<x2 et y1<y-balle<y2 ( avec x1,y1 x2,y2 les coords de la boite)

test de collision : si le chateau est gros, tu peux te permettre de faire un test de collision non pas toutes les frames, mais 1 frame sur 3...

etc...
apres, tout dépend de ton programme, mais y´a moultes optimisations je pense

guyver2
guyver2
Niveau 10
27 août 2003 à 17:33:55

pour tt le monde
merci bcp

pour jean Y²
je supose ke tes sugestion d´optimisation sont pour mon program sur caltoch
mais les calcul de colision se font de la maniere suivante:
on a :kan y=0 :d) sol
kan x=100 :d) sorti du terrain

les deux chato son au sol donc ils n´ont k´une coordonée sur l´axe X ( y= 0)

a chaque pixel de la trajectoire le prog verifie ceci:
:)
-si x(pixel)>100 alors goto :non:
-si y(pixel)<0 alors
si x(pixel) aparrtient a [x(chato)-2; x(chato)+2] alors goto :ok: sinon goto :non:
-sinon goto :)

:non: = loupé
:ok: = touché

je sais pas si je peu fair plus soft com verification

lag-it
lag-it
Niveau 10
27 août 2003 à 17:39:10

AAAAAAAAAAAAAAHHHHHHHHHHH ! !!!!!!!!!!!!!!!!!!!
DES GOTO PARTOUT ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!

:malade: :malade: :malade: :malade: :malade: :malade: :malade: :malade: :malade: :malade:

guyver2
guyver2
Niveau 10
27 août 2003 à 17:45:39

sinon j´ai une kestion:

si je peut me servir de l´orloge de l´ordi
apelon une procedure ´orloge´ ki donne une variable t ( le temps depuis le debut du prog en seconde)

on peut faire une boucle pour fair patienter le prog 5 seconde comme ca:

le temps commence a défiler

t recoit 0

tant ke t< 5 faire:
t recoit ´orloge´
fin tant ke.

bla bla bla ( suite du programe)

guyver2
guyver2
Niveau 10
27 août 2003 à 17:47:44

:d) lag it

c´est une casio 35 je trouve ke les goto sont tres pratik pour passer d´un endroit a un otre dans un programe

il fo juste une sorte d´aiguillage a la fin de chake fonction ou procedure

lag-it
lag-it
Niveau 10
27 août 2003 à 17:49:03

T´en fait pas, j´en faisait usage à outrance sur ma 83 :-)))
Mais avec le C++, plus besoin :-)

guyver2
guyver2
Niveau 10
27 août 2003 à 17:51:21

j´ai jamé fait de c++
apres un an en deug info j´ai fé ke du turbo pascal et du delphy ( mais bon c´est le meme langage)

lag-it
lag-it
Niveau 10
27 août 2003 à 17:54:48

De toutes facons, avec les langages de programmation procéduraux et/ou orienté objet, il est facile de se passer de goto ( fonctions, classes, . .. )

guyver2
guyver2
Niveau 10
27 août 2003 à 18:03:21

bon tu a l´air de t´y connaitre donc
j´ai un autre probleme:
je supoz k´a la fac on va pas faire ke du pascal
je suis pas trop mauvais en logik et algorythme
il me fodrait un boukin pour aprendre le c++ ( boucle fonction procedure affichage)

lag-it
lag-it
Niveau 10
27 août 2003 à 18:11:59

Tiens, je te donne un extrait de la faq :

Différence entre C et C++ ? par jeanYvesYves

Le C est un langage de programmation qui permet de programmer n´importe quel logiciel ou jeu. C´est un langage dit " procédural ( 2e génération)". Sa maitrise demande de savoir gérer proprement sa mémoire, puisque l´on manipule directement la mémoire avec ce langage. C´est tres puissant, tres rapide, mais demande parfois de vraiment se casser la tête : mais croyez moi que ça en vaut le coup !
Le C++ est une extention du C, un C amélioré. Il contient entre autre ce qu´on appelle la POO ( programmation orienté objet), ce qui fait de lui un langage " objet ( 3e génération)". L´avantage de cela est que l´on n´a plus a gérer directement la mémoire, il simplifie la vie du programmeur.
Certains voudront s´attaquer directement au C++ sans passer par le C, c´est TRES DECONSEILLE. C´est comme jouer a Frozen Throne sans jamais avoir touché à " reign of chaos" ( Warcraft 3).
Certains, comme moi, sont avant tout des programmeus de C, c´est pour cela que je dis que je programme en C/C++ car j´utilise les avantages des 2 langages, j´aime bien gérer des objets, mais j´aime bien toucher moi meme a la mémoire.

Quels bouquins? par Lag-it

Si vous n´avez jamais programmé auparavant ou que vous ne savez pas encore si la programmation vous plaira, inutile d´acquérir un livre de 2500 pages qui risque de vous dégouter.
Optez plutot pour des petits bouquins qui vous donneront un premier apercu du langage.

En ce sens, les livres de la collection " Campus Press" sont intéressant, nottament " Le langage C" qui donne toutes les bases du C pour 10 € seulement.
Dans la même collection vient " Le langage C++", qui aborde la programmation orienté objet. Cependant, il est recommandé d´avoir quelques notions de C pour l´aborder, car celles si ne sont données que rapidement ( et généralement peu approfondies ) . 10 € également, je recommande de l´acheter avec " Le langage C".
Une collection intéressante pour les débutants ou ceux qui ne veulent pas passer 60 € dans l´achat d´un bouquin.

Viennent ensuites les livres plus imposants, de plus de 1000 pages qui, malgrés un prix plus élévé, donnent d´avantage de connaissances de bases mais aussi de techniques avancés de la programmation :

" Comment programmer en C++, 3ème édition
Introduction à la conception orientée objet avec l´UML"

Un excellent livre pour le débutant et le programmeur plus confirmé désirant se lancer dans l´aventure C++. Il donne les bases et les notions avancées du langage C++ ( partie procédurale héritée du C ) et de la programmation orientée objet ( C++ ) .

Son introduction à l´UML permet un premier apercu de ce langage de modélisation de systèmes orientés objet.
Il est très complet et très accessible. Une valeur sure.
Sur le CD-Rom inclut figure Visual C++ 6.0 Introductory Edition ( une demo illimitée dans le temps ) qui permet de se mettre à écrire du code tout de suite.
( NOTE : La 4° édition est déjà sortie en anglais, mais elles n´apporte que quelques nouveautés, le reste du livre étant identique à la 3° édition )
" Le langage C++"
De Bjarne Stroustrup ( créateur du C++ )
Editions Campus.

Quel compilateur pour le C++ ? par Lag-it

Aujourd´hui, la plupart des compilateurs C/C++ sont regroupés au sein d´un même logiciel ( il n´existe plus de compilateur spécifique au C )

En règle générale, si vous recherchez un compilateur pour un langage particulier, rendez vous sur :
http://www.compilers.net/

Ce site regorge de liens vers des compilateurs gratuits ou payants sur un nombre impressionant de plateformes ( PC, Mac, Linux, . . . ) . La majeure partie des langages de programmation existants sont présents : C, C++, Basic, Java, . . .

http://www.bloodshed.net/devcpp.html

Site de Dev C++, un IDE/Compilateur gratuit C/C++ pour PC.

http://msdn.microsoft.com/visualc/
www.microsoft.com/france/visualc/

La page officielle ( ang et fr ) sur le compilateur/IDE payant Visual C++ de Microsoft.

lag-it
lag-it
Niveau 10
27 août 2003 à 18:13:39

" Comment programmer en C++, 3ème édition"
C´est celui que je recommande :-)

guyver2
guyver2
Niveau 10
27 août 2003 à 18:38:18

kelle edition kel auteur????

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