如何解决在正确的输出上更改颜色
我希望在收到正确的加密或解密信息后(用户在密钥字段中输入1到26之间的数字并按加密/解密时,或者当他得到的输出不同于“未定义”序列)。这可能吗?如果是这样,我该怎么办? 谢谢
let inps = [];
let buttons = [];
let alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
let backImage;
function preload (){
backImage = loadImage('images/back.jpg')
}
function setup() {
createCanvas(600,600);
// Type here your plain or encryted message
inps.push(createElement('textarea'));
inps[0].position(20,70);
inps[0].size(550,150);
inps[0].style('background','#3C3C3B');
inps[0].style('color','#ffffff');
// Key
inps.push(createInput(' Insert number from 1 to 26'));
inps[1].position(20,290);
inps[1].size(200,20);
inps[1].style('background','#3C3C3B');
inps[1].style('color','#ffffff');
// Encrypted / Decrypted message
inps.push(createElement('textarea'));
inps[2].position(20,370);
inps[2].size(550,150);
inps[2].style('background','#3C3C3B');
inps[2].style('color','#ffffff');
buttons.push(createButton('Encrypt'));
buttons[0].position(370,275);
buttons[0].size(100,50);
buttons[0].mousePressed(encrypt);
buttons.push(createButton('Decrypt'));
buttons[1].position(475,275);
buttons[1].size(100,50);
buttons[1].mousePressed(decrypt);
noStroke();
}
function draw() {
background(backImage);
fill(255)
text('Type here your plain or encryted message',20,60);
text('Encrypted / Decrypted message',360);
text('Key',280);
light()
blinkRed()
// blinkGreen()
}
function light(){
for (let x = 0; x < 3; x++){
noStroke();
fill(255)
ellipse(25*x+510,30,20);
}
}
function blinkRed(){
for (let i = 0; i < 3; i++){
noStroke();
if(frameCount % 60 < 30) {
fill(50);
} else {
fill(255,0)
}
ellipse(25*i+510,15);
}
}
// function blinkGreen(){
// for (let i = 0; i < 3; i++){
// noStroke();
// if(frameCount % 60 < 30 && buttons[0].mousePressed) {
// fill(50);
// } else {
// fill(0,255,0)
// ellipse(25*i+510,15);
// }
// }
// }
function encrypt() {
const initial = inps[0].value().toUpperCase();
const shift = int(inps[1].value()) % 26;
let output = '';
for (let i = 0; i < initial.length; i++) {
if (alphabet.includes(initial[i])) {
output += alphabet[(alphabet.indexOf(initial[i]) + shift + 26) % 26];
} else {
output += initial[i];
}
}
inps[2].value(output);
}
function decrypt() {
const initial = inps[0].value().toUpperCase();
const shift = int(inps[1].value());
let output = '';
for (let i = 0; i < initial.length; i++) {
if (alphabet.includes(initial[i])) {
output += alphabet[(alphabet.indexOf(initial[i]) - shift + 26) % 26];
} else {
output += initial[i];
}
}
inps[2].value(output);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。