CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • 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
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS
Minecraft
  • Tout support
  • PC
  • Xbox Series
  • Switch
  • PS4
  • ONE
  • WiiU
  • PS3
  • 360
  • Vita
  • iOS
  • Android
  • Web
  • New 3DS
Forum
  • Accueil
  • Actus
  • Tests
  • Vidéos
  • Images
  • Soluces
  • Forum

Sujet : Je programme un simulateur de Redstone en C++

News culture
La Planète des Singes : Le Nouveau Royaume - la révolution simienne est en marche !
DébutPage précedente
1
Page suivantePage suivante
Oxxi_ Oxxi_
MP
Niveau 10
03 juillet 2019 à 18:07:52

https://www.youtube.com/watch?v=x7tp6BWz3Ek
Ça sert à rien mais c'est amusant à coder :noel:
J'en suis vraiment au tout tout début alors normal qu'il manque beaucoup de choses, c'est vraiment que la structure et la logique de base que j'ai fait pour l'instant
Alors qu'en pensez-vous ? :hap:

Message édité le 03 juillet 2019 à 18:08:17 par Oxxi_
Oxxi_ Oxxi_
MP
Niveau 10
03 juillet 2019 à 21:57:16

Merci, je sais pas trop jusqu'à où je vais pousser ça mais c'est un bon entrainement au C++ étant donné que c'est mon premier jeu avec ce langage :hap:
Pour l'UI j'utilise SFML [[sticker:p/1ljr]]

Oxxi_ Oxxi_
MP
Niveau 10
03 juillet 2019 à 23:29:00

Boh j'avais déjà fait des jeu en Python avant, c'est différent mais j'ai déjà une bonne logique à présent.

J'ai pas vraiment recherché d'architecture, j'ai essayé d'inventer quelque chose de pratique et d'optimisé mais je n'ai pas pris de modèle (excepté les fonctions de la SFML)

Je pense que j'utilise cette architecture Modèle-Vue-Contrôleur en quelque sorte mais je ne sais pas si c'est exactement ça, en gros :

- Classe GameMap : Contient tous les blocs, gère le placement des blocs et la mise à jour de certains en fonction de si ils peuvent changer visuellement indépendament (poudre de redstone), si ils doivent être mis à jour à chaque tick (répéteurs) ou si ils ne peuvent pas changer sans interaction de l'utilisateur (blocs de redstone).

- Classe Displayer : Les pointeurs des blocs de GameMap sont passés au Displayer qui les range dans des objets Chunks de 16x16 blocs, à chaque modification d'un bloc celui-ci est dessiné sur le Chunk qui lui correspond (le bloc est dessiné seulement si il vient d'être modifié). Avant chaque mise à jour de la fenêtre les Chunks seulement visibles à l'intérieur de la fenêtre sont dessinés dessus. Pour parcourir la fenêtre j'utilise les vues de la SFML, le Displayer sert aussi à récupérer les events.

- Le main : Va simplement charger les données, initialiser le GameMap et le Displayer, et lancer la boucle.

- La boucle principale : Récupère les events du Displayer, et choist comment placer les blocs, quelle touche correspond à quel bloc etc... Et met à jour le Displayer et le GameMap.

Très globalement c'est ça :hap:

La SDL je m'y est suis intéressé mais je trouve que la SFML est beaucoup plus riche, je préfère avoir un maximum d'outils à disposition.

Message édité le 03 juillet 2019 à 23:31:24 par Oxxi_
Oxxi_ Oxxi_
MP
Niveau 10
10 juillet 2019 à 17:51:25

Le 04 juillet 2019 à 21:19:51 Google_Bot a écrit :
Oui ça ressemble à du MVC accidentel présenté comme ça.

Pourquoi "accidentel" ?

Sinon moi c'est l'inverse pour le coup, la SDL étant une lib C, elle me semble inévitablement plus bas niveau que la SFML. :o))

Oui c'est plus blus bas niveau c'est sûr mais j'aime pas trop quand c'est trop bas non plus :-)

Google_Bot Google_Bot
MP
Niveau 12
11 juillet 2019 à 20:15:16

Le 10 juillet 2019 à 17:51:25 Oxxi_ a écrit :

Le 04 juillet 2019 à 21:19:51 Google_Bot a écrit :
Oui ça ressemble à du MVC accidentel présenté comme ça.

Pourquoi "accidentel" ?

Parce que tu as l'air de dire que ça t'est venu assez naturellement, donc j'imagine que tu n'as pas non-plus basé toute ton architecture sur ce pattern :o))
Après il faudrait un accès aux sources complètes pour juger (et j'ai pas le temps :hap:) donc on a qu'à dire que tu as une gommette MVC d'office :oui:

Sinon moi c'est l'inverse pour le coup, la SDL étant une lib C, elle me semble inévitablement plus bas niveau que la SFML. :o))

Oui c'est plus blus bas niveau c'est sûr mais j'aime pas trop quand c'est trop bas non plus :-)

Chacun ses goûts :hap:

Oxxi_ Oxxi_
MP
Niveau 10
15 juillet 2019 à 11:23:26

Le 11 juillet 2019 à 20:15:16 Google_Bot a écrit :

Le 10 juillet 2019 à 17:51:25 Oxxi_ a écrit :

Le 04 juillet 2019 à 21:19:51 Google_Bot a écrit :
Oui ça ressemble à du MVC accidentel présenté comme ça.

Pourquoi "accidentel" ?

Parce que tu as l'air de dire que ça t'est venu assez naturellement, donc j'imagine que tu n'as pas non-plus basé toute ton architecture sur ce pattern :o))

C'est vrai, mais j'avais quand même déjà établi une structure globale avant de passer au code, je voulais même faire du multithreading en isolant toute la partie mécanique, signaux, les comportements des blocs etc pour que le programme soit plus "portable" mais finalement pour l'affichage des blocs c'était trop galère, il me fallait forcément des pointeurs vers des textures et ça passe pas. Et puis j'ai jamais fait de multithreading alors bon :honte:

Après il faudrait un accès aux sources complètes pour juger (et j'ai pas le temps :hap:) donc on a qu'à dire que tu as une gommette MVC d'office :oui:

On peut dire ça :-) mais je peux te passer seulement les headers si ça t'intéresse ça peut donner une idée

Sinon moi c'est l'inverse pour le coup, la SDL étant une lib C, elle me semble inévitablement plus bas niveau que la SFML. :o))

Oui c'est plus blus bas niveau c'est sûr mais j'aime pas trop quand c'est trop bas non plus :-)

Chacun ses goûts :hap:

Voilà :hap: et après avoir fait du pygame passer direct à la SDL ça aurait été un peu dur :rire:

Message édité le 15 juillet 2019 à 11:25:31 par Oxxi_
Oxxi_ Oxxi_
MP
Niveau 10
06 août 2019 à 02:53:34

J'ai pas mal progressé depuis, j'ai ajouté la barre du joueur et le fait que la redstone se transmet à travers les blocs normaux si le signal est envoyé par un répéteur (comme dans le jeu) + masse masse masse correction de bugs qui m'ont bien pris la tête
Pas encore de vidéo, j'attend de coder la torche de redstone, mais voilà un petit gif :hap:
https://www.noelshack.com/2019-32-2-1565052792-clock.gif
Parfaitement synchronisé :content:

[MOH]_Angerfist [MOH]_Angerfist
MP
Niveau 9
06 août 2019 à 03:28:11

Un projet que je vais suivre :hap:
Sujet en favori :oui:

Oxxi_ Oxxi_
MP
Niveau 10
06 août 2019 à 03:29:49

Le 06 août 2019 à 03:28:11 [MOH]_Angerfist a écrit :
Un projet que je vais suivre :hap:
Sujet en favori :oui:

:cimer:

Oxxi_ Oxxi_
MP
Niveau 10
08 août 2019 à 01:34:42

Je viens de faire quelques tests, le jeu tourne entre 250 et 600 fps même avec beaucoup d'objets, ce qui est très satisfaisant alors que j'ai un pc avec des capacités plutôt médiocres :hap:
Donc même si vous avez un ordi absolument pourris il pourra tourner aisément dessus

Oxxi_ Oxxi_
MP
Niveau 10
20 août 2019 à 02:23:58

Nouvelle vidéo ! https://www.youtube.com/watch?v=K7eO8cb_V0k

Oxxi_ Oxxi_
MP
Niveau 10
20 août 2019 à 21:50:04

up

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : Evilash08, Vortex646, Tomy-Fett, Leirok, ]Faustine[, Latios[JV], Remysangfamy
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

Meilleures offres
ONE 28.50€ Switch 31.34€ Vita 39.95€ PS3 39.99€ ONE 45.18€ PS4 54.90€
Marchand
Supports
Prix
La vidéo du moment