I stumbled across this online, and I want to use it for reference, but it seems really jumbled. Any idea how I can organize this better into objects, classes, etc?
color background_color = color(58, 250, 94);
color entry_color = color(183, 255, 245);
color entry_text_color = color(10, 3, 40);
color button_color = color(233, 255, 143);
color button_text_color = color(93, 67, 247);
char pKey=' ';
float value_1, value_2, position=0;
String operation;
String entery_text="Calculator";
void setup(){
size(400, 500);
background(background_color);
noStroke();
textSize(60);
}
void draw(){
reset();
input();
}
void reset(){
background(background_color);
fill(entry_color);
rect(10, 10, 380, 70);
fill(entry_text_color);
text(entery_text, 20, 67);
fill(button_color);
rect(10, 100, 80, 80, 20);
rect(110, 100, 80, 80, 20);
rect(210, 100, 80, 80, 20);
rect(310, 100, 80, 80, 20);
rect(10, 200, 80, 80, 20);
rect(110, 200, 80, 80, 20);
rect(210, 200, 80, 80, 20);
rect(310, 200, 80, 80, 20);
rect(10, 300, 80, 80, 20);
rect(110, 300, 80, 80, 20);
rect(210, 300, 80, 80, 20);
rect(310, 300, 80, 80, 20);
rect(10, 400, 80, 80, 20);
rect(110, 400, 80, 80, 20);
rect(210, 400, 80, 80, 20);
rect(310, 400, 80, 80, 20);
fill(button_text_color);
text("7", 27, 162);
text("8", 127, 162);
text("9", 227, 162);
text("/", 333, 155);
text("4", 27, 262);
text("5", 127, 262);
text("6", 227, 262);
text("x", 327, 262);
text("1", 27, 362);
text("2", 127, 362);
text("3", 227, 362);
text("-", 327, 362);
text("C", 27, 462);
text("0", 127, 462);
text("=", 227, 462);
text("+", 327, 462);
}
void input(){
if(keyPressed/* && (key!=pKey)*/){
delay(150);
//pKey = key;
if(key=='0'){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+0;
}
else if(position==2){
value_2 = (value_2*10)+0;
}
else if(position==4){
value_1=0;
position=0;
}
}
else if(key=='1'){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+1;
}
else if(position==2){
value_2 = (value_2*10)+1;
}
else if(position==4){
value_1=1;
position=0;
}
}
else if(key=='2'){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+2;
}
else if(position==2){
value_2 = (value_2*10)+2;
}
else if(position==4){
value_1=2;
position=0;
}
}
else if(key=='3'){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+3;
}
else if(position==2){
value_2 = (value_2*10)+3;
}
else if(position==4){
value_1=3;
position=0;
}
}
else if(key=='4'){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+4;
}
else if(position==2){
value_2 = (value_2*10)+4;
}
else if(position==4){
value_1=4;
position=0;
}
}
else if(key=='5'){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+5;
}
else if(position==2){
value_2 = (value_2*10)+5;
}
else if(position==4){
value_1=5;
position=0;
}
}
else if(key=='6'){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+6;
}
else if(position==2){
value_2 = (value_2*10)+6;
}
else if(position==4){
value_1=6;
position=0;
}
}
else if(key=='7'){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+7;
}
else if(position==2){
value_2 = (value_2*10)+7;
}
else if(position==4){
value_1=7;
position=0;
}
}
else if(key=='8'){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+8;
}
else if(position==2){
value_2 = (value_2*10)+8;
}
else if(position==4){
value_1=8;
position=0;
}
}
else if(key=='9'){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+9;
}
else if(position==2){
value_2 = (value_2*10)+9;
}
else if(position==4){
value_1=9;
position=0;
}
}
else if(key=='+'){
if(position==0){
position=1;
}
else if(position==4){
position=1;
}
if(position==1){
operation="+";
}
}
else if(key=='-'){
if(position==0){
position=1;
}
else if(position==4){
position=1;
}
if(position==1){
operation="-";
}
}
else if(key=='*'){
if(position==0){
position=1;
}
else if(position==4){
position=1;
}
if(position==1){
operation="*";
}
}
else if(key=='/'){
if(position==0){
position=1;
}
else if(position==4){
position=1;
}
if(position==1){
operation="/";
}
}
else if(key=='='){
if(operation=="+"){
value_1 += value_2;
}
else if(operation=="-"){
value_1 -= value_2;
}
else if(operation=="*"){
value_1 *= value_2;
}
else if(operation=="/"){
value_1 /= value_2;
}
position=4;
value_2=0;
operation="";
}
else if(key=='C' || key=='c'){
exit();
}
}
else if(mousePressed){
delay(150);
if(mouseX>110&&mouseX<190&&mouseY>400&&mouseY<480){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+0;
}
else if(position==2){
value_2 = (value_2*10)+0;
}
else if(position==4){
value_1=0;
position=0;
}
}
else if(mouseX>10&&mouseX<90&&mouseY>300&&mouseY<380){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+1;
}
else if(position==2){
value_2 = (value_2*10)+1;
}
else if(position==4){
value_1=1;
position=0;
}
}
else if(mouseX>110&&mouseX<190&&mouseY>300&&mouseY<380){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+2;
}
else if(position==2){
value_2 = (value_2*10)+2;
}
else if(position==4){
value_1=2;
position=0;
}
}
else if(mouseX>210&&mouseX<290&&mouseY>300&&mouseY<380){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+3;
}
else if(position==2){
value_2 = (value_2*10)+3;
}
else if(position==4){
value_1=3;
position=0;
}
}
else if(mouseX>10&&mouseX<90&&mouseY>200&&mouseY<280){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+4;
}
else if(position==2){
value_2 = (value_2*10)+4;
}
else if(position==4){
value_1=4;
position=0;
}
}
else if(mouseX>110&&mouseX<190&&mouseY>200&&mouseY<280){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+5;
}
else if(position==2){
value_2 = (value_2*10)+5;
}
else if(position==4){
value_1=5;
position=0;
}
}
else if(mouseX>210&&mouseX<290&&mouseY>200&&mouseY<280){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+6;
}
else if(position==2){
value_2 = (value_2*10)+6;
}
else if(position==4){
value_1=6;
position=0;
}
}
else if(mouseX>10&&mouseX<90&&mouseY>100&&mouseY<180){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+7;
}
else if(position==2){
value_2 = (value_2*10)+7;
}
else if(position==4){
value_1=7;
position=0;
}
}
else if(mouseX>110&&mouseX<190&&mouseY>100&&mouseY<180){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+8;
}
else if(position==2){
value_2 = (value_2*10)+8;
}
else if(position==4){
value_1=8;
position=0;
}
}
else if(mouseX>210&&mouseX<290&&mouseY>100&&mouseY<180){
if(position==1){
position=2;
}
if(position==0){
value_1 = (value_1*10)+9;
}
else if(position==2){
value_2 = (value_2*10)+9;
}
else if(position==4){
value_1=9;
position=0;
}
}
else if(mouseX>310&&mouseX<390&&mouseY>400&&mouseY<480){
if(position==0){
position=1;
}
else if(position==4){
position=1;
}
if(position==1){
operation="+";
}
}
else if(mouseX>310&&mouseX<390&&mouseY>300&&mouseY<380){
if(position==0){
position=1;
}
else if(position==4){
position=1;
}
if(position==1){
operation="-";
}
}
else if(mouseX>310&&mouseX<390&&mouseY>200&&mouseY<280){
if(position==0){
position=1;
}
else if(position==4){
position=1;
}
if(position==1){
operation="*";
}
}
else if(mouseX>310&&mouseX<390&&mouseY>100&&mouseY<180){
if(position==0){
position=1;
}
else if(position==4){
position=1;
}
if(position==1){
operation="/";
}
}
else if(mouseX>210&&mouseX<290&&mouseY>400&&mouseY<480){
if(operation=="+"){
value_1 += value_2;
}
else if(operation=="-"){
value_1 -= value_2;
}
else if(operation=="*"){
value_1 *= value_2;
}
else if(operation=="/"){
value_1 /= value_2;
}
position=4;
value_2=0;
operation="";
}
else if(mouseX>10&&mouseX<90&&mouseY>400&&mouseY<480){
exit();
}
}
if(position==0||position==4){
entery_text = str(value_1);
}
else if(position==1){
entery_text = str(value_1)+operation;
}
else if(position==2){
entery_text = str(value_1)+operation+str(value_2);
}
}