Partage
  • Partager sur Facebook
  • Partager sur Twitter

echiquier c#

    15 novembre 2017 à 21:46:22

    Félicitation bacelar pour avoir eu envie de se plonger dans ce truc, perso j'ai pas eu la force !

    J'ai bien rigolé en lisant cela dit :)
    • Partager sur Facebook
    • Partager sur Twitter
    Si un message vous a aidé, n'oubliez pas le +1 et de passer votre sujet en "Résolu" ! :)
      16 novembre 2017 à 12:40:54

      >c'est juste que la Classe case n'etait pas donnée

      Attention, toutes mes conclusions "acides" se basent sur le fait que vous m’aillez donné "tout mais rien que" le code fourni par le professeur.

      Si vous n'avez qu'ajouter le fichier "Case.cs", mes conclusions sont malheureusement les mêmes, c'est une putain d'usine à gaz.

      >mais il l'avait déjà fait pour Dame

      Vous pouvez me fournir le code qu'il a donné pour cela. Parce que, pour moi, même ça c'est assez complexe.

      Du genre, interdire ou pas le mouvement de la dame si le mouvement entraine un échec sur le roi, c'est pas trivial sans avoir accès directe à toute la grille.

      C'est peut-être une approche pédagogique du genre "on vous donne des conceptions de mer.. pour vous montrer après coup tout l'intérêt de réfléchir avant de coder comme un bourrin", je l'espère, mais je suis assez pessimiste, malheureusement.

      >et ca planterait tous les test si je change tout.

      Ça fait ce genre d'usine à gaz et des TU (Tests Unitaires) en plus ???

      Justement, avec des TU, il devrait voir que sa conception est totalement pourrie.

      J'ai peur de voir la tête de ces tests. Une méga-usine à gaz pour tester une autre usine à gaz ?

      >cette matière s'appelle "Genie Logiciel"

      Le regretté Coluche :

      J'allais à l'école vachement longtemps, moi... jusqu'à temps qu'ils ferment.
      J'ai été à la faculté, et tout.
      J'ai eu comme professeur, j'ai eu le doyen de la faculté, moi... qui les avait plus ses facultés, depuis un moment.
      "Orangina", on l'appelait : il était complètement secoué !
      Ah bah, nous, on l'a remué... mais on lui a jamais décollé la pulpe du fond !
      C'était un mec, il nous vendait de l'intelligence, il avait pas un échantillon sur lui !
      Faut le faire, hein, déjà ? C'était marrant !

      https://www.paroles.net/coluche/paroles-l-etudiant

      > dans le constructeur de Case, j'ai mis Partie pour ensuite appelé partie.vue et changer l'affichage de l'IHM.

      C'est une approche "naïve" mais qui n'est pas pire que tout le reste, loin s'en faut.

      Le gros défaut de cette approche, c'est que vous couplez la classe "Case" avec la classe Partie, qui n'ont pas le même niveau d'abstraction. Vous devriez pouvoir utiliser des instances de Case ailleurs que dans une Partie.

      Après, on peut très bien concevoir que "Case" est une classe "utilitaire/satellite" de la classe Partie, et là, ça passe : mais dans ce cas, il faudrait que le namespace où est déclaré la classe "Case" montre cet assujettissement de "Case" à "Partie", en faisant de la classe Case une classe imbriqué à la classe Partie.

      https://docs.microsoft.com/fr-fr/dotnet/csharp/programming-guide/classes-and-structs/nested-types

      Moi, j'étais partie sur l'utilisation d'events dans la classe "Case" pour ne pas avoir de dépendance de Case vers Partie, rendant Case bien plus réutilisable. Mais c'est vraisemblablement "overkill", surtout avec tous les trucs horribles autour.

      >sauf que partie est toujours à Null et je comprends pas pourquoi

      Ajoutez la validation des préconditions dans votre code.

      Ici, la précondition, c'est de passer un objet Partie en paramètre du constructeur de Case.

      https://stackoverflow.com/questions/7585493/null-parameter-checking-in-c-sharp

      Faire cela systématiquement permet de gagner beaucoup de temps en développement.

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

      echiquier c#

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown