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

[C] Afficher une grille

Nuclesynthese
Nuclesynthese
Niveau 6
18 mars 2014 à 19:55:16

Bonsoir,

Débutant en C, je dois réaliser un démineur. Pour cela, j'ai à ma disposition la lib CINI crée exprès pour mon UE. Elle dispose des fonctions usuelles + des fonctions graphiques comme

- CINI_open_window pour créer la fenetre;
– CINI_fill_rect(X0, Y0, LARGEUR, LONGEUR, COULEUR) pour dessiner un rectangle avec (X0, Y0) les coordonnées du sommet supérieur gauche. Je dois m'en servir pour tracer la bordure autour de la grille (en plus de la bordure "naturelle" de la grille) et pour tracer les traits de la grille, d'épaisseurs fixées.
– CINI_draw_string pour ́ecrire dans une case le nombre de ses voisins;
– CINI_loop_until_clic pour attendre un clic souris;
– CINI_clic_posx et CINI_clic_posy pour récupérer les coordonnées du dernier clic de l’utilisateur.

Mon problème, pour le moment, c'est d'afficher la grille. Pour ne pas avoir de pb pour les cases à la limite, le DM impose une grille de dimension M+2*N+2 mais seulement la grille M*N sera affichée (les autres cases, elles seront non minées par défaut).

Voici un bout de code (le "bla bla" c'est pour les fonctions d'intéraction avec le joueur toussa, mais y a pas de pb, ça compile bien).

http://pastebin.com/QBUBRCp0

Cela me donne l'image suivante (il me manque donc 2 traits) :

https://image.noelshack.com/fichiers/2014/11/1394915854-capture1.png

Si j'augmente de deux la variable i (jusqu'à X + 4 donc), j'obtiens presque la grille, (à 1-2 pixels près) mais du coup, cela contredit mes calculs que j'ai beau refaire, je ne trouve pas la faille ...

https://image.noelshack.com/fichiers/2014/11/1394915863-capture2.png

Merci d'avance.

Nuclesynthese
Nuclesynthese
Niveau 6
18 mars 2014 à 19:56:10

CINI_fill_rect(X0, Y0, LARGEUR, HAUTEUR, COULEUR) *

Nuclesynthese
Nuclesynthese
Niveau 6
18 mars 2014 à 22:05:02

Il manquait les définition de N et M :

http://pastebin.com/dwkBKBx7

(ce c/c correspond au deuxième screen)

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