/* @pjs preload = "akihabara.png,ebisu.png,gotanda.png,hamamatutyou.png,harazyuku.png,ikebukuro.png,kanda.png,komagome.png,meguro.png,mejiro.png,nippori.png,nisinippori.png,okatimati.png,osaki.png,otuka.png,shibuya.png,shinzyuku.png,sinagawa.png,sinbasi.png,sinokubo.png,sugamo.png,tabata.png,takadanobaba.png,tamati.png,tokyo.png,ueno.png,uguisudani.png,yoyogi.png,yuurakutyou.png"; */ /* @pjs preload = "train_0.png,train_01.png,train_02.png,train_03.png,train_04.png"; */ /* @pjs preload = "osaki-takadanobaba.png,mejiro-ueno.png,okatimati-shinagawa.png"; */ /* import ddf.minim.*; import ddf.minim.analysis.*; import ddf.minim.effects.*; import ddf.minim.signals.*; import ddf.minim.spi.*; import ddf.minim.ugens.*; */ float GRAVITY = 3.2, w, billX, billbacX, trainX,trainY, speedX, speedY, initY; float speedbX, speedbacX; float buttonX, buttonY, buttonWidth, buttonHeight; float xx, yy, speedXX, rr, ll, nn,oo; // Character train; //Fujimura /* Minim minim; AudioPlayer song;*/ PImage photo, img, photo2, bill, billback, start, home, ground, yamanote1, yamanote2, yamanote3; PImage[] images; String[] filenames = { "train_04.png","train_0.png","train_01.png","train_02.png","train_03.png", } ; float f,j,speedT; PImage station1,station2,station3,station4,station5,station6,station7,station8,station9,station10,station11,station12,station13,station14,station15,station16,station17,station18,station19,station20,station21,station22,station23,station24,station25,station26,station27,station28,station29; float a,b,c,d,e,fff,g,h,jjj,k,n,o,p,q,r,u,v,x,y,z,aa,bb,cc,dd,ee,ff,gg,hh,ii,jj; float speedS; float theta , tt, ww; int delaycount = 0; void setup() { size(500, 500); background(135,206,250); frameRate(5); //station station1=loadImage("osaki.png"); station2=loadImage("gotanda.png"); station3=loadImage("meguro.png"); station4=loadImage("ebisu.png"); station5=loadImage("shibuya.png"); station6=loadImage("harazyuku.png"); station7=loadImage("yoyogi.png"); station8=loadImage("shinzyuku.png"); station9=loadImage("sinokubo.png"); station10=loadImage("takadanobaba.png"); station11=loadImage("mejiro.png"); station12=loadImage("ikebukuro.png"); station13=loadImage("otuka.png"); station14=loadImage("sugamo.png"); station15=loadImage("komagome.png"); station16=loadImage("tabata.png"); station17=loadImage("nisinippori.png"); station18=loadImage("nippori.png"); station19=loadImage("uguisudani.png"); station20=loadImage("ueno.png"); station21=loadImage("okatimati.png"); station22=loadImage("akihabara.png"); station23=loadImage("kanda.png"); station24=loadImage("tokyo.png"); station25=loadImage("yuurakutyou.png"); station26=loadImage("sinbasi.png"); station27=loadImage("hamamatutyou.png"); station28=loadImage("tamati.png"); station29=loadImage("sinagawa.png"); //ground ground = loadImage("ground.png"); //senro photo2 = loadImage("sennro_2.png"); theta = 0; tt = 10; imageMode(CENTER); bill = loadImage("bills_2.png"); image(bill, billX, 150,400,280); billback = loadImage("bills_3.png"); image(billback, billbacX, 100,600,280); billX = 0 ; speedbX = 5; billbacX = 0 ; speedbacX = 1; /* //song minim = new Minim( this ); song = minim.loadFile( "train_pass.mp3" ); */ //station imageMode(CENTER); a = width+200; b = width*2+200; c = width*3+200; d = width*4+200; e = width*5+200; fff = width*6+200; g = width*7+200; h = width*8+200; jjj = width*9+200; k = width*10+00; n = width*11+200; o = width*12+200; p = width*13+200; q = width*14+200; r = width*15+200; u = width*16+200; v = width*17+200; x = width*18+200; y = width*19+200; aa = width*20+200; bb = width*21+200; cc = width*22+200; dd = width*23+200; ee = width*24+200; ff = width*25+200; gg = width*26+200; hh = width*27+200; ii = width*28+200; jj = width*29+200; //station speed z = 220; speedS = 10; train(); // moved to setup() by Fujimura; //otonru speedXX =1; xx=-27; yy=405; nn=-width-50; oo=440; rr=-50-width*2; ll=470; //otonaruyo yamanote1 = loadImage("osaki-takadanobaba.png"); yamanote2 = loadImage("mejiro-ueno.png"); yamanote3 = loadImage("okatimati-shinagawa.png"); } /* void stop() { song.close(); minim.stop(); super.stop(); } */ void draw() { if (delaycount > 0) { delaycount--; return;} // Fujimura background(135,206,250); //ground image(ground,300, 300, 600,400); /*//otonaruyo oto = loadImage("otonaruyo.png"); image(oto,150,480,216,18);*/ move(); update(); station(); /*song.play();*/ //senro image(photo2,ww+200, 380, 700, 50); imageMode(CENTER); theta += 1; ww= tt*sin(theta); //train repeat(); //otonaruyo image(yamanote1,250,420,460,18); image(yamanote2,250,450,450,20); image(yamanote3,235,480,420,20); fill(#c0c0c0); rect(xx, yy, 40,25); fill(#008000); rect(xx,yy+15, 40,5); fill(#c0c0c0); ellipse(xx+5, yy+25, 5,5); ellipse(xx+15, yy+25, 5,5); ellipse(xx+25, yy+25, 5,5); ellipse(xx+35, yy+25, 5,5); fill(#c0c0c0); rect(rr, ll, 40,25); fill(#008000); rect(rr,ll+15, 40,5); fill(#c0c0c0); ellipse(rr+5, ll+25, 5,5); ellipse(rr+15, ll+25, 5,5); ellipse(rr+25, ll+25, 5,5); ellipse(rr+35, ll+25, 5,5); fill(#c0c0c0); rect(nn, oo, 40,25); fill(#008000); rect(nn,oo+15, 40,5); fill(#c0c0c0); ellipse(nn+5, oo+25, 5,5); ellipse(nn+15, oo+25, 5,5); ellipse(nn+25, oo+25, 5,5); ellipse(nn+35, oo+25, 5,5); xx +=speedXX; rr+=speedXX; nn +=speedXX; } void station(){ //station image(station1,a,z,380,250); image(station2,b,z,380,250); image(station3,c,z,380,250); image(station4,d,z,380,250); image(station5,e,z,380,250); image(station6,fff,z,380,250); image(station7,g,z,380,250); image(station8,h,z,380,250); image(station9,jjj,z,380,250); image(station10,k,z,380,250); image(station11,n,z,380,250); image(station12,o,z,380,250); image(station13,p,z,380,250); image(station14,q,z,380,250); image(station15,r,z,380,250); image(station16,u,z,380,250); image(station17,v,z,380,250); image(station18,x,z,380,250); image(station19,y,z,380,250); image(station20,aa,z,380,250); image(station21,bb,z,380,250); image(station22,cc,z,380,250); image(station23,dd,z,380,250); image(station24,ee,z,380,250); image(station25,ff,z,380,250); image(station26,gg,z,380,250); image(station27,hh,z,380,250); image(station28,ii,z,380,250); image(station29,jj,z,380,250); if(a==width/2){ delay1(3000); } if(b==width/2){ delay1(3000); } if(c==width/2){ delay1(3000); } if(d==width/2){ delay1(3000); } if(e==width/2){ delay1(3000); } if(fff==width/2){ delay1(3000); } if(g==width/2){ delay1(3000); } if(h==width/2){ delay1(3000); } if(jjj==width/2){ delay1(3000); } if(k==width/2){ delay1(3000); } if(n==width/2){ delay1(3000); } if(o==width/2){ delay1(3000); } if(p==width/2){ delay1(3000); } if(q==width/2){ delay1(3000); } if(r==width/2){ delay1(3000); } if(u==width/2){ delay1(3000); } if(v==width/2){ delay1(3000); } if(x==width/2){ delay1(3000); } if(y==width/2){ delay1(3000); } if(aa==width/2){ delay1(3000); } if(bb==width/2){ delay1(3000); } if(cc==width/2){ delay1(3000); } if(dd==width/2){ delay1(3000); } if(ee==width/2){ delay1(3000); } if(ff==width/2){ delay1(3000); } if(gg==width/2){ delay1(3000); } if(hh==width/2){ delay1(3000); } if(ii==width/2){ delay1(3000); } if(jj==width/2){ delay1(3000); } a-= speedS; b-= speedS; c-= speedS; d-= speedS; e-= speedS; fff-= speedS; g-= speedS; h-= speedS; jjj-= speedS; k-= speedS; n-= speedS; o-= speedS; p-= speedS; q-= speedS; r-= speedS; u-= speedS; v-= speedS; x-= speedS; y-= speedS; aa-= speedS; bb-= speedS; cc-= speedS; dd-= speedS; ee-= speedS; ff-= speedS; gg-= speedS; hh-= speedS; ii-= speedS; jj-= speedS; } void train(){ images = new PImage[filenames.length]; for(int i = 0; i width + bill.width*3/4) { billbacX = billback.width/4; } if(billbacX < -billback.width*3/4) { billbacX = width - billback.width/4; } billX = billX - speedbX; if(billX > width + bill.width/2) { billX = bill.width/2; } if(billX < -bill.width/2) { billX = width - bill.width/2; } } void update() { image(billback, billbacX, 100,600,280); if(billbacX > width - bill.width*3/4) { image(billback, billbacX - width, 100,600,280); } if(billX < bill.width*3/4) { image(billback, width + billbacX, 100,600,280); } image(bill, billX, 150,400,280); if(billX > width - bill.width/2) { image(bill, billX - width, 150,400,280); } if(billX < bill.width/2) { image(bill, width + billX, 150,400,280); } } void delay1(int x) { // Redefined by Fujimura delaycount = int(x/1000*frameRate); }