//タイトル「おだんご」 PFont myFont; int state; int time; PImage sumi,momiji; int n,m,l,p,q,w,t,u,i; float x1,x2,x3,x4; float x5,x6,x7,x8; float y1,y2,y3,y4; float y5,y6,y7,y8; void setup(){ size(500,500); myFont=createFont("MS Gothic",30); background(255); sumi = loadImage("sumi_1.jpg"); momiji = loadImage("momiji.png"); y1 = 100; y2 = 180; y3 = 260; y4 = 340; } void draw(){ //画面切り替え参考→https://www.sis.otsuma.ac.jp/myzk/processing/2018/Future_and_Past/Future_and_Past.pde if(state == 0){ title(); }else if(state == 1){ cooking(); }else if(state == 2){ ending(); } if((keyPressed == true) && (key == ENTER)){ state=1; }else if((keyPressed == true) && (keyCode == UP)){ state=2; } } void title(){ textFont(myFont); fill(13,0,21); textSize(20); text("Enterを押してね",180,400); noStroke(); //左ドア fill(141,100,73); rect(0,0,150,height); fill(255); rect(10,10,130,380); fill(141,100,73); rect(30,10,2,380);//縦線 rect(30+20,10,2,380); rect(30+40,10,2,380); rect(30+60,10,2,380); rect(30+80,10,2,380); rect(30+100,10,2,380); rect(10,50,130,2);//横線 rect(10,50+40,130,2); rect(10,50+80,130,2); rect(10,50+120,130,2); rect(10,50+160,130,2); rect(10,50+200,130,2); rect(10,50+240,130,2); rect(10,50+280,130,2); rect(10,50+320,130,2); //右ドア fill(141,100,73); rect(350,0,150,height); fill(255); rect(360,10,130,380); fill(141,100,73); rect(380,10,2,380);//縦線 rect(380+20,10,2,380); rect(380+40,10,2,380); rect(380+60,10,2,380); rect(380+80,10,2,380); rect(380+100,10,2,380); rect(360,50,130,2);//横線 rect(360,50+40,130,2); rect(360,50+80,130,2); rect(360,50+120,130,2); rect(360,50+160,130,2); rect(360,50+200,130,2); rect(360,50+240,130,2); rect(360,50+280,130,2); rect(360,50+320,130,2); //暖簾 fill(39,146,195); rect(70,0,90,300); rect(162,0,88,300); rect(252,0,88,300); rect(342,0,88,300); textFont(myFont); fill(255); textSize(50); text("だ",85,250); text("ん",180,250); text("ご",270,250); text("屋",360,250); //上 fill(255,250,250); rect(0,0,width/2-2,100); rect(width/2+2,0,248,100); fill(255,192,203); ellipse(60,50,15,15); ellipse(45,60,15,15); ellipse(75,60,15,15); ellipse(50,78,15,15); ellipse(70,78,15,15); ellipse(60+100,50-40,15,15); ellipse(45+100,60-40,15,15); ellipse(75+100,60-40,15,15); ellipse(50+100,78-40,15,15); ellipse(70+100,78-40,15,15); ellipse(60+300,50,15,15); ellipse(45+300,60,15,15); ellipse(75+300,60,15,15); ellipse(50+300,78,15,15); ellipse(70+300,78,15,15); ellipse(60+100+300,50-40,15,15); ellipse(45+100+300,60-40,15,15); ellipse(75+100+300,60-40,15,15); ellipse(50+100+300,78-40,15,15); ellipse(70+100+300,78-40,15,15); } void cooking(){ background(233,228,212); fill(169,169,169); rect(width/2-10,20,250,460); textFont(myFont); fill(13,0,21); textSize(20); text("仕込み中・・・",20,25); noStroke(); fill(229,210,197); triangle(width/2-180+50,50,width/2-190+50,120,width/2-170+50,120); rect(width/2-190+50,120,20,350); //円が動く参考→http://www2.kobe-u.ac.jp/~tnishida/course/2014/programming/techniques.html fill(255); ellipse(250-130,m,100,100); m +=3; if(m > 350){ m = 350; } if(m==350){ fill(255); ellipse(250-130,n-50,100,100); n +=3; if(n >300){ n=300; } } if(n==300){ fill(255); ellipse(250-130,l-100,100,100); l +=3; if(l > 250){ l=250; } } if(l==250){ background(233,228,212); fill(169,169,169); rect(width/2-10,20,250,460); textFont(myFont); fill(13,0,21); textSize(20); text("仕込み中・・・",20,25); fill(229,210,197); triangle(width/2+50,50,width/2-10+50,120,width/2+10+50,120); rect(width/2-10+50,380,20,100); fill(255); ellipse(width/2+50,height/2,100,100); ellipse(width/2+50,height/2+100,100,100); ellipse(width/2+50,height/2-100,100,100); fill(229,210,197); triangle(width/2-180+50,50,width/2-190+50,120,width/2-170+50,120); rect(width/2-190+50,120,20,350); fill(255); ellipse(250-130,p,100,100); p +=3; if(p > 350){ p = 350; } } if(p==350){ fill(255); ellipse(250-130,q-50,100,100); q +=3; if(q >300){ q=300; } } if(q==300){ fill(255); ellipse(250-130,w-100,100,100); w +=3; if(w > 250){ w=250; } } if(w==250){ background(233,228,212); fill(169,169,169); rect(width/2-10,20,250,460); textFont(myFont); fill(13,0,21); textSize(20); text("仕込み中・・・",20,25); fill(229,210,197); triangle(width/2+50+100,50,width/2-10+50+100,120,width/2+10+50+100,120); rect(width/2-10+50+100,380,20,100); fill(255); ellipse(width/2+50+100,height/2,100,100); ellipse(width/2+50+100,height/2+100,100,100); ellipse(width/2+50+100,height/2-100,100,100); fill(229,210,197); triangle(width/2+50,50,width/2-10+50,120,width/2+10+50,120); rect(width/2-10+50,380,20,100); fill(255); ellipse(width/2+50,height/2,100,100); ellipse(width/2+50,height/2+100,100,100); ellipse(width/2+50,height/2-100,100,100); fill(229,210,197); triangle(width/2-180+50,50,width/2-190+50,120,width/2-170+50,120); rect(width/2-190+50,120,20,350); fill(255); ellipse(250-130,t,100,100); t +=3; if(t > 350){ t = 350; } } if(t==350){ fill(255); ellipse(250-130,u-50,100,100); u +=3; if(u >300){ u=300; } } if(u==300){ fill(255); ellipse(250-130,i-100,100,100); i +=3; if(i > 250){ i=250; } } if(i==250){ background(233,228,212); noStroke(); fill(192,192,192); rect(0,30,width,70); rect(0,400,width,70); image(sumi,0,100,500,300); noStroke(); fill(183,11,11,25); rect(0,100,500,300); textFont(myFont); fill(13,0,21); textSize(17); text("「←」「→」を交互に押してね",130,18); //線がくねくね参考→https://www.sis.otsuma.ac.jp/fujimura/processing/2017/stream/stream.pde x1 = 100 + sin(radians(frameCount))*50; x2 = 100 + sin(radians(frameCount-90))*100; x3 = 100 + sin(radians(frameCount-180))*100; x4 = 100 + sin(radians(frameCount-270))*50; x5 = 100 + sin(radians(frameCount))*30; x6 = 100 + sin(radians(frameCount-90))*50; x7 = 100 + sin(radians(frameCount-180))*30; x8 = 100 + sin(radians(frameCount-270))*50; strokeWeight(1); noFill(); stroke(250,253,255,100); bezier(x1,y1,x2,y2,x3,y3,x4,y4); stroke(250,253,255,100); bezier(x5+250,y1-30,x6+250,y2-30,x7+250,y3-30,x8+250,y4-30); stroke(250,253,255,100); bezier(x5+100,y1-100,x6+100,y2-100,x7+100,y3-100,x8+100,y4-100); stroke(250,253,255,100); bezier(x1+320,y1+10,x2+320,y2+10,x3+320,y3+10,x4+320,y4+10); time++; if(time <= 500){ if(keyCode == RIGHT){ //1つ目(真ん中) noStroke(); fill(229,210,197); triangle(width/2+50,50,width/2-10+50,120,width/2+10+50,120); rect(width/2-10+50,380,20,100); fill(255,255,255); ellipse(width/2+50,height/2,100,100); ellipse(width/2+50,height/2+100,100,100); ellipse(width/2+50,height/2-100,100,100); //2つ目(左) noStroke(); fill(229,210,197); triangle(width/2-150+50,50,width/2-160+50,120,width/2-140+50,120); rect(width/2-160+50,380,20,100); fill(255,255,255); ellipse(width/2-150+50,height/2,100,100); ellipse(width/2-150+50,height/2+100,100,100); ellipse(width/2-150+50,height/2-100,100,100); //3つ目(右) noStroke(); fill(229,210,197); triangle(width/2+150+50,50,width/2+160+50,120,width/2+140+50,120); rect(width/2+140+50,380,20,100); fill(255,255,255); ellipse(width/2+150+50,height/2,100,100); ellipse(width/2+150+50,height/2+100,100,100); ellipse(width/2+150+50,height/2-100,100,100); } if(keyCode == LEFT){ //1つ目(真ん中) fill(229,210,197); triangle(width/2-50,50,width/2-10-50,120,width/2+10-50,120); rect(width/2-10-50,380,20,100); fill(255,255,255); ellipse(width/2-50,height/2,100,100); ellipse(width/2-50,height/2+100,100,100); ellipse(width/2-50,height/2-100,100,100); //2つ目(左) fill(229,210,197); triangle(width/2-150-50,50,width/2-160-50,120,width/2-140-50,120); rect(width/2-160-50,380,20,100); fill(255,255,255); ellipse(width/2-150-50,height/2,100,100); ellipse(width/2-150-50,height/2+100,100,100); ellipse(width/2-150-50,height/2-100,100,100); //3つ目(右) fill(229,210,197); triangle(width/2+150-50,50,width/2+160-50,120,width/2+140-50,120); rect(width/2+140-50,380,20,100); fill(255,255,255); ellipse(width/2+150-50,height/2,100,100); ellipse(width/2+150-50,height/2+100,100,100); ellipse(width/2+150-50,height/2-100,100,100); } }else if((time >500) && (time <=1000)){ if(keyCode == RIGHT){ //1つ目(真ん中) fill(229,210,197); triangle(width/2+50,50,width/2-10+50,120,width/2+10+50,120); rect(width/2-10+50,380,20,100); fill(252,226,196); ellipse(width/2+50,height/2,100,100); ellipse(width/2+50,height/2+100,100,100); ellipse(width/2+50,height/2-100,100,100); //2つ目(左) fill(229,210,197); triangle(width/2-150+50,50,width/2-160+50,120,width/2-140+50,120); rect(width/2-160+50,380,20,100); fill(252,226,196); ellipse(width/2-150+50,height/2,100,100); ellipse(width/2-150+50,height/2+100,100,100); ellipse(width/2-150+50,height/2-100,100,100); //3つ目(右) fill(229,210,197); triangle(width/2+150+50,50,width/2+160+50,120,width/2+140+50,120); rect(width/2+140+50,380,20,100); fill(252,226,196); ellipse(width/2+150+50,height/2,100,100); ellipse(width/2+150+50,height/2+100,100,100); ellipse(width/2+150+50,height/2-100,100,100); } if(keyCode == LEFT){ //1つ目(真ん中) fill(229,210,197); triangle(width/2-50,50,width/2-10-50,120,width/2+10-50,120); rect(width/2-10-50,380,20,100); fill(252,226,196); ellipse(width/2-50,height/2,100,100); ellipse(width/2-50,height/2+100,100,100); ellipse(width/2-50,height/2-100,100,100); //2つ目(左) fill(229,210,197); triangle(width/2-150-50,50,width/2-160-50,120,width/2-140-50,120); rect(width/2-160-50,380,20,100); fill(252,226,196); ellipse(width/2-150-50,height/2,100,100); ellipse(width/2-150-50,height/2+100,100,100); ellipse(width/2-150-50,height/2-100,100,100); //3つ目(右) fill(229,210,197); triangle(width/2+150-50,50,width/2+160-50,120,width/2+140-50,120); rect(width/2+140-50,380,20,100); fill(252,226,196); ellipse(width/2+150-50,height/2,100,100); ellipse(width/2+150-50,height/2+100,100,100); ellipse(width/2+150-50,height/2-100,100,100); } }else if(time>1000){ textFont(myFont); fill(13,0,21); textSize(17); text("焼き終わったら「↑」を押してね",220,490); if(keyCode == RIGHT){ //1つ目(真ん中) fill(229,210,197); triangle(width/2+50,50,width/2-10+50,120,width/2+10+50,120); rect(width/2-10+50,380,20,100); fill(221,187,153); ellipse(width/2+50,height/2,100,100); ellipse(width/2+50,height/2+100,100,100); ellipse(width/2+50,height/2-100,100,100); fill(0); ellipse(width/2+50+10,height/2,50,30); ellipse(width/2+50,height/2+100,50,30); ellipse(width/2+50-5,height/2-100,50,30); //2つ目(左) fill(229,210,197); triangle(width/2-150+50,50,width/2-160+50,120,width/2-140+50,120); rect(width/2-160+50,380,20,100); fill(221,187,153); ellipse(width/2-150+50,height/2,100,100); ellipse(width/2-150+50,height/2+100,100,100); ellipse(width/2-150+50,height/2-100,100,100); fill(0); ellipse(width/2-150+50-2,height/2,50,30); ellipse(width/2-150+50-5,height/2+100,50,30); ellipse(width/2-150+50+8,height/2-100,50,30); //3つ目(右) fill(229,210,197); triangle(width/2+150+50,50,width/2+160+50,120,width/2+140+50,120); rect(width/2+140+50,380,20,100); fill(221,187,153); ellipse(width/2+150+50,height/2,100,100); ellipse(width/2+150+50,height/2+100,100,100); ellipse(width/2+150+50,height/2-100,100,100); fill(0); ellipse(width/2+150+50-5,height/2,50,30); ellipse(width/2+150+50-10,height/2+100,50,30); ellipse(width/2+150+50+8,height/2-100,50,30); } if(keyCode == LEFT){ //1つ目(真ん中) fill(229,210,197); triangle(width/2-50,50,width/2-10-50,120,width/2+10-50,120); rect(width/2-10-50,380,20,100); fill(221,187,153); ellipse(width/2-50,height/2,100,100); ellipse(width/2-50,height/2+100,100,100); ellipse(width/2-50,height/2-100,100,100); fill(0); ellipse(width/2-50+2,height/2,50,30); ellipse(width/2-50+4,height/2+100,50,30); ellipse(width/2-50-7,height/2-100,50,30); //2つ目(左) fill(229,210,197); triangle(width/2-150-50,50,width/2-160-50,120,width/2-140-50,120); rect(width/2-160-50,380,20,100); fill(221,187,153); ellipse(width/2-150-50,height/2,100,100); ellipse(width/2-150-50,height/2+100,100,100); ellipse(width/2-150-50,height/2-100,100,100); fill(0); ellipse(width/2-150-50+2,height/2,50,30); ellipse(width/2-150-50-8,height/2+100,50,30); ellipse(width/2-150-50-4,height/2-100,50,30); //3つ目(右) fill(229,210,197); triangle(width/2+150-50,50,width/2+160-50,120,width/2+140-50,120); rect(width/2+140-50,380,20,100); fill(221,187,153); ellipse(width/2+150-50,height/2,100,100); ellipse(width/2+150-50,height/2+100,100,100); ellipse(width/2+150-50,height/2-100,100,100); fill(0); ellipse(width/2+150-50+6,height/2,50,30); ellipse(width/2+150-50+2,height/2+100,50,30); ellipse(width/2+150-50,height/2-100,50,30); } } } } void ending(){ background(230,191,171); //紅葉 image(momiji,180,30,180,160); image(momiji,0,400,180,160); image(momiji,450,300,150,130); textFont(myFont); fill(13,0,21); textSize(50); text("完成",370,100); noStroke(); fill(255); rect(50,200,400,250); noStroke(); fill(239,239,239); rect(80,220,340,210); //団子 fill(229,210,197);//真ん中 triangle(width/2,220,width/2-3,300,width/2+3,300); rect(width/2-3,400,6,45); fill(219,132,73); ellipse(width/2,330,60,60); ellipse(width/2,330+60,60,60); ellipse(width/2,330-60,60,60); fill(0); ellipse(width/2,330,25,20); ellipse(width/2-5,330-60,20,15); ellipse(width/2+5,330+63,25,15); fill(229,210,197);//右 triangle(width/2+100,220,width/2-3+100,300,width/2+3+100,300); rect(width/2-3+100,400,6,45); fill(219,132,73); ellipse(width/2+100,330,60,60); ellipse(width/2+100,330+60,60,60); ellipse(width/2+100,330-60,60,60); fill(0); ellipse(width/2+100+2,330-2,20,20); ellipse(width/2-5+100,330-60-5,23,18); ellipse(width/2+3+100,330+60,20,17); fill(229,210,197);//左 triangle(width/2-100,220,width/2-3-100,300,width/2+3-100,300); rect(width/2-3-100,400,6,45); fill(219,132,73); ellipse(width/2-100,330,60,60); ellipse(width/2-100,330+60,60,60); ellipse(width/2-100,330-60,60,60); fill(0); ellipse(width/2-100+2,330+4,21,17); ellipse(width/2+8-100,330-60+5,23,18); ellipse(width/2-100-3,330+60,20,15); noStroke();//たれ fill(225,123,52,180); ellipse(width/2,330,60+10,60+10);//真ん中 ellipse(width/2,330+60,60+10,60+10); ellipse(width/2,330-60,60+10,60+10); ellipse(width/2+100,330,60+10,60+10);//右 ellipse(width/2+100,330+60,60+10,60+10); ellipse(width/2+100,330-60,60+10,60+10); ellipse(width/2-100,330,60+10,60+10);//真ん中 ellipse(width/2-100,330+60,60+10,60+10); ellipse(width/2-100,330-60,60+10,60+10); //お茶 fill(245,245,245); ellipse(100,100,130,130); fill(248,248,255); ellipse(100,100,130,130); fill(245,245,245); ellipse(100,100,110,110); fill(97,142,52); ellipse(100,100,100,100); strokeWeight(3); stroke(95,101,39); point(100,100); point(80,70); point(65,90); point(110,120); point(87,120); point(130,80); point(120,70); point(110,100); point(120,120); point(95,80); point(75,110); point(115,115); point(80,130); }