$$$$ @PALETTE * @PALETTE PROCEDUR BP208322 20/07/02 21:15:02 10633 ************************************************************************** * Procedure qui construit une palette de noms de couleurs Cast3M * differentes pour leur utilisation dans des evolutions (par exemple) * * Syntaxe : * --------- * LMOT1 = @PALETTE NCOUL1 ( MOT1 ); * * Entrée : * --------- * NCOUL1 : nombre de couleurs (type ENTIER) compris entre 1 et 20 * (MOT1) : mot optionnel pour preciser le type de palette * qu'on souhaite utiliser parmi : * - 'ARCENCIEL' (valeur par defaut) * - 'HIVER' --> todo * - 'AUTOMNE' --> todo * * Sortie : * --------- * LMOT1 : LISTMOTS compose de NCOUL couleurs differentes. * * Creation/modifs : * ----------------- * BP, 2020/07/01 * ************************************************************************** DEBPROC @PALETTE NCOUL1*'ENTIER' MOT1/'MOT' ; ************************************************************************** * VERIFICATION DES ARGUMENTS ************************************************************************** * NOMBRE DE COULEURS SI (NCOUL1 < 0) ; ERRE 36 'AVEC' NCOUL1; FINSI ; SI (NCOUL1 > 20) ; ERRE 36 'AVEC' NCOUL1; FINSI ; * PALETTE CHOISIE SI (NEG (TYPE MOT1) (MOT 'MOT')); MOT1 = MOT 'ARCENCIEL'; FINSI; palok = (EGA MOT1 'ARCENCIEL') ; * OU (EGA MOT1 'HIVER') * OU (EGA MOT1 'AUTOMNE'); SI (NON palok); ERRE 'NOM DE PALETTE INCONNU'; QUIT @PALETTE; FINSI; * CAS SPECIAUX SI (NCOUL1 EGA 0) ; LMOT1 = MOTS ; QUIT @PALETTE; FINSI; SI (NCOUL1 EGA 1) ; LMOT1 = MOTS 'DEFA' ; QUIT @PALETTE; FINSI; ************************************************************************** * ARCENCIEL ************************************************************************** SI (EGA MOT1 'ARCENCIEL'); SI (EGA NCOUL1 2); LMOT1 = MOTS 'AZUR' 'ROUG'; FINSI; SI (EGA NCOUL1 3); LMOT1 = MOTS 'AZUR' 'VERT' 'ROUG' ; FINSI; SI (EGA NCOUL1 4); LMOT1 = MOTS 'AZUR' 'VERT' 'ORAN' 'ROUG' ; FINSI; SI (EGA NCOUL1 5); LMOT1 = MOTS 'BLEU' 'AZUR' 'VERT' 'ORAN' 'ROUG' ; FINSI; SI (EGA NCOUL1 6); LMOT1 = MOTS 'BLEU' 'AZUR' 'VERT' 'OR' 'ORAN' 'ROUG' ; * LMOT1 = MOTS 'BLEU' 'AZUR' 'TURQ' 'VERT' 'ORAN' 'ROUG' ; FINSI; SI (EGA NCOUL1 7); LMOT1 = MOTS 'BLEU' 'AZUR' 'TURQ' 'VERT' 'OR' 'ORAN' 'ROUG' ; FINSI; SI (EGA NCOUL1 8); LMOT1 = MOTS 'MARI' 'BLEU' 'AZUR' 'TURQ' 'VERT' 'OR' 'ORAN' 'ROUG' ; FINSI; SI (EGA NCOUL1 9); LMOT1 = MOTS 'MARI' 'BLEU' 'AZUR' 'TURQ' 'VERT' 'OR' 'ORAN' 'ROUG' 'BRUN' ; FINSI; SI (EGA NCOUL1 10); LMOT1 = MOTS 'VIOL' 'MARI' 'BLEU' 'AZUR' 'TURQ' 'VERT' 'OR' 'ORAN' 'ROUG' 'BRUN' ; FINSI; SI (EGA NCOUL1 11); LMOT1 = MOTS 'VIOL' 'MARI' 'BLEU' 'AZUR' 'TURQ' 'VERT' 'OR' 'ORAN' 'CORA' 'ROUG' 'BRUN' ; FINSI; SI (EGA NCOUL1 12); LMOT1 = MOTS 'VIOL' 'MARI' 'BLEU' 'AZUR' 'CYAN' 'TURQ' 'VERT' 'OR' 'ORAN' 'CORA' 'ROUG' 'BRUN' ; FINSI; SI (EGA NCOUL1 13); LMOT1 = MOTS 'VIOL' 'MARI' 'BLEU' 'AZUR' 'CYAN' 'TURQ' 'VERT' 'OR' 'ORAN' 'CORA' 'ROUG' 'BRIQ' 'BRUN' ; FINSI; SI (EGA NCOUL1 14); LMOT1 = MOTS 'VIOL' 'MARI' 'BLEU' 'AZUR' 'CYAN' 'TURQ' 'VERT' 'LIME' 'OR' 'ORAN' 'CORA' 'ROUG' 'BRIQ' 'BRUN' ; FINSI; SI (EGA NCOUL1 15); LMOT1 = MOTS 'VIOL' 'MARI' 'BLEU' 'AZUR' 'CYAN' 'TURQ' 'VERT' 'LIME' 'JAUN' 'OR' 'ORAN' 'CORA' 'ROUG' 'BRIQ' 'BRUN' ; FINSI; SI (EGA NCOUL1 16); LMOT1 = MOTS 'VIOL' 'INDI' 'MARI' 'BLEU' 'AZUR' 'CYAN' 'TURQ' 'VERT' 'LIME' 'JAUN' 'OR' 'ORAN' 'CORA' 'ROUG' 'BRIQ' 'BRUN' ; FINSI; SI (EGA NCOUL1 17); LMOT1 = MOTS 'ROSE' 'VIOL' 'INDI' 'MARI' 'BLEU' 'AZUR' 'CYAN' 'TURQ' 'VERT' 'LIME' 'JAUN' 'OR' 'ORAN' 'CORA' 'ROUG' 'BRIQ' 'BRUN' ; FINSI; SI (EGA NCOUL1 18); LMOT1 = MOTS 'ROSE' 'VIOL' 'INDI' 'MARI' 'BLEU' 'AZUR' 'CYAN' 'TURQ' 'VERT' 'LIME' 'JAUN' 'OR' 'ORAN' 'CORA' 'ROUG' 'BRIQ' 'BRUN' 'CARA'; FINSI; SI (EGA NCOUL1 19); LMOT1 = MOTS 'ROSE' 'VIOL' 'INDI' 'MARI' 'BLEU' 'AZUR' 'CYAN' 'TURQ' 'VERT' 'LIME' 'JAUN' 'OR' 'ORAN' 'CORA' 'ROUG' 'BRIQ' 'BRUN' 'CARA' 'BEIG'; FINSI; SI (EGA NCOUL1 20); LMOT1 = MOTS 'PEAU' 'ROSE' 'VIOL' 'INDI' 'MARI' 'BLEU' 'AZUR' 'CYAN' 'TURQ' 'VERT' 'LIME' 'JAUN' 'OR' 'ORAN' 'CORA' 'ROUG' 'BRIQ' 'BRUN' 'CARA' 'BEIG' ; FINSI; FINSI; FINPROC LMOT1;