前提・実現したいこと
processingでホッケーゲームを作成しています。
ホッケーゲームまではできたのですが
時間経つごとにスピードを速くしていきたいです。
発生している問題・エラーメッセージ
エラーメッセージはありません。
該当のソースコード
processing
1float x_speed=3.0 ,y_speed=3.0 ,bar_speed=3.0; 2float Lbar_x=70, Lbar_y=210; 3float Rbar_x=730, Rbar_y=210; 4float ball_x=400, ball_y=250, ball_r=30; 5boolean w,s,up,down; 6int Lscore=0, Rscore=0; 7PFont WinFont; 8int time1=4000; 9 10 11void setup(){ 12 size(800,500); 13 WinFont=loadFont("CalistoMT-BoldItalic-48.vlw"); 14 frameRate(100); 15 int time=millis(); 16} 17 18 19void keyPressed() {//キーを押した時 20 if (key == 'w') w = true; 21 if (key == 's') s = true; 22 if (keyCode == UP) up = true; 23 if (keyCode == DOWN) down = true; 24} 25 26void keyReleased() {//キー離した時 27 if (key == 'w') w = false; 28 if (key == 's') s = false; 29 if (keyCode == UP) up = false; 30 if (keyCode == DOWN) down = false; 31} 32 33void draw(){ 34 background(0,206,209); 35 speed(); 36 stroke(255); 37 stage(); 38 noStroke(); 39 Lbar(); 40 Rbar(); 41 ball(); 42 Score(); 43} 44 45void speed(){ 46 int time=millis(); 47 if(time>time1){ 48 x_speed=5.0 ; 49 y_speed=5.0 ; 50 bar_speed=5.0; 51 } 52} 53 54void stage(){ 55 strokeWeight(10); 56 line(width/2,0,width/2,height); 57 noFill(); 58 strokeWeight(5); 59 ellipse(width/2,height/2,150,150); 60} 61 62 63void Lbar(){ 64 fill(255,0,0); 65 if (w) {//上に移動 66 Lbar_y -= bar_speed; 67 } 68 if (s) {//下に移動 69 Lbar_y += bar_speed; 70 } 71 if(Lbar_y<0){//上部barのstop 72 Lbar_y=0; 73 } 74 if(Lbar_y>420){//下部barのstop 75 Lbar_y=420; 76 } 77 rect(Lbar_x,Lbar_y,20,80); 78} 79 80void Rbar(){ 81 fill(0,0,255); 82 if (up) {//上に移動 83 Rbar_y -= bar_speed; 84 } 85 if (down) {//下に移動 86 Rbar_y += bar_speed; 87 } 88 if(Rbar_y<0){//上部barのstop 89 Rbar_y=0; 90 } 91 if(Rbar_y>420){//下部barのstop 92 Rbar_y=420; 93 } 94 rect(Rbar_x,Rbar_y,20,80); 95} 96 97void ball(){ 98 fill(255); 99 ellipse(ball_x,ball_y,ball_r,ball_r); 100 //通常運動 101 ball_x+=x_speed; 102 ball_y+=y_speed; 103 //右壁の跳ね返り 104 if(ball_x>width-ball_r/2){ 105 x_speed=-x_speed; 106 ball_x=400; ball_y=250; 107 Lscore+=1; 108 } 109 //左の跳ね返り 110 if(ball_x<ball_r/2){ 111 x_speed=-x_speed; 112 ball_x=400; ball_y=250; 113 Rscore+=1; 114 } 115 //下の跳ね返り 116 if(ball_y>height-ball_r/2){ 117 y_speed=-y_speed; 118 } 119 //上の跳ね返り 120 if(ball_y<ball_r/2){ 121 y_speed=-y_speed; 122 } 123 //Lbarとの当たり判定 124 if(ball_x-ball_r/2==90){ 125 if(Lbar_y<=ball_y&&ball_y<=Lbar_y+80){ 126 x_speed=-x_speed; 127 } 128 } 129 //Rbarとの当たり判定 130 if(ball_x+ball_r/2==730){ 131 if(Rbar_y<=ball_y&&ball_y<=Rbar_y+80){ 132 x_speed=-x_speed; 133 } 134 } 135 136} 137void Score(){ 138 textSize(30); 139 fill(0); 140 text("Rscore"+Rscore,660,30); 141 text("Lscore"+Lscore,30,30); 142 if(Lscore==10){ 143 noLoop(); 144 fill(255,0,0); 145 textFont(WinFont,100); 146 textAlign(CENTER); 147 text(" L ",width/2,height/2-60); 148 text("YouWin",width/2,height/2+60); 149 } 150 if(Rscore==10){ 151 noLoop(); 152 fill(0,0,255); 153 textFont(WinFont,100); 154 textAlign(CENTER); 155 text(" R ",width/2,height/2-60); 156 text("YouWin",width/2,height/2+60); 157 } 158}
試したこと
timeを宣言する場所を変えてみましたができませんでした
補足情報(FW/ツールのバージョンなど)
windows10,processing3.5.4