рдпрд╣
рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░
p5.js рдореЗрдВ
рдШреЛрдбрд╝реЗ рдХреА рдкреНрд░рдЧрддрд┐ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ
рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рдиреЗ рдкрд░ рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реИ
рднрд╛рдЧ I
рдПрдХ рдШреЛрдбрд╝рд╛ рдмрдирд╛рдПрдБ - рдЖрдпрддрд╛рдХрд╛рд░ рдЖрдпрдд ()ред рдШреЛрдбрд╝реЗ рдХреЛ рдПрдХ рдЧреНрд░реЗ рд╕рд░реНрдХрд▓ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ
rect(bx, by, boxSize, boxSize); fill(50);
рдШреЛрдбрд╝реЗ рдХреЛ рдЙрди рд╕рднреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдкрд░ рдкреЗрдВрдЯ рдХрд░рдиреЗ рджреЗрдВ рдЬрд┐рдирдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╣ рдЧреБрдЬрд░рддрд╛ рд╣реИ, рдпрд╣реА рд╣реИ рдХрд┐ рдпрд╣
рдпрд╣рд╛рдВ рдХреИрд╕реЗ рд╣реИред
рдЕрдЧрд▓рд╛,
рдорд╛рдЙрд╕ рдХреЛ рдЬрд╛рд░реА рдХрд░рддреЗ рд╕рдордп
рдорд╛рдЙрд╕ рдХреЛ рдкрд┐рдВрдЬрд░реЗ рдХреЗ рдХреЗрдВрджреНрд░ рдХреА рдУрд░ рдЖрдХрд░реНрд╖рд┐рдд рд╣реЛрдиреЗ рджреЗрдВред
StorX рдФрд░
storY рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рд╕реЗрд▓ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдВ рдХрд░реНрд╕рд░ рд╕реНрдерд┐рдд рд╣реИред рдпрджрд┐ рдмрд╛рдпрд╛рдБ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд░реНрд╕рд░ рдШреЛрдбрд╝реЗ рдХреЗ рдКрдкрд░ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдореМрдЬреВрджрд╛ рд╕реЗрд▓
рдореЙрдб рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдЪрд░
storX рдФрд░
storY рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ :
void mouseClick() { if (mouseX >= x && mouseX <= x+100 && mouseY >= y && mouseY <= y+100) { if (overBox && mousePressed && (mouseButton == LEFT)) { storX=x;
рдЬрдм рдмрдЯрди рдЫреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ storX рдФрд░ storY рдХреЛ рдирд╛рдЗрдЯрдПрдХреНрд╕ рдФрд░ рдирд╛рдЗрдЯрд╕ рдирд╛рдЗрдЯреНрд╕ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
knightX=storX; knightY=storY;
рдпрджрд┐ рджрдмрд╛рдП рдЧрдП рдмрдЯрди
рд░рд╛рдЬреНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ
рдорд╛рдЙрд╕рдкреЙрдиреНрдб рдмреВрд▓рд┐рдпрди рдЪрд░ рд╣реИ, рддреЛ рджрдмрд╛рдП рдЧрдП рдмрдЯрди
рд░рд╛рдЬреНрдп рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХреЛрдИ рдЪрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ - рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдмрдирд╛рдПрдВ:
boolean bool_mouseReleased;
рдЕрдм, рдпрджрд┐ рдорд╛рдЙрд╕ рдмрдЯрди рджрдмрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╛рдиреА
bool_mouseReleased = true ), рдХреЛрд░реНрдбреНрд╕ рдФрд░ storY рдХреЗ рд╕рд╛рде рд╕реЗрд▓ рдкрд░ рдкреЗрдВрдЯ рдХрд░реЗрдВ
if((bool_mouseReleased ) && (x==storX && y==storY )){ modColor=200; }
рдкрд┐рдВрдЬрд░реЗ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдШреЛрдбрд╝реЗ рдХреЛ рдЦреАрдВрдЪрдирд╛ рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВрднрд╛рдЧ II
рдПрдХ рд░рджреНрдж рдХрд░реЗрдВ рдмрдЯрди рдЬреЛрдбрд╝реЗрдВред
рдмрдЯрди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
рдпрд╣рд╛рдБ рд╣реИ ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ,
рд╕реЗрд▓ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА
IntList рд╕реВрдЪрд┐рдпрд╛рдВ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдШреЛрдбрд╝рд╛ рдЧреБрдЬрд░рд╛; рдирд┐рдЪрд▓реЗ рдмрд╛рдПрдБ рдХреЛрдиреЗ рдореЗрдВ рд╣реА рдмрдЯрди рдЦреАрдВрдЪреЗрдВ:
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реВрдЪреА
listOfCoordinatesX = new IntList(); listOfCoordinatesY = new IntList(); listOfCoordinatesX.append(0); listOfCoordinatesY.append(0);
рдЕрдЧрд▓реА рдЪрд╛рд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ (рдЬрдм рдорд╛рдЙрд╕ рдмрдЯрди рдХреЛ рдЫреЛрдбрд╝рддреЗ рд╣реБрдП) рд╣рдо рд╕реВрдЪреА / рд╕реНрдЯреИрдХ рдореЗрдВ рд╕реЗрд▓ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
if(overKnight){ knightX=storX; knightY=storY; listOfCoordinatesX.append(int(knightX)); listOfCoordinatesY.append(int(knightY)); }
рдЖрдЗрдП рдПрдХ рдмреВрд▓рд┐рдпрди рдлрдВрдХреНрд╢рди
рдУрд╡рд░рдмрдЯрди () рдмрдирд╛рдПрдВ , рдЬреЛ рдорд╛рдЙрд╕ рдХрд░реНрд╕рд░ рдмрдЯрди рдХреЗ рдКрдкрд░ рдФрд░ рдмрдЯрди рдмрдЯрди рдХреЗ рдКрдкрд░ рд╣реИ, рддреЛ рд╕рд╣реА рд╣реИред
boolButton void buttonUpdate() { if ( overButton(buttonX, buttonY, buttonSize, buttonSize) ) { boolButton = true; } else { boolButton = false; } } boolean overButton(int x, int y, int width, int height) { if (mouseX >= x && mouseX <= x+width && mouseY >= y && mouseY <= y+height) { return true; } else { return false; } }
рдЪрд░ рдФрд░ рд╕реВрдЪрд┐рдпрд╛рдБ рдореБрдЦреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реВрдк рдореЗрдВ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИрдВ:
println(boolButton); println(listOfCoordinatesX); println(listOfCoordinatesY);
рдкреВрд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВрднрд╛рдЧ III
рдЬрдм рдЖрдк рд░рджреНрдж рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдкрд┐рдЫрд▓реА рд╕реЗрд▓ рдореЗрдВ рдХреВрджрдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдЬреЛрдбрд╝реЗрдВред
рдорд╛рдЙрд╕рдкреНрд░реЗрд╕реНрдб () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ,
рд╣рдо рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП
рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд░рджреНрдж рдмрдЯрди рджрдмрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдордиреНрд╡рдп рд╕реВрдЪреА (рд╕реНрдЯреИрдХ рдХреЗ рд╕рдмрд╕реЗ рдКрдкрд░) рд╕реЗ рдЕрдВрддрд┐рдо рддрддреНрд╡реЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдпрджрд┐ рд╕реВрдЪреА рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рддрддреНрд╡ рд╣реИрдВ:
if(boolButton && listOfCoordinatesX.size()>1) { listOfCoordinatesX.pop(); listOfCoordinatesY.pop(); }
рдЬрдм рдЖрдк
рдореЙрдбреНрдпреВрд▓ рд╡рд░реНрдЧ рдХреЗ
рдорд╛рдЙрд╕ рдХреНрд▓рд┐рдХ
() рд╡рд┐рдзрд┐ рдореЗрдВ рд░рджреНрдж рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рдордиреНрд╡рдп рд╕реВрдЪрд┐рдпреЛрдВ (рдвреЗрд░ рдХреЗ рд╕рдмрд╕реЗ рдКрдкрд░) рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ
storX рдФрд░
storY рдЪрд░ рдореЗрдВ
рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ:
if(boolButton && mousePressed) { storX= listOfCoordinatesX.get(listOfCoordinatesX.size()-1); storY= listOfCoordinatesY.get(listOfCoordinatesY.size()-1); }
рдЬрдм рдЖрдк рд░рджреНрдж рдмрдЯрди рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкрд┐рдЫрд▓реЗ рд╕рдордиреНрд╡рдп рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВ рдФрд░ рд╕реЗрд▓ рдХреЛ рдореВрд▓ (рдХрд╛рд▓рд╛) рд░рдВрдЧ рдореЗрдВ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ:
if(boolButton && bool_mouseReleased){ if(x==storX && y==storY ) { modColor=0; } }
рдорд╛рдЙрд╕рд░реЗрд▓реНрдб () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ,
рд╣рдо рдЕрдкрдиреЗ рдШреЛрдбрд╝реЗ рдХреЛ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрд▓ рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред
if(boolButton) { knightX=storX; knightY=storY; }
рдкреВрд░реНрдг рдХреЛрдб рдЕрдм рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд▓реИрдВрдЧреНрд╡реЗрдЬ рдХрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреА 5.рдЬреЗрдПрд╕ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдкреВрд░реНрд╡рд╡рдд рдХрд╛рд░реНрдп рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ p5.js рдкрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЬрд╛рдБрдЪ
рдХрд░реЗрдВInt [] рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╕реВрдЪреА рд╕реВрдЪреА рдмрджрд▓реЗрдВред рдЖрдк рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде-рд╕рд╛рде
рдПрдкреЗрдВрдб () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд╕реВрдЪреА рдореЗрдВ рдПрдХ рддрддреНрд╡ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
listOfCoordinatesX = append(listOfCoordinatesX,0);
рдЖрдк рдХрд┐рд╕реА рд╕рд░рдгреА рд╕реЗ рдкреЙрдк () рд╡рд╛рд▓рд╛ рддрддреНрд╡ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдПрдХ
рдЫреЛрдЯрд╛ () рджреНрд╡рд╛рд░рд╛ рд╕рд░рдгреА рдХреА рд▓рдВрдмрд╛рдИ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИред
рдЖрдХрд╛рд░ () рдХреЗ рдмрдЬрд╛рдп рд╕рд░рдгреА рдХреА рд▓рдВрдмрд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рдВрдмрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдкреВрд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЗрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдПрдХ html рдкреЗрдЬ рдкрд░ js рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рдЗрд╕ рдкреГрд╖реНрда рдХреЛ
рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВред
рдФрд░
рдпрд╣рд╛рдБ рдПрдХ рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдШреЛрдбрд╝реЗ рдХреА рдЫрд╡рд┐ рдХреЗ рд╕рд╛рдеред
рдФрд░
рдпрд╣рд╛рдБ рдШреЛрдбрд╝рд╛ рдХреЗрд╡рд▓
рдЬреА рдЕрдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ
ред рдмрд╛рдХреА рдЪрд╛рд▓реЗрдВ рдирд┐рд╖рд┐рджреНрдз рд╣реИрдВред
рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдЧреНрд░рдВрдереЛрдВ рдХреЗ рд╕рд╛рде рдЬреАрдердм рд╕реЗ
рд▓рд┐рдВрдХ рдХрд░реЗрдВред