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

Methode d'apprentissage C/C++

guyver2
guyver2
Niveau 10
17 mars 2005 à 23:05:13

je voudrais savoir si il est possible de metre des fct dans une structure:
je montre un exemple pour etre plus clair.
"
struct XXX
{
int bla;
float bli;
void fct(x,y) {....};
};
"
et ensuite de faire appel a cette fct de la maniere suivante.
"
struct XXX variable;

variable.fct(a,b);
"

ou bien faut-il que je me debrouille autrement merci.

Lapintade
Lapintade
Niveau 30
17 mars 2005 à 23:33:47

Merci pour les sources. Tu sais les debutants s´en fouttent de la qualité du code, ils veulent des examples pour s´inspirer. Peu importe la qualité du code ( et puis les variables globales c´est pas bien mechant, on en a tous fait un jour).

je voudrais savoir si il est possible de
metre des fct dans une structure

C´est exactement le principe du C++ :)
D´ailleurs pour la petite histoire, " struct" en C s´est transformé en " class" en C++. Une classe c´est un object avec des données et des fonctions. On peut aussi dire que c´est une struct avec des fonctions.

Par contre en C c´est pas possible, faut que tu passes en C++. Fondementalement ca change rien du tout pour toi de compiler en C++ ( tu peux compiler du pure C en C++). Tu peux garder ton programme en C et te definir une classe XXX ( de maniere identique a ce que tu as ecrit avec ton struct, faut juste ajouter un constructeur et un destructeur ( vides dans ton cas, mais ils doivent etre la) et hop.

guyver2
guyver2
Niveau 10
18 mars 2005 à 16:15:38

je t´ai envoyé le mail...

sinon je reviendrait lundi pour te poser des questions sur les
" fct dans les structures"
car c´est le week end et je vais glander un peu
ca me changera de la fac( :lol: )

Lapintade
Lapintade
Niveau 30
18 mars 2005 à 16:17:38

Mail bien recu. Merci.
Je vais regarder ca et je le mettrais en ligne sur la page NGCK, avec un autre casse brick fait par un NGCKman aussi :)

guyver2
guyver2
Niveau 10
21 mars 2005 à 15:16:12

voici les structures auxquelles j´ai pensé pour mon nouveau jeu.
-jeu de shoot horizontal

    1. ce que j´aimerais mettre dedans:

- une page d´intro ou on choisit l´avion qu´on veut
- un gameplay a la " IKARUGA" un des jeux sortit a la toute fin ( meme si elle est eternelle) de la dreamcast
- deux " camps" blanc et noir les noirs ne peuvent toucher que les blancs et inversement
( cependant les ennemis ne se touchent pas entre eux)
- plusieurs type d´ennemis ( volant et roulant au sol) / / ici je pense que la meme structure marcherai pour tt les types d´ennemis ; voir plus bas.
- possibilité de changer de couleur ( donc de camp) en appuyant sur une touche.
- le joueur est soumis aux meme pb que les ennemis: il ne peut toucher les ennemis de sa couleur.
- possibilité d´utiliser une BOMBE qui tue tt le monde.
- chaque avion a ses propre caracteristiques de tir, vitesse, hp, . ..
- les missiles ( voir struct avion) seraient des " bombe" qui tombent a la verticale et explose au sol ou au contact d´un ennemis.

    1. je pense qu´il faut utiliser principalement 3 tableau :

1) un tableau d´ENNEMIS
2) un tableau de TIR ENNEMIS
3) un tableau de TIR DU JOUEUR

    1. plus quelque variables:

4) avancement du jeu ( qui fait apparaitre les ennemis au fur et a mesure du jeu)
5) données du joueur ( de type struct avion)
6) nb de vies,pts, et autre variables comune att les jeux.

============================================

struct tir
{
unsigned char couleur;// 1 ou 0
float x,y; / /position
float dir; / / angle de tir
float vit; / /vitesse du tir
};

==================================================
=========
stuct avion / / avion cotrolé par le joueur
{
float x,y; / / position sur l´ecran
unsigned char couleur; / / 1 ou 0
int dernier_tir; / / nb d´image depuis le dernier tir
unsigned char hp; / / nb de point de vie
unsigned char type; / /n° du sprite a afficher
unsigned char bouclier; / /1 ou 0
unsigned char bombe; / / 1 ou 0
unsigned char missile; / / nb de missile
int freq; / / fréquence des tir ( en images)
int missil_max; / /nb max de missil transportable
float vitesse;

    1. #### PARTIE A MODIFIER ######

void tir ( )
{
instruction permetant de créer ( metre dans un tableau les nouveaux tirs)
}

}

============================================
struct ennemis
{
float x,y; / / position sur l´ecran
unsigned char couleur; / / 1 ou 0
int dernier_tir; / / nb d´image depuis le dernier tir
unsigned char hp; / / nb de point de vie
unsigned char type; / /n° du sprite a afficher

    1. #### PARTIE A MODIFIER ######

void trajectoir ( &,&)
{
Divers instruction changeant les coordonées
( sinusoïde,hyperbole,...)
}

void tir ( struct tir tab[NB_TIR])
{
instruction permetant de créer ( metre dans un tableau les nouveaux tirs)
}

}

==================================================
=============

voila je pense que ça devrait me suffir pour commencer a ecrire le programme

j´utilise des " unsigned char" car le prof de C nous a dit que le type booléen n´existait pas en C et que " unsigned char" servait a stocker un nb entre 0 et 255 et que c´était le type qui prend le moins de place en memoire.
si les choix de mes types ne sont pas les plus pertinent merci de me le faire savoir.

Lapintade
Lapintade
Niveau 30
21 mars 2005 à 15:33:23

C´est tout un programme ton projet. Fait bien attention a decrire le maximum de truc avant de commencer et a ecrire sur papier l´architecture de ton programme. Car si tu commence direct par le code, tu ne verra plus jamais ton programme " de loin" et au final ca va etre du n´importe quoi ( ca arrive a tous les programmeures ca, enfin les mauvais :) )

Je te conseil d´avancer par etape. La description du jeu telle que tu l´a faite, fait peur, car il y a beaucoup de choses. Pourquoi ne pas segmenter le probleme. Version1 : Juste un vaisseau joueur. Version 2 : Un vaisseau joueur qui tire, Version 3 : Vaisseaux enemis, Version 4 : Vaisseaux Enemis tir egalement. Version5 : On peut changer de couleur, etc , etc . .. Ca aide beaucoup a avancer plus vite ce genre de progression.

Sinon pour les bool/char, tout est permis.
Moi je fais un int. Ca prends plus de place memoire, mais c´est plus rapide a traiter sur les processeur modernes. ( Le processeur doit faire plusieurs operation pour acceder a un char).

guyver2
guyver2
Niveau 10
21 mars 2005 à 17:09:33

merci de répondre si vite.

je prend note de ta remarque sur les bool/char.
et je vais metre des int comme tu dis car je n´ai pas de pb de memoire mais plutot de vitesse.

>>Pourquoi ne pas segmenter le probleme. Version1 : Juste un vaisseau joueur. Version 2 : Un vaisseau joueur qui tire,

ca tombe bien car en attendant ta réponse j´ai commencer a programer ( pour le moment tt été sur papier) et j´ai fait une premiere version qui gere 1 avion qui bouge et un fond qui défile
et je pensais justement a le faire tirer.

pour le moment j´en ai beaucoup plus sur feuille ( 2pages) que sur mon prog ( 15-20 lignes)

Lapintade
Lapintade
Niveau 30
21 mars 2005 à 17:32:52

Tu as la bonne methode. Maintenant comme on dit : " Yapuka"

GuerricB
GuerricB
Niveau 4
21 mars 2005 à 19:01:23

salut a tous

le lien marche pas chez moi ( sauf le dernier )

guyver2
guyver2
Niveau 10
23 mars 2005 à 10:39:37

bon alors apres deux jours de programation assez intenses ( jusqu´a 5h30 lundi soir) j´ai fini la plupart des fonctions de base de mon jeu de shoot.
les colisions entre tirs et unitées fonctionnent impecable
les mvt du joueur et des ennemis aussi.
de meme pour le changement de couleur.
il manque plus que la colision direct entre joueur et ennemis.

ensuite il faudra que je fasse un truc pour faire venir les ennemis par vague successives mais je ne vois pas du tout commen faire pour le moment.

je vous donne une démo contenant:
-1 avion ( les 2 autres sont pres mais je n´ai pas de sprite)
-2 type d´ennemis ( je vais en faire d´autres)
- gestion des couleur.

tt est expliqué dans le fichier . txt donné avec le jeu.

j´ai aussi fait une bombe mais elle n´est pas utilisable dans la démo ( je ne lui ai pas affecté de touche)

