{"id":2889,"date":"2021-05-11T22:24:08","date_gmt":"2021-05-11T20:24:08","guid":{"rendered":"http:\/\/myrdil.com\/?p=2889"},"modified":"2021-05-11T22:24:45","modified_gmt":"2021-05-11T20:24:45","slug":"comment-ca-marche","status":"publish","type":"post","link":"https:\/\/myrdil.com\/?p=2889","title":{"rendered":"Lentement mais s\u00fbrement"},"content":{"rendered":"<p>Je peine \u00e0 d\u00e9marrer la programmation client-serveur, il me faut du temps pour assimiler le code des comp\u00e9tences que j&#8217;avais copi\u00e9 des vid\u00e9os de Ryan Laley.<\/p>\n<p><!--more--><\/p>\n<p>Son code fonctionne, mais il comporte des \u00e9l\u00e9ments logiques qui me contrarient et, comme je l&#8217;ai d\u00e9j\u00e0 dit, j&#8217;ai un esprit tr\u00e8s \u00e9troit en mati\u00e8re de logique, si je per\u00e7ois la moindre faille il faut que je l&#8217;\u00e9limine. C&#8217;est probablement une conformation naturelle et cela me permet de construire des cath\u00e9drales de code d&#8217;une fiabilit\u00e9 \u00e0 toute \u00e9preuve mais qu&#8217;est-ce que c&#8217;est \u00e9reintant d&#8217;\u00eatre incapable de rien passer !<\/p>\n<p>Par exemple, Ryan a con\u00e7u son syst\u00e8me de telle mani\u00e8re que chaque comp\u00e9tence est attach\u00e9e au joueur qui la cr\u00e9e. A premi\u00e8re vue, c&#8217;est bon. Sauf que \u00e7a ne l&#8217;est pas du tout : si un PNJ utilise une de ces comp\u00e9tences, il n&#8217;est pas de la m\u00eame classe que les joueurs et donc des variables pertinentes pour les joueurs pointent dans le warp pour des non-joueurs, ce qui fait s&#8217;effondrer tout l&#8217;\u00e9difice \u00e0 long terme.<\/p>\n<p>Qui plus est, il utilise deux variables diff\u00e9rentes au sein des comp\u00e9tences pour r\u00e9f\u00e9rencer le joueur, chose qui m&#8217;est absolument insupportable. Deux trucs identiques, c&#8217;est inacceptable, pour une question de lisibilit\u00e9 et de maintenance.<\/p>\n<p>J&#8217;ai corrig\u00e9 tout \u00e7a, sauf que dans un cas tr\u00e8s particulier il appelle une fonction apr\u00e8s la s\u00e9quence d&#8217;initialisation d&#8217;une classe fille et avant celle de sa classe m\u00e8re. En sandwich quoi. Oui, mais pas de bol, cette variable de r\u00e9f\u00e9rence du joueur n&#8217;existe pas avant l&#8217;appel de la classe m\u00e8re, j&#8217;ai donc d\u00fb r\u00e9f\u00e9rencer directement le joueur au lieu d&#8217;utiliser sa variable de r\u00e9f\u00e9rence. Ce qui importe peu puisque de toutes fa\u00e7ons son syst\u00e8me ne marche pas pour les non-joueurs, je verrai donc \u00e7a plus tard, \u00e9ventuellement. Pour r\u00e9f\u00e9rence future, le probl\u00e8me r\u00e9side dans la fonction &#8220;ClearDuplicates&#8221;.<\/p>\n<p>Demain j&#8217;esp\u00e8re pouvoir enfin travailler vraiment sur la r\u00e9plication.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Je peine \u00e0 d\u00e9marrer la programmation client-serveur, il me faut du temps pour assimiler le code des comp\u00e9tences que j&#8217;avais copi\u00e9 des vid\u00e9os de Ryan Laley.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2889","post","type-post","status-publish","format-standard","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/posts\/2889","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/myrdil.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2889"}],"version-history":[{"count":0,"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/posts\/2889\/revisions"}],"wp:attachment":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2889"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/myrdil.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2889"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/myrdil.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2889"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}