/*
 EGGX を使ったサンプル  473088 榎田裕一郎
 跳ね返る球
*/

#include <stdio.h>
#include <stdlib.h>
#include <eggx.h>

int main() {
  int win, seed;
  float x, y, w, dx, dy;

  printf("random seed = ");
  scanf("%d",&seed);
  srand(seed); 

  win=gopen(400,400);  /* 描画ウィンドウを開く */
  winname(win, "sample 1"); /* 名前をつける */

  gsetbgcolor(win, "white"); /* 背景色を白に */
  newpen(win, 2);            /* 色は赤に固定 */

  x=(float)(rand() % 400);   /* x 座標位置はランダム */
  y=(float)(rand() % 400);   /* y 座標位置もランダム */
  w=10.0;                    /* 球の半径を決める */
  dx=1.5 * w;                /* x 方向の移動速度 */
  dy=0.8 * w;                /* y 方向の移動速度 */

  while(1) {
    gclr(win);                 /* 画面を消去 */
    fillarc(win, x, y, w, w, 0.0, 360.0, 1); /* 球を描く */
    y+= dy;  
    if( y < 0.0 || y > 400.0 ) dy*=(-1.0);
    x+= dx;  
    if( x < 0.0 || x > 400.0 ) dx*=(-1.0);
    msleep(50);                /* 少し待つ */
  }

  /* このプログラムは終了しないので return 0; などは無し */

}