les avion en haut de l´ecran symbolise la vie restante ( 1 avion=100 hp).je sais ca fait tres moche mais c´était juste pour voir si mon systeme de perte/gain de vie marchait.
le joueur regagne de la vie en se faisant toucher par les tir ennemis de sa couleur et en perd sinon.

le joueur ne peut toucher que les ennemis qui ne sont pas de sa couleur.
le jeu redemare tt de suite a la mort du dernier ennemis ou du joueur(ce qui permet de ne pas redemarer la demo tt le temp).

Il y a un truc bizard en haut a gauche de l´écran; un sprite de camion qui apparait de temps en temps, je ne sait pas d´ou il vient et je n´arrive pas a le faire partir. ? ???
pour le moment le jeu est super confus(bcp de tir)
mais c´est juste pour voir si ca rame ( et puis ca me fait marrer)

je vous met le lien qui je l´espere va marcher ( car j´ai pas mal de pb de serveur en ce moment...)
http://www.info.univ-angers.fr/pub/letouzey/
ou
http://www.info.univ-angegers.fr/pub/letouzey/shoot.zip

Lapintade
Lapintade
Niveau 30
23 mars 2005 à 11:00:22

Wha mortel . .. :) :) :) :)

:ok: :ok: :ok: :ok: :ok: :ok:

T´as bien bossé.

pandamark
pandamark
Niveau 6
23 mars 2005 à 11:07:55

Je suis imprésionné par la capacité du moteur NGCK :ok: , mais pour moi j´ai un ecran 800x600, donc pense a moi pour faire le jeu et fais un version 800x600 :lol:

Lapintade
Lapintade
Niveau 30
23 mars 2005 à 12:38:44

NGCK n´est pas vraiment un moteur. C´est un petit programme qui fourni des fonctions trés simplifiées pour debutter ( genre AfficheCarre). Quand quelqu´un a terminé la methode complete NGCK, il peut ensuite bidouiller le NGCK pour creer ces propres fonctions. C´est ce qu´a fait guyver2.

C´est une sorte d´introduction a une lib graphique ( SDL ou GaeIncubator suivant les versions de NGCK).

pandamark
pandamark
Niveau 6
23 mars 2005 à 12:54:39

Lapintade > > Quel sont les autre version appart le volume light(easy).

Lapintade
Lapintade
Niveau 30
23 mars 2005 à 13:19:47

J´ai fait que la version " easy". Je voulais faire la suite, mais je me rends compte qu´aprés avoir fait tous les exos, les " eleves" arrivent a voler de leur propre ailes ( en faisant un cass brique ou autre chose). Donc pas besoin d´un volume supplementaire. ( ou alors si j´ai beaucoup de demande je le ferais, mais pour le moment c´est pas le cas).

guyver2
guyver2
Niveau 10
23 mars 2005 à 13:37:27

je suis bien content que ca vous plaise ! !!

=>pandamark
le jeu EST DEJA en 600*800

sinon c´est juste une version d´essais(la versin finale sera en plein ecran)

je me suis rendu compte en essayant ce matin que le vaisseau rouge ne pouvait pas mourir donc je vais revoir ca.

j´ai trouvé comment utiliser les autres touche du clavier donc je vais pouvoir remetre la bombe.
dans une deuxiemme version qui devrait etre dispo cet aprem vers 18H.
par contre vous avez du remarquer que le principal defaut du jeu et son manque total de classe donc ( étant donné que je n´ai absolument aucun talent de graphiste) je fai appel a vous si possible pour m´envoyer des sprites d´avions ou d´ennemis ( 50*50px max) en blanc et noir ( ou juste une couleur et je ferais un negatif. merci
je metrais cet aprem

pandamark
pandamark
Niveau 6
23 mars 2005 à 13:43:09

guyver2 > > J´ai réussis à battre le vaisseau rouge, mais il a fallu que je sois à la couleur opposé du vaisseau(blanc).

Lapintade
Lapintade
Niveau 30
23 mars 2005 à 13:46:28

Je regarde ce soir dans ma collection de sprites...

pandamark
pandamark
Niveau 6
23 mars 2005 à 14:00:54

" son manque total de classe"
non au contraire je le trouve super :ok:

pandamark
pandamark
Niveau 6
23 mars 2005 à 14:33:51

http://spriting.simgames.net/NSA/Sheets/adv2as.gif ici tu trouveras des avions de toute couleur et la http://spriting.simgames.net/NSA/Sheets/adv2.gif des vehicule sur terre tous d´advance wars :-)

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