Ich will ein Taschenrechner auf v3 mini Calliope machen. Aber bei Javascript, meine zwei Operanden statt warten, machen nacheinander. Will aber, damit die erstmal erste sich erstellt, dann yweite. Bin neue bei Calliope, deswegen dachte, dass es eine solche Sache dafür gibt, aber habe nicht gefunden.
Das Problem am Line 97,98.
Hier ist mein Code:
let first_led = 0xff0000;
let second_led = 0xffff00;
let third_led = 0x42ff00;
const time = 100;
const speed = 40;
const map = [first_led,second_led,third_led];
const operations = ['+','-','*','/'];
function start() {
basic.showString("Starting...", speed + 10);
carusel();
basic.showString("Ready to use", speed + 20);
}
function carusel(){
let itr = 0, number = 0;
for(;itr !=52;++itr) {
basic.setLedColorsCodal(map[number], map[number+1], map[number+2], 100);
number < -2 ? number = 2 : number -= 1;
basic.pause(time);
}
basic.setLedColor(0x42ff00);
basic.pause(time*2.3);
basic.setLedColor(0);
basic.pause(time*2.3);
basic.setLedColor(0x42ff00);
basic.pause(time*1.5);
basic.setLedColor(0);
}
function operand(): number{
let number =1;
let y=0,x=0;
basic.showString("Press A to add 1 to your number",speed);
basic.showString("Press B to stop",speed);
input.onButtonEvent(Button.A,input.buttonEventClick(),function(){
led.toggle(x,y)
input.onButtonPressed(Button.A, function(){
++number;
if (x == 4) { y += 1; x = 0 }
else { ++x; }
led.toggle(x, y);
input.onButtonPressed(Button.B, function(){basic.showNumber(number); return number;});
});
});
return number;
}
//Starting point for calliope
start();
input.onGesture(Gesture.Shake, function onshake() {
let number: number =0;
let operand_first =0;
let operand_second =0;
let summ =0;
basic.showString("Functions. Press B to select",speed/2);
basic.showString("Math",speed);
input.onButtonEvent(Button.B, input.buttonEventClick(), function() {
basic.showString("Press A to pick operand", speed/2);
input.onButtonPressed(Button.A,function(){
number = 0;
basic.showLeds(`
. . . . .
. . # . .
. # # # .
. . # . .
. . . . .`);
input.onButtonPressed(Button.A, function (){
++number;
basic.showLeds(`
. . . . .
. . . . .
. # # # .
. . . . .
. . . . .`);
input.onButtonPressed(Button.A, function (){
++number;
basic.showLeds(`
. . . . .
. # . # .
. . # . .
. # . # .
. . . . .`);
input.onButtonPressed(Button.A, function (){
++number;
basic.showLeds(`
. . . . .
. . . # .
. . # . .
. # . . .
. . . . .`);
});
});
});
input.onButtonPressed(Button.B, function () {
operand_first = operand();
operand_second = operand();
});
});
});
});