Étape 15 : Pergramin... porgammin... pregram... CODAGE
Le code réel est aussi incroyablement messy stuff.
Le principal problème est que j’ai essayé de simuler l’électronique analogique-ère. Il existe toutes sortes de séquences où il veut faire disparaître une lumière, ou un flash deux fois puis pause, ou alors quelque chose d’autre qui nécessite élaborées de chronométrage.
Et plusieurs appels « delay() » ne le feront pas. Autant que le mécanisme d’entraînement doit être continuellement actualisées en ordre pour réellement afficher mots et numéros. (De plus, il y a un niveau d’interaction--l’utilisateur doit être en mesure de frapper des boutons ou interrupteurs à tout moment--qui empêche le logiciel assis dans une boucle fermée ou delay() pendant plusieurs cycles d’horloge).
La réponse est une espèce primitive de RTOS--système d’exploitation temps réel. Dans essentials, j’ai eu des compteurs fonctionnant en permanence en arrière-plan, était donc en mesure de parcourir la boucle entière main() continuellement. Événements auraient lieu lors de diverses valeurs de compteur ont été atteints, et drapeaux ont été déclenché.
Tel qu’il est présenté à l’utilisateur, la CBR a cinq paramètres ;
HORS
Mode d’essai
ON
SUR (alarme silencieuse)
Traiter les
Dans le cadre de « Treat », le capteur de capacité était actif. Si l’utilisateur a brossé le port de traitement (en fait, une LED bleue dans une lunette chromée astucieuse, que j’ai trouvé chez AllElectronics) un moteur de vibration irait en bref, la lumière flash, et l’affichage ne changerait pour lire le nombre de doses à gauche avant le remplissage serait nécessaire.
Dans le cadre de « Test », en appuyant sur le bouton tout usage serait flash toutes les lumières deux fois en jouant un peu « chirp ». Si l’utilisateur laissé en « Test » pendant environ quinze secondes, il entrerait automatiquement ce qui a été affiché comme « Self Test. » Elle affiche différents nombres aléatoires générés avec les préfixes alpha cryptiques et puis conclure en environ deux minutes en clignotant « Bon Test. »
(Ou, plutôt, en affichant quelque chose comme « 7E57 g00d »--il s’agissait d’un afficheur 7 segments, après tout!)
Le réglage de l’argent a été le réglage ON/silencieux. Dans le jeu, dans le monde, cela signifie que l’appareil a été activement renifler pour menaces chimiques, biologiques ou radiologiques qui étaient supérieures à un seuil prédéfini, à quel point cela sonnerait une alarme (et des informations de base présentes sur la nature de la menace). Il suggère même que la menace était l’un pour lequel les six doses d’antidote intégré serait appropriés.
Pour l’hélice, si vous déteniez la touche enfoncée tout usage, elle entrerait un mode « simulation de menace », dans lequel il irait à travers toutes les étapes de sonner l’alarme et indiquant qu’il avait déclenché.
A cette époque, je recevais un peu ridicule, et la liste des éventuelles menaces simulées de CB affichée était la suivante :
SARIN, CHOLÉRA, TYPHUS, VARIOLE, TULARMIA, NOVICHOK,
BUFOTOXN, RICINE, BOLUNIN, MARBURG, EBOLA, ARSINE,
PHOSGÈNE, CHLORE, BROME, CYANURE, ANTHRAX,
SPECTROX, C DEIMOS, IOCANE
Ce qui fait la liste et ce qui n’a pas été guidé tant par ce qui pourrait s’adapter à 8 caractères et ressemblent à un langage humain lorsque affichée sur un afficheur 7 segments, comme c’était de quoi que ce soit en étant logique ou même historique. La liste de menace radiologique a été similaire, y compris les rayons gamma et Carolinium (pour vous les fans de HG Wells).
Dans le jeu, le plus petit bouton est censé pour régler la sensibilité de l’écran pour le moniteur menace radiologique, c’est pourquoi il est marqué en milliseiverts par heure (approximatif!). Et, oui, REM aurait été plus période, mais « mSv » refroidisseur regarda et fit dans l’espace mieux.