{"id":882,"date":"2019-09-01T15:09:49","date_gmt":"2019-09-01T13:09:49","guid":{"rendered":"https:\/\/ceobeta.oric.org\/?p=882"},"modified":"2019-09-01T15:09:49","modified_gmt":"2019-09-01T13:09:49","slug":"lights-out","status":"publish","type":"post","link":"https:\/\/oric.bqtt.net\/index.php\/2019\/09\/01\/lights-out\/","title":{"rendered":"Lights Out"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Apr\u00e8s quelques softwares d\u00e9velopp\u00e9s sur d&#8217;autres plateformes, ce logiciel marque les d\u00e9buts de Dan Cresp en programmation sur l&#8217;Oric. Produit d\u00e9but 2012, la vision de Dan est exceptionnelle sur cette adaptation. Romuald r\u00e9alisera fin 2018 une nouvelle adaptation de ce jeu de r\u00e9flexion dans le cadre du concours <a href=\"https:\/\/ceobeta.oric.org\/concours-ceo-new-year-2019\/\">CEO NY2019<\/a><\/em>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">G\u00e9n\u00e9ralit\u00e9s<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Le jeu est une conversion informatique de la machine &#8220;LIGHTS OUT&#8221; de la maison TIGGER. Tr\u00e8s addictif, c&#8217;est le premier jeu que Dancresp a r\u00e9alis\u00e9 pour l&#8217;ORIC, et c&#8217;est une adaptation du m\u00eame jeu programm\u00e9 pour le THOMSON MO5 fin 2011. Cette version est un peu plus rapide, mais elle a perdu la simplicit\u00e9 d&#8217;action li\u00e9e \u00e0 l&#8217;utilisation du crayon optique.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ceobeta.oric.org\/wp-content\/uploads\/2019\/08\/1325449338_35_FT0_lightsout_2_.jpg\" alt=\"\" class=\"wp-image-1155\"\/><figcaption>Le MO5 de Daniel, \u00e9quip\u00e9 de son crayon optique &#8230; en pleine action <\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L&#8217;adaptation \u00e0 l&#8217;Oric est une r\u00e9ussite car son BASIC est assez complet et rapide et le programme de fait est agr\u00e9able \u00e0 utiliser. Le d\u00e9veloppement sur l&#8217;Oric m&#8217;a exig\u00e9 de me familiariser avec son \u00e9diteur &#8220;\u00e9trange&#8221;, que j&#8217;ai finalement utilis\u00e9 sans probl\u00e8mes majeurs. D&#8217;autre part, j&#8217;ai d\u00e9couvert et commenc\u00e9 \u00e0 maitriser son syst\u00e8me de gestion de la couleur &#8220;particulier&#8221;.  En fonction de ce que vous voulez faire, c&#8217;est complexe et peut limiter le d\u00e9veloppement. Enfin, il est curieux de pouvoir utiliser des caract\u00e8res de double hauteur. Pour r\u00e9sumer, cette &#8220;exp\u00e9rience initiatique&#8221; se poursuivra.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans le chapitre bizarreries de l&#8217;Oric, la fonction CHR a une fonction diff\u00e9rente suivant que vous l&#8217;utilisez dans des lignes PLOT (pour indiquer une couleur)  et PRINT.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour conclure, disons que chaque \u00eatre humain devrait avoir la possibilit\u00e9, ne serait-ce qu&#8217;une fois, d&#8217;utiliser le clavier de l&#8217;ORIC ATMOS qui est un des meilleurs que j&#8217;ai pu utiliser.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je vous invite \u00e0 l&#8217;essayer.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ceobeta.oric.org\/wp-content\/uploads\/2019\/07\/1325718526_35_FT0_lightsout_2_.jpg\" alt=\"\" class=\"wp-image-893\"\/><figcaption>Lights Out sur l&#8217;Oric Atmos de Daniel, une belle adaptation<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Quelques \u00e9l\u00e9ments \u00e0 propos du programme<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Le programme principal est d\u00e9compos\u00e9 en 9 parties : <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>D\u00e9claration de variables, initialisation du jeu et calibrage du stylet.<\/li><li>Impression des marqueurs de jeu.<\/li><li>S\u00e9lecteur de carte correspondant.<\/li><li>Envoi \u00e0 l&#8217;affichage du tableau actuel et du num\u00e9ro de mouvement.<\/li><li>Contr\u00f4le de cl\u00e9.<\/li><li>Contr\u00f4le de l&#8217;investissement des lumi\u00e8res correspondantes.<\/li><li>Inversion d&#8217;une lumi\u00e8re.<\/li><li>Impression du tableau avec les lumi\u00e8res.<\/li><li>Donn\u00e9es des 10 premiers et tableaux de bord et donn\u00e9es d&#8217;aide de la course.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Les variables suivantes sont utilis\u00e9es:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>M$ = Matrice o\u00f9 sont stock\u00e9s les 10 premiers tableaux.<\/li><li> S$ = Cha\u00eene o\u00f9 le tableau actuel est enregistr\u00e9.<\/li><li> A$ = Carte de lumi\u00e8re.<\/li><li> W = Matrice o\u00f9 les premi\u00e8res analyses sont enregistr\u00e9es en cas d\u2019aide.<\/li><li> L = plateau de jeu actuel.<\/li><li> M = num\u00e9ro de mouvement.<\/li><li> H = compteur d&#8217;aide.<\/li><li> F = Lumi\u00e8re \u00e0 inverser, ou boucles<\/li><li> X = position horizontale du pointeur.<\/li><li> Y = Position verticale du pointeur.<\/li><li> P = compteur de lumi\u00e8re.<\/li><li> B = Nombre de lumi\u00e8re qui a \u00e9t\u00e9 press\u00e9e.<\/li><li> N = Nombre de lumi\u00e8re lors de l&#8217;impression du tableau.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Les m\u00e9canismes du jeu original ont \u00e9t\u00e9 condens\u00e9s en seulement 42 lignes de code.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ceobeta.oric.org\/wp-content\/uploads\/2019\/07\/IMAG0593.jpg\" alt=\"\" class=\"wp-image-898\"\/><figcaption>Le code, simple et efficace, r\u00e9sum\u00e9 par Dancresp<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>100 &#8211; D\u00e9finition des matrices du jeu.<\/li><li>110 &#8211; D\u00e9but des variables et charge les lignes DATA dans les matrices.<\/li><li>200 &#8211; Couleurs du jeu, et nous faisons dispara\u00eetre le curseur.<\/li><li>210 &#8211; Impression de titres double format en utilisant les s\u00e9quences &#8220;d&#8217;\u00e9chappement&#8221; correspondantes.<\/li><li>220 &#8211; Copyright au bas de l&#8217;\u00e9cran.<\/li><li>230 &#8211; Impression des textes &#8220;(H) ELP!&#8221; et &#8220;(R) ESET&#8221;.<\/li><li>300 &#8211; Impression de marqueur de niveau.<\/li><li>310 &#8211; Position du pointeur, nombre de mouvements (M) \u00e0 0 et si le niveau est sup\u00e9rieur \u00e0 10, sautez \u00e0 la ligne 330.<\/li><li>320 &#8211; D\u00e9composez les 25 voyants de la matrice (M?) Dans la matrice S? Et r\u00e9glez le compteur d\u2019aides (H) sur 1.<\/li><li>330 &#8211; G\u00e9n\u00e8re une carte de mani\u00e8re al\u00e9atoire et d\u00e9finit le compteur d&#8217;aide sur 3, qui est d\u00e9sactiv\u00e9.<\/li><li>400 &#8211; Imprimez le tableau avec les 25 voyants et s\u2019il n\u2019y en a pas, passez \u00e0 la ligne 300.<\/li><li>410 &#8211; Imprimez le num\u00e9ro de mouvement.<\/li><li>500 &#8211; Imprimez le pointeur sous la lumi\u00e8re correspondante.<\/li><li>510 &#8211; Lisez le clavier. Si une touche est enfonc\u00e9e, supprimez le pointeur mais relisez le clavier.<\/li><li>520 &#8211; Si vous appuyez sur &#8220;O&#8221;, d\u00e9placez le pointeur vers la droite.<\/li><li>530 &#8211; Appuyez sur &#8220;P&#8221; pour d\u00e9placer le pointeur vers la gauche.<\/li><li>540 &#8211; Appuyez sur &#8220;Q&#8221; pour d\u00e9placer le pointeur vers le haut.<\/li><li>550 &#8211; Appuyez sur &#8220;A&#8221; pour d\u00e9placer le pointeur vers le bas.<\/li><li>560 &#8211; Si vous appuyez sur la touche espace, d\u00e9sactivez l&#8217;aide, calculez la lumi\u00e8re s\u00e9lectionn\u00e9e et passez \u00e0 600.<\/li><li>570 &#8211; Si vous appuyez sur &#8220;H&#8221; et que le nombre de mouvements est inf\u00e9rieur \u00e0 3, lancez-vous pour nous.<\/li><li>580 &#8211; Appuyer sur &#8220;R&#8221; r\u00e9initialise le tableau.<\/li><li>590 &#8211; Si vous appuyez sur &#8220;S&#8221;, le curseur s\u2019affiche et vous quittez le programme, mais passe \u00e0 500<\/li><li>600 &#8211; Inverser la lumi\u00e8re sur laquelle il a \u00e9t\u00e9 appuy\u00e9.<\/li><li>610 &#8211; Si la lumi\u00e8re n&#8217;est pas dans la premi\u00e8re rang\u00e9e, inversez la lumi\u00e8re ci-dessus.<\/li><li>620 &#8211; Si le feu ne se trouve pas dans la derni\u00e8re rang\u00e9e, inversez le feu en dessous.<\/li><li>630 &#8211; Si le feu ne se trouve pas dans la derni\u00e8re colonne, inversez le feu \u00e0 droite.<\/li><li>640 &#8211; Si le feu ne se trouve pas dans la premi\u00e8re colonne, inversez le feu \u00e0 gauche.<\/li><li>650 &#8211; Ajoutez un coup (M) et passez \u00e0 400.<\/li><li>700 &#8211; Si le voyant indiqu\u00e9 par F est allum\u00e9 (= 1), d\u00e9finissez-le sur 0 mais sur 1.<\/li><li>710 &#8211; Le sous-programme se termine.<\/li><li>800 &#8211; R\u00e9glez le compteur de lumi\u00e8re (P) sur 0 et N = 1.<\/li><li>810 &#8211; D\u00e9but de la double boucle qui imprime le tableau.<\/li><li>820 &#8211; Si la lumi\u00e8re \u00e0 r\u00e9gler est active, la couleur rouge est activ\u00e9e, mais la couleur blanche est activ\u00e9e.<\/li><li>830 &#8211; Imprimez le fichier \u00e0 la position correspondante. Il a une taille de 3&#215;3.<\/li><li>840 &#8211; Augmentez le nombre de jetons (N) et fermez les boucles.<\/li><li>850 &#8211; Fin du sous-programme.<\/li><li>900 &#8211; Donn\u00e9es des planches. Chaque tableau consiste en une cha\u00eene de 25 chiffres 1 ou 0 indiquant l\u2019\u00e9tat de l\u2019un des voyants. Ensuite, deux nombres correspondant aux 2 premiers cycles que la machine proposera en cliquant sur &#8220;AIDE!&#8221; Sont transmis. S&#8217;il n&#8217;y a pas d&#8217;aide, mettez comme 0,0.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Le Jeu<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">L&#8217;objectif du jeu est d&#8217;\u00e9teindre toutes les lumi\u00e8res rouges sur le plateau de jeu. Nous contr\u00f4lons le pointeur qui appara\u00eet sous l\u2019un des 25 carr\u00e9s du tableau. En appuyant sur Espace, vous modifierez l&#8217;\u00e9tat de ce carr\u00e9 et des 4 carr\u00e9s adjacents ; celui du dessus, du dessous, de droite et de gauche.<br>En appuyant sur la touche &#8220;H&#8221; (HELP), l\u2019ordinateur choisit les 2 premiers mouvements, \u00e0 condition qu\u2019ils soient les premiers. Appuyez sur la touche &#8220;R&#8221; (RESET) pour revenir \u00e0 la position initiale du tableau.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ceobeta.oric.org\/wp-content\/uploads\/2019\/07\/1325718526_35_FT0_lightsout_1_.jpg\" alt=\"\" class=\"wp-image-895\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Le jeu a 10 niveaux pr\u00e9d\u00e9finis, et \u00e0 partir de l\u00e0, l&#8217;ordinateur g\u00e9n\u00e8re des tableaux al\u00e9atoires sans aide disponible<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Quelques autres versions<\/h4>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/ceobeta.oric.org\/wp-content\/uploads\/2019\/07\/lights-out-mo5b.jpg\" alt=\"\" class=\"wp-image-894\" width=\"580\" height=\"397\"\/><figcaption>La version originale de Lights Out cr\u00e9ee par Dan, sur Thomson<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ceobeta.oric.org\/wp-content\/uploads\/2019\/07\/LightsOut_Screen_ZX80-1024x776.png\" alt=\"\" class=\"wp-image-890\"\/><figcaption>A d\u00e9couvrir sur ZX-80<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ceobeta.oric.org\/wp-content\/uploads\/2019\/07\/Lightsout_game.png\" alt=\"\" class=\"wp-image-891\"\/><figcaption>En Hires et plus r\u00e9cente, le Lights Out de Romuald<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Apr\u00e8s quelques softwares d\u00e9velopp\u00e9s sur d&#8217;autres plateformes, ce logiciel marque les d\u00e9buts de Dan Cresp en programmation sur l&#8217;Oric. Produit d\u00e9but 2012, la vision de Dan est exceptionnelle sur cette adaptation. Romuald r\u00e9alisera fin 2018 une nouvelle adaptation de ce jeu de r\u00e9flexion dans le cadre du concours CEO NY2019. G\u00e9n\u00e9ralit\u00e9s Le jeu est une [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":895,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[337,348,22,362],"tags":[662,765],"class_list":["post-882","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-337","category-basic","category-ceomag","category-games","tag-ceomag353","tag-dancresp"],"_links":{"self":[{"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/posts\/882","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/comments?post=882"}],"version-history":[{"count":0,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/posts\/882\/revisions"}],"wp:attachment":[{"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/media?parent=882"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/categories?post=882"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/tags?post=882"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}