program tester; global finished = 0; score = 0; topscore = 0; begin SET_MODE(320,240,16); LOAD_FPG("tester.fpg"); ball(160,120); paddle(5,120); paddle(315,120); WRITE_INT(0,160,5,1,&score); loop if (finished == 1 and key(_control)) DELETE_text(0); WRITE_INT(0,160,5,1,&score); ball(160,120); finished = 0; score = 0; end; frame; end; end; process ball(x,y) local int dx = 5; int dy = 5; int dys=1; begin graph = 1; loop x+=dx; y+=dy; if(COLLISION(TYPE paddle)) score += 1; dx = -dx; dys = dy/abs(dy); dy = rand(1,5)*dys; end if(y<3 or y>237)dy = -dy;end if(x<0 or x>320) gameover(); return; end; frame; end; end; process paddle(x,y) begin graph=2; loop if(key(_up) and y>10)y-=5;end if(key(_down) and y<230)y+=5;end frame; end; end; process gameover() begin write(0,160,110,4,"GameOver"); write(0,160,120,4,"press A to try again"); write(0,160,130,1,"top score: "); if (score>topscore) topscore=score; end; write_int(0,195,130,0,&topscore); finished = 1; return; end;