Эскиз не открывается безопасно в домашнем задании - PullRequest
0 голосов
/ 27 октября 2018

Я не уверен, что правильно понял это назначение. Я пытался вставить свой код в специально отведенное для этого место, но эскиз не открывает сейф. не уверен что делать. Любое предложение приветствуется. Я хотел бы знать, где я делаю это неправильно Вот проблема, с которой я борюсь:

Окружной прокурор Торвальдс пользуется уважением в Консоль-Сити как порядочный гражданин и исполнитель закона. Конечно, он так же изогнут, как и они. С меня хватит тяжелая работа в Sleuth and Co подорвана его взятками и выплатами. Давайте возьмем это присоски вниз. Я знаю, что Торвальдс распространяет свои обвинительные документы среди несколько сейфов в городе. Мне нужно, чтобы вы немного изменили правила, взломав их и извлечение улик.

Первый сейф находится в офисе Торвальда. Взломайте его, выполнив следующее:

When any key is pressed:
- Make secureStorageComb_0 equal to 15

When any key is released:
- Make secureStorageComb_0 equal to 41

When the mouse button is released:
- Make secureStorageComb_0 equal to 6

When the mouse button is pressed:
- Make secureStorageComb_0 equal to 14

Whilst the mouse is being dragged:
- Make secureStorageComb_1 equal to 54

When the mouse button is pressed:
- Make secureStorageComb_1 equal to 34

When the mouse button is released:
- Make secureStorageComb_1 equal to 77

Есть много возможных способов расследования этого дела, но вы следует использовать ТОЛЬКО следующие команды:

- The assignment operator aka. the equals sign !

//declare the variables

var secureStorageComb_0;
var secureStorageComb_1;


function preload()
{
    //IMAGES WILL BE LOADED HERE
}

function setup()
{
    createCanvas(512,512);

    //initialise the variables
    secureStorageComb_0 = 0;
    secureStorageComb_1 = 0;
}

///////////////////EVENT HANDLERS///////////////////

//Add your code to these events to open the safe ...

function mouseMoved()
{
    secureStorageComb_0 = 0;
    secureStorageComb_1 = 0;
    console.log("mouseMoved", mouseX, mouseY);
}

function mouseDragged()
{
    secureStorageComb_1 = (secureStorageComb_1 + 54);
    console.log("mouseDragged", mouseX, mouseY);
}

function mousePressed()
{
    secureStorageComb_0 =(secureStorageComb_0 + 14);
    secureStorageComb_1 =(secureStorageComb_1 + 34);
    console.log("mousePressed");
}

function mouseReleased()
{
    secureStorageComb_0 = (secureStorageComb_0 + 6);
    secureStorageComb_1 = (secureStorageComb_1 + 77);
    console.log("mouseReleased");
}

function keyPressed()
{
    secureStorageComb_0 = (secureStorageComb_0 + 15); 
    console.log("keyPressed", key);
}

function keyReleased()
{
    secureStorageComb_0 = (secureStorageComb_0 + 41);
    secureStorageComb_1 = (secureStorageComb_1 + 86);
    console.log("keyReleased", key);
}

///////////////DO NOT CHANGE CODE BELOW THIS POINT///////////////////

function draw()
{
    //Draw the safe door
    background(70);
    noStroke();
    fill(29,110,6);
    rect(26,26,width-52,width-52);

    //Draw the combination dial
    push();
    translate(200,height/2);
    drawDial(200, secureStorageComb_0, 43);
    pop();

    //Draw the lever
    push();
    translate(width - 125,256);
    drawLever(secureStorageComb_1);
    pop();
}

function drawDial(diameter,num,maxNum)
{
    //the combination lock

    var r = diameter * 0.5;
    var p = r * 0.6;

    stroke(0);
    fill(255,255,200);
    ellipse(0,0,diameter,diameter);
    fill(100);
    noStroke();
    ellipse(0,0,diameter*0.66,diameter*0.66);
    fill(150,0,0);
    triangle(
    -p * 0.4,-r-p,
    p * 0.4,-r-p,
    0,-r-p/5
    );

    noStroke();

    push();
    var inc = 360/maxNum;

    rotate(radians(-num * inc));
    for(var i = 0; i < maxNum; i++)
    {
    push();
    rotate(radians(i * inc));
    stroke(0);
    line(0,-r*0.66,0,-(r-10));
    noStroke();
    fill(0);
    text(i,0,-(r-10));
    pop();
    }

    pop();
}

function drawLever(rot)
{
    push();
    rotate(radians(-rot))
    stroke(0);
    fill(100);
    rect(-10,0,20,100);
    ellipse(0,0,50,50);
    ellipse(0,100,35,35);
    pop();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.6.1/p5.js"></script>

1 Ответ

0 голосов
/ 27 октября 2018

Я пытался вставить свой код в отведенное для него место, но эскиз не открывает сейф.

Я не уверен, что вы имеете в виду, открывая сейф.,Я считаю, что задание просто дает вам мотивирующую историю, а не говорит буквально.В вашем коде нет сейфа, поэтому ничего не будет разблокировано.

Одна вещь, которая бросается мне в глаза, это то, что вы делаете такие вещи:

secureStorageComb_0 = (secureStorageComb_0 + 6);

Эта строка кода добавляет 6 к secureStorageComb_0, но в инструкциях говорится, что переменная должна быть равна 6. Обратите внимание, что в инструкциях специально сказано, что вы должны использовать только оператор =, а не +оператор.

Но, во всяком случае, я не думаю, что должен быть сейф, который разблокирует, кроме как в описании назначения.

...