Ce projet est un prototype de Minecraft en vu isométrique.
Actuellement, seul la gestion de la map est faite.
(Vous pouvez déplacer la caméra avec les flèches directionnelles)
Lephenixnoir a écrit : Ok ! Je suivrai avec intérêt, j'aime déjà ce projet
Content que ça te plaît
Sinon : Mise à jour du Programme
Désormais, il y a les ombres des blocks.
On peut aussi maintenant effectuer une rotation du plateau en appuyant sur F6.
(La mise à jour est déjà posté)
Yep ! Merci !
Sinon j'aimerai bien pouvoir lire et écrire des fichiers pour charger les Chunks par exemple, mais je ne sais pas comment on fait avec Gint.
Mon but serai :
Lire un fichier nommé ChunkX_Y.txt qui contient une liste d'entier de ce style :
0,0,0,1,1,1,2,5
et la mettre dans un array int[].
Ainsi que l'inverse c'est à dire que j'ai une liste d'entier et la sauvegarder dans un fichier.
Merci d'avance
Tu peux accéder au système de fichiers normalement avec les fonctions standard du C tant que tu fais un world switch. Pour écrire c'est facile tu à droit à fprintf() ; pour lire, fscanf() n'est pas disponible donc il faudra parser un peu à la main.
Entre nous tu perds ton temps si tu représentes tout en texte, ça irait sensiblement plus vite de stocker directement ton tableau d'int :
// Disclaimer : pas testé
#include <gint/gint.h>
#include <stdio.h>
Avec toute la gestion d'erreur qui va bien etc. plus le fait de le faire pour chaque chunk, mais c'est un début.
Note : manipuler des fichiers ça coûte cher, t'as pas intérêt à couper en tous petits fichiers. Le minimum raisonnable est 4096 octets dans un fichier, en-dessous de ça tu gâches de l'espace ; personnellement je mettrais bien 16 kio ou 32 kio dans chaque fichier pour éviter de passer mon temps à en créer. Créer des fichiers surtout ça c'est long. (Tu peux l'éviter avec le mode w+ et un peu de finesse mais ça sera pour une autre fois)
Ok bah je vais faire ça alors, ça sera plus simple en effet.
Du coup, j'ai voulu tester ton programme mais il me dit :
/mnt/c/Users/leofa/OneDrive/Bureau/Minecraft Isometric/Isocraft/src/MainSystem.hpp:37:28: error: ‘fopen’ was not declared in this scope
37 | FILE* fp = fopen("ChunkX_Y.txt", "w");
| ^~~~~
/mnt/c/Users/leofa/OneDrive/Bureau/Minecraft Isometric/Isocraft/src/MainSystem.hpp:1:1: note: ‘fopen’ is defined in header ‘<cstdio>’; did you forget to ‘#include <cstdio>’?
+++ |+#include <cstdio>
1 | #pragma once
/mnt/c/Users/leofa/OneDrive/Bureau/Minecraft Isometric/Isocraft/src/MainSystem.hpp:38:17: error: ‘fwrite’ was not declared in this scope
38 | fwrite(array, size, sizeof * array, fp);
| ^~~~~~
/mnt/c/Users/leofa/OneDrive/Bureau/Minecraft Isometric/Isocraft/src/MainSystem.hpp:39:17: error: ‘fclose’ was not declared in this scope
39 | fclose(fp);
| ^~~~~~
Du coup je rajoute #include <cstdio>
Et il me dit ensuite :
/mnt/c/Users/leofa/OneDrive/Bureau/Minecraft Isometric/Isocraft/src/MainSystem.hpp:1:10: fatal error: cstdio: No such file or directory
1 | #include <cstdio>
| ^~~~~~~~
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd