{"id":868,"date":"2020-05-01T06:00:00","date_gmt":"2020-05-01T04:00:00","guid":{"rendered":"https:\/\/ceobeta.oric.org\/?p=868"},"modified":"2020-05-01T06:00:00","modified_gmt":"2020-05-01T04:00:00","slug":"solomons-key","status":"publish","type":"post","link":"https:\/\/oric.bqtt.net\/index.php\/2020\/05\/01\/solomons-key\/","title":{"rendered":"Solomon&#8217;s Key"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Le dernier acte (connu \u00e0 ce jour) de la programmation multi-ordinateurs en basic par Dan Cresp, et un coup de chapeau \u00e0 Dom<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Informations g\u00e9n\u00e9rales<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Apr\u00e8s presque quatre ans sans programmer sur l&#8217;ORIC, quand Dan reprend la cr\u00e9ation de soft avec \u00abAverno\u00bb, il est tellement satisfait du r\u00e9sultat qu&#8217;il s&#8217;engage dans un autre projet encore plus complexe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AVERNO a \u00e9t\u00e9 le premier jeu que r\u00e9alis\u00e9 en BASIC par Dan o\u00f9 le protagoniste passe en arri\u00e8re-plan sans d\u00e9fauts d&#8217;affichage. Pour ce faire, Dan a plac\u00e9 la totalit\u00e9 de la zone de jeu dans une matrice texte et d\u00e9place le fant\u00f4me en reconstituant l\u2019arri\u00e8re-plan \u00e0 partir des donn\u00e9es de cette matrice. Le r\u00e9sultat est bon mais le co\u00fbt de cette routine, ainsi que la maintenance de la matrice sont \u00e9lev\u00e9s. Le processus prend environ 10 secondes. Sur le plan graphique, l\u2019utilisation de 3&#215;2 caract\u00e8res lui permettait de r\u00e9aliser des graphismes presque identiques \u00e0 l\u2019original &#8230; monochromes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Par la suite, Dom sur <a href=\"http:\/\/oric-concours.forumactif.org\/\">oric-concours.forumactif.org<\/a>  a am\u00e9lior\u00e9 l&#8217;apparence du jeu en utilisant une propri\u00e9t\u00e9 des attributs de couleur de l&#8217;\u00e9cran permettant d&#8217;afficher les couleurs compl\u00e9mentaires des couleurs principales. Il a \u00e9galement am\u00e9lior\u00e9 la composition du niveau en enregistrant les \u00e9crans. Et pour simplifier l&#8217;ensemble, il a transf\u00e9r\u00e9 le logiciel sur une disquette. L&#8217;on doit admettre que la version s\u2019est am\u00e9lior\u00e9e et que son apparence est meilleure. Bravo !!!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Avec Solomon&#8217;s Key, Dan va un cran plus loin dans la conception de l&#8217;\u00e9cran.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/SolomonsKey_Screen1.png\" alt=\"\" class=\"wp-image-2947\"\/><figcaption>Un \u00e9cran titre all\u00e9chant !<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sprites<\/strong><br>Cette fois, Dan a voulu exp\u00e9rimenter une utilisation am\u00e9lior\u00e9e des \u00absprites\u00bb, sans avoir \u00e0 monter l&#8217;usine \u00e0 gaz de la matrice \u00e9cran, et ins\u00e9rer directement des valeurs 16 bits dans la m\u00e9moire vid\u00e9o \u00e0 l\u2019aide de l\u2019instruction DOKE, qui affecte l&#8217;adresse de m\u00e9moire indiqu\u00e9e et la suivante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dan n&#8217;avait pas r\u00e9ussi \u00e0 mettre en oeuvre ce processus auparavant m\u00eame si au final, il est assez simple. Bri\u00e8vement, chaque image-objet a une taille de 2&#215;2 caract\u00e8res. Avant de placer une image-objet \u00e0 l&#8217;\u00e9cran, Dan enregistre la valeur de 2&#215;2 caract\u00e8res o\u00f9 elle sera ins\u00e9r\u00e9e dans deux variables num\u00e9riques. Ceci est fait avec un DEEK, qui est un PEEK 16 bits (\u00e0 l&#8217;image du DOKE qui est un POKE 16 bits). La position de l&#8217;image-objet est une adresse m\u00e9moire et non deux coordonn\u00e9es. Avec deux DOKE, il copie rapidement le sprite sur l&#8217;\u00e9cran. Avant de le d\u00e9placer, Dan remplace l\u2019arri\u00e8re-plan \u00e0 la position correspondante \u00e0 partir de la valeur stock\u00e9e dans la variable num\u00e9rique, modifie la position de l\u2019image-objet, enregistre l\u2019arri\u00e8re-plan dans la variable, puis le place dans la nouvelle position \u00e0 l\u2019aide des deux cl\u00e9s. Le r\u00e9sultat est l\u00e0, efficace.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>L&#8217;\u00e9cran<\/strong><br>Sur ZX-Spectrum, le jeu original a une largeur d&#8217;\u00e9cran de 32 caract\u00e8res. Deux pour les marges et 15 blocs de 2&#215;2 caract\u00e8res. Pour que cette version ait le m\u00eame aspect, Dan aurais d\u00fb utiliser des blocs 3&#215;2, mais avec l&#8217;ORIC, il est limit\u00e9 \u00e0 38 colonnes, loin de son besoin de 47. De fait, Dan a \u00e9t\u00e9 contraint \u00e0 r\u00e9duire la taille des sprites \u00e0 2&#215;2. De plus, les caract\u00e8res de l&#8217;Oric font 6 pixels au lieu des 8 habituels. L&#8217;aspect final est de fait moins fouill\u00e9, mais avec des graphiques rapides mis en oeuvre avec les 2 DOKE. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comme la largeur de l&#8217;\u00e9cran comporte plus de caract\u00e8res, Dan a plac\u00e9 une colonne de blocs des deux c\u00f4t\u00e9s de l&#8217;\u00e9cran et une colonne inf\u00e9rieure. Cela l&#8217;a \u00e9galement aid\u00e9 \u00e0 contr\u00f4ler le d\u00e9placement des \u00e9l\u00e9ments mobiles du jeu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans le code, sur les lignes 440 \u00e0 455, trois lignes calculent quel bloc de fond doit \u00eatre plac\u00e9 dans une zone de l\u2019\u00e9cran quand un bloc bleu est supprim\u00e9, et lorsque l\u2019on prend la cl\u00e9 ou une pi\u00e8ce de monnaie, ou encore quand un ennemi frappe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Graphiques<\/strong><br>Le jeu de caract\u00e8res ORIC ne comporte que 128 caract\u00e8res. Dan souhaitait conserver les lettres, les chiffres et certains caract\u00e8res sp\u00e9ciaux, Il a donc red\u00e9fini le minimum de blocs graphiques possibles. L&#8217;utilisation de deux caract\u00e8res en largeur de bloc au lieu de trois a contribu\u00e9 \u00e0 cet objectif. L&#8217;impact principal de ces options a \u00e9t\u00e9 la suppression du mouvement de jambes de notre personnage ; mais cela a \u00e9galement permis de simplifier quelque peu le code et \u00e0 am\u00e9liorer les performances. Dan peut toujours tout montrer avec deux simples DOKE.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Et comme toujours avec les programmes d\u00e9velopp\u00e9s par Dan sur ORIC, les graphiques ont d\u00fb \u00eatre redessin\u00e9s par rapport \u00e0 la version initiale car au lieu de la matrice habituelle de 8&#215;8 pixels, nous passons \u00e0 une matrice 8&#215;6 soit 12 pixels horizontaux au lieu des 16 habituels.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Les couleurs &#8230; encore un probl\u00e8me<\/strong> !<br>En raison de la fa\u00e7on dont l&#8217;Oric g\u00e8re les attributs, Dan a choisi de cr\u00e9er Solomon&#8217;s Key en monochrome, avec un peu de couleur dans la pr\u00e9sentation et dans les marqueurs. Pour mettre en \u00e9vidence les briques que nous pouvons d\u00e9truire, Dan a appliqu\u00e9 la technique consistant \u00e0 utiliser les couleurs compl\u00e9mentaires des deux couleurs principales en ajoutant 128 au code ASCII du personnage (les caract\u00e8res invers\u00e9s). permettant d&#8217;afficher 4 couleurs sur l&#8217;\u00e9cran de jeu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>L&#8217;encodage des niveaux<\/strong><br>A ce stade, nous arrivons \u00e0 la cr\u00e9ation de l&#8217;\u00e9cran. Chaque \u00e9cran est constitu\u00e9 d\u2019une matrice de 12 lignes et de 15 colonnes. Dans chaque colonne se trouve un tableau de caract\u00e8res 2&#215;2, tel que des blocs de pierre, des portes, des cl\u00e9s ou des pi\u00e8ces de monnaie. Dan a choisi de coder les niveaux en utilisant un format similaire \u00e0 \u00abAverno\u00bb simplifi\u00e9. <br>La pr\u00e9sentation du niveau prend environ 6 secondes et le codage est effectu\u00e9 comme suit:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Une lettre entre \u201cA\u201d et \u201cZ\u201d a une valeur comprise entre 1 et 26 et correspond aux blocs de pierre \u00e0 afficher. Alternativement, ils apparaissent en jaune ou en bleu.<\/li><li>Un caract\u00e8re &#8220;*&#8221; signifie qu&#8217;il modifie le type de bloc de pierre indiqu\u00e9, bleu ou jaune.<\/li><li>Une lettre entre \u201ca\u201d et \u201cz\u201d a une valeur comprise entre 1 et 26 et correspond \u00e0 des blocs vides de 2&#215;2.<\/li><li>Un caract\u00e8re &#8220;.&#8221; D\u00e9signe un bout de la ligne en sautant au suivant.<\/li><li>Un caract\u00e8re num\u00e9rique correspond \u00e0 un objet: <ul><li>2 portes, <\/li><li>3 cl\u00e9s, <\/li><li>4 devises, <\/li><li>6 t\u00eates et <\/li><li>7 canaux. <\/li><li>1, et 5 correspondent aux blocs de pierre jaune et bleue.<\/li><\/ul><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2020\/03\/Screen_Code.png\" alt=\"\" class=\"wp-image-2954\"\/><figcaption>Un \u00e9cran de jeu de Solomon&#8217;s Key, avec l&#8217;aper\u00e7u de son encodage graphique<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Le contr\u00f4le du personnage<\/strong><br>Une des premi\u00e8res difficult\u00e9s \u00e0 r\u00e9soudre avant de commencer \u00e0 d\u00e9velopper le jeu \u00e9tait de savoir comment g\u00e9rer les diff\u00e9rents mouvements et actions que le joueur pouvait faire. La programmation du jeu en Basic prend en compte l&#8217;impossibilit\u00e9 d&#8217;appuyer sur plusieurs touches simultan\u00e9ment.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Appuyez sur &#8220;Z&#8221; et &#8220;X&#8221; pour d\u00e9placer le magicien \u00e0 gauche ou \u00e0 droite.<\/li><li>En appuyant sur &#8220;P&#8221; nous sautons. S&#8217;il y a un bloc au-dessus, nous le cassons. Sinon, nous pouvons augmenter la hauteur d&#8217;un bloc. Si pendant que nous sautons, nous appuyons sur une fl\u00e8che, nous irons dans cette direction.<\/li><li>En appuyant sur &#8220;L&#8221; nous ins\u00e9rons ou supprimons un bloc bleu. Si nous sommes juste au-dessus d&#8217;un bloc, nous le placerons devant et si nous ne le pla\u00e7ons pas au niveau du sol.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Les Ennemis<\/strong><br>Contrairement au jeu &#8220;Averno&#8221;, dans ce &#8220;Solomon&#8217;s Key&#8221;, il y a des ennemis et ils bougent !<br>Dan a mis en place une routine tr\u00e8s basique qui permet de d\u00e9placer jusqu&#8217;\u00e0 cinq ennemis avec deux vitesses diff\u00e9rentes (des d\u00e9placements de un ou deux caract\u00e8res), leur d\u00e9placement est horizontal ou vertical, et simule l&#8217;effet de rebond ou non lorsque vous touchez un mur, en d\u00e9truisant les blocs bleus touch\u00e9es. Le tout en sept lignes de code !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le type de mouvement de l&#8217;ennemi et sa position initiale sont d\u00e9finis dans les DATA de la ligne 9600. Chaque ennemi requiert trois caract\u00e8res : <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>le premier indique le type <\/li><li>les deux autres la position initiale horizontale et verticale. Pour les positions, Dan utilise des lettres afin d&#8217;indiquer des valeurs sup\u00e9rieures \u00e0 un chiffre avec un seul caract\u00e8re.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La routine de mouvement contr\u00f4le le nombre d&#8217;ennemis dans ce niveau. Moins il y a d&#8217;ennemis, plus ils se d\u00e9placent fr\u00e9quemment et rapidement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les sprites des ennemis se d\u00e9placent \u00e9galement sur le fond sans le supprimer. Comme pour le sprite du protagoniste, la technique de sauvegarde du personnage qui \u00e9tait \u00e0 l&#8217;\u00e9cran avant d&#8217;utiliser l&#8217;ennemi sur l&#8217;\u00e9cran a \u00e9t\u00e9 utilis\u00e9e. Lorsqu&#8217;il se d\u00e9place, il reconstitue l&#8217;arri\u00e8re-plan, sa nouvelle position est recalcul\u00e9e, puis le graphique de l&#8217;ennemi est plac\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>R\u00e9sultat final<\/strong><br> En ce qui concerne la vitesse, l\u2019ORIC BASIC pourrait \u00eatre plac\u00e9 dans le milieu de gamme des ordinateurs 8 bits. C&#8217;est l&#8217;un des plus rapides en impression \u00e0 l&#8217;\u00e9cran, mais pour le reste, ce serait au niveau du MSX ou du ZX-Spectrum. Des ordinateurs tels que l\u2019Amstrad CPC impriment tr\u00e8s lentement \u00e0 l\u2019\u00e9cran mais plus rapidement, en parall\u00e8le avec des ordinateurs tels que BBC Micro \/ Electron ou Lynx Camputers. La gamme basse reste pour le ZX-81 et surtout, le Texas Instruments TI \/ 99-4A qui mange s\u00e9par\u00e9ment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Apr\u00e8s toutes ces briques, je dois admettre que, malgr\u00e9 les limites impos\u00e9es par ORIC BASIC, de par son apparence et ses performances, je suis tr\u00e8s satisfait. Cela ressemble \u00e0 un jeu commercial, mais c&#8217;est du BASIC pur et dur. Je pense que ce n&#8217;est pas habituel de regarder des programmes en BASIC comme celui-ci. Je pense que j&#8217;ai plac\u00e9 la barre tr\u00e8s haut, mais avec l&#8217;exp\u00e9rimentation de ces techniques, je suis s\u00fbr que je ferai autre chose bient\u00f4t. En fait, au fond de moi, j&#8217;ai d\u00e9j\u00e0 l&#8217;id\u00e9e d&#8217;adapter un classique qui n&#8217;existe pas dans ORIC.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eh bien, rien de plus, je ne peux qu\u2019esp\u00e9rer que cela vous plaise \u2026<\/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 size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2020\/03\/SolomonsKey_Screen2.png\" alt=\"\" class=\"wp-image-2956\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2020\/03\/SolomonsKey_Screen3.png\" alt=\"\" class=\"wp-image-2957\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2020\/03\/SolomonsKey_Screen4.png\" alt=\"\" class=\"wp-image-2958\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Quelques \u00e9l\u00e9ments concernant le programme <\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">La routine principale du programme est divis\u00e9e en 10 blocs:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>D\u00e9claration des variables et matrices et d\u00e9but du jeu.<\/li><li>Boucle principale de d\u00e9veloppement.<\/li><li>Mouvement des ennemis.<\/li><li>Mouvement du protagoniste.<\/li><li>Routines des actions du protagoniste.<\/li><li>Passer le niveau ou perdre une vie.<\/li><li>Routine pour montrer le niveau de jeu.<\/li><li>Pr\u00e9sentation et d\u00e9but du jeu.<\/li><li>Charger UDG.<\/li><li>DATA avec les UDG du jeu et les valeurs de la matrice.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">L&#8217;ensemble du programme occupe 170 lignes dont vous trouverez ci-dessous les principales : <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>5 &#8211; Nous d\u00e9finissons les variables du jeu.<\/li><li> 10 &#8211; Nous d\u00e9finissons les matrices du jeu.<\/li><li> 20 &#8211; Passez au sous-programme qui red\u00e9finit les caract\u00e8res et d\u00e9finit les variables globales.<\/li><li> 40 &#8211; Afficher le niveau \u00e0 l&#8217;\u00e9cran.<\/li><li> 100 &#8211; REPEAT indiquant le d\u00e9but de la boucle principale.<\/li><li> 105 &#8211; V\u00e9rifiez si nous sautons.<\/li><li> 110 &#8211; Si nous n&#8217;avons pas de terre sous nos pieds, le personnage tombe.<\/li><li> 115 &#8211; Prenez la touche appuy\u00e9e.<\/li><li> 120 &#8211; Touche de saut.<\/li><li> 125 &#8211; Bloquer la touche marche \/ arr\u00eat.<\/li><li> 130 &#8211; Touche de d\u00e9placement \u00e0 droite.<\/li><li> 135 &#8211; Touche de d\u00e9placement gauche.<\/li><li> 140 &#8211; V\u00e9rifiez si le personnage frappe \u00e0 la porte, \u00e0 la cl\u00e9 ou \u00e0 la pi\u00e8ce de monnaie.<\/li><li> 150 &#8211; Aller au sous-programme de mouvement ennemi.<\/li><li> 155 &#8211; Retournez \u00e0 REPEAT si la variable U = 0.<\/li><li> 160 &#8211; Lorsque vous quittez la boucle, regardez la valeur de U. U = -1 niveau et U = 2 perd une vie.<\/li><li> 200 &#8211; D\u00e9place le fant\u00f4me vers la droite.<\/li><li> 225 &#8211; D\u00e9place le fant\u00f4me vers la gauche.<\/li><li> 300 &#8211; Contr\u00f4le la chute du personnage.<\/li><li> 320 &#8211; D\u00e9tecte quel objet tu as sous le personnage.<\/li><li> 350 &#8211; Routine de saut.<\/li><li> 400 &#8211; Mettre \/ enlever le bloc.<\/li><li> 440 &#8211; Routine de remplacement en arri\u00e8re-plan lors de la pose, de la suppression d&#8217;un bloc ou de la saisie d&#8217;un objet.<\/li><li> 500 &#8211; Routine pour passer un niveau.<\/li><li> 550 &#8211; Programme de perte de vie et fin du jeu.<\/li><li> 600 &#8211; Montre les marqueurs de points, de niveau et de vies.<\/li><li> 2000 &#8211; Routine qui montre le niveau. Les donn\u00e9es sont encod\u00e9es dans la matrice M $.<\/li><li> 2050 &#8211; D\u00e9finissez le type, la vitesse et la direction des ennemis et placez-les \u00e0 l&#8217;\u00e9cran.<\/li><li> 2500 &#8211; \u00c9cran de pr\u00e9sentation.<\/li><li> 3000 &#8211; S\u00e9lection des couleurs, effacement de l\u2019\u00e9cran, masquage du curseur et masquage des \u00abCAPS\u00bb sup\u00e9rieurs.<\/li><li> 3005 &#8211; Lecture de donn\u00e9es UDG.<\/li><li> 3010 &#8211; D\u00e9finir des variables avec des bandes de caract\u00e8res.<\/li><li> 9000 &#8211; DATA avec graphes, positions, blocs de graphes et codage de niveau UDG.<\/li><li> 9200 &#8211; Blocs graphiques utilis\u00e9s par l&#8217;instruction DOKE.<\/li><li> 9300 &#8211; Position initiale du caract\u00e8re en fonction de l&#8217;\u00e9cran.<\/li><li> 9500 &#8211; Donn\u00e9es de niveau.<\/li><li> 9600 &#8211; Donn\u00e9es avec les types et la position des ennemis.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Le Jeu !<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Solomon\u2019s Key est un jeu publi\u00e9 par Tecmo en 1986 et conc\u00e9d\u00e9 sous licence pour diff\u00e9rents syst\u00e8mes \u00e0 partir de 1987. US Gold a command\u00e9 les versions 8 bits du jeu.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2020\/03\/cover-solomon-s-key.jpg\" alt=\"\" class=\"wp-image-2949\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Le jeu est de type plates-formes avec une pinc\u00e9e de jeu de strat\u00e9gie. Nous y contr\u00f4lons un petit sorcier qui doit saisir une cl\u00e9 et sortir pour monter de niveau. Le magicien a la capacit\u00e9 de cr\u00e9er et de d\u00e9truire des blocs bleus qui lui permettront d\u2019atteindre la cl\u00e9. Chaque niveau est plein d&#8217;ennemis qui te tueront au moindre contact. Le petit sorcier part avec 5 vies.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La version d\u00e9velopp\u00e9e par Dan utilise les m\u00eames m\u00e9canismes que le jeu original avec les 17 \u00e9crans de la version ZX-Spectrum, qui sont r\u00e9p\u00e9t\u00e9s ind\u00e9finiment. Le mouvement des ennemis est adapt\u00e9 aux limitations du BASIC.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contr\u00f4les : <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>D\u00e9placez l&#8217;assistant \u00e0 gauche ou \u00e0 droite avec &#8220;Z&#8221; et &#8220;X&#8221;.<\/li><li>Appuyez sur &#8220;L&#8221; pour cr\u00e9er ou d\u00e9truire un bloc bleu. Selon votre position, il sera cr\u00e9\u00e9 devant vous \u00e0 votre hauteur ou \u00e0 une hauteur inf\u00e9rieure.<\/li><li>Appuyez sur &#8220;P&#8221; pour sauter, avec en plus la possibilit\u00e9 de contr\u00f4ler la direction en appuyant sur &#8220;Z&#8221; ou &#8220;X&#8221;. Si vous avez un bloc en haut, vous le d\u00e9truisez d&#8217;un coup de t\u00eate.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Comparons &#8230;<\/h4>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2020\/03\/SolomonsKey_Atmos-Spectrum.png\" alt=\"\" class=\"wp-image-2948\"\/><figcaption>Comparaison des versions Oric-Atmos et ZX-Spectrum<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le dernier acte (connu \u00e0 ce jour) de la programmation multi-ordinateurs en basic par Dan Cresp, et un coup de chapeau \u00e0 Dom Informations g\u00e9n\u00e9rales Apr\u00e8s presque quatre ans sans programmer sur l&#8217;ORIC, quand Dan reprend la cr\u00e9ation de soft avec \u00abAverno\u00bb, il est tellement satisfait du r\u00e9sultat qu&#8217;il s&#8217;engage dans un autre projet encore [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2947,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[348,362],"tags":[670,765],"class_list":["post-868","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-basic","category-games","tag-ceomag360","tag-dancresp"],"_links":{"self":[{"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/posts\/868","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=868"}],"version-history":[{"count":0,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/posts\/868\/revisions"}],"wp:attachment":[{"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/media?parent=868"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/categories?post=868"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/tags?post=868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}