*テストに向けて復習回 [#ad113cd8]
**配列 [#f12c7d43]
思い出そう
-配列の作り方
-配列の利用方法

練習:
練習:~
以下の配列とfor文を使用し,下図を描画せよ.

 float[] ds = {200, 180, 140, 80, 50, 30, 10};

#ref(./q1.png);

**関数 [#x79b769a]
思い出そう
-関数の作り方
-戻り値,引数
-再帰

練習:
練習:~
画面内を縦線が動いている.縦線より左にマウスカーソルがあった場合左の領域を塗りつぶすプログラムを以下に示す.ただし,戻り値をbooleanとし,引数に指定されたx座標よりもマウスカーソルが存在する場合,trueを,それ以外はfalseを返すisMouseInLeft関数を完成させること.

 int x = 0;
 int dx = 1;
 
 void setup()
 {
   size(300, 300);
   fill(0, 0, 255);
 }
 
 void draw()
 {
   background(255, 255, 255);
   
   x += dx;
   if (x > width)
   {
     x = width;
     dx = -dx;
   }
   if (x < 0)
   {
     x = 0;
     dx = -dx;
   }
   
   if (isMouseInLeft(x))
   {
     rect(0, 0, x, height);
   }
   line(x, 0, x, height);
 }
 
 //isMouseInLeft関数を作る

#ref(./q2.png);

**クラス [#a8191cda]
思い出そう
-クラスの作り方
--インスタンス
--メンバ(属性)
--メソッド
--オーバーロード
--アクセサメソッド
--コンストラクタ
--デフォルトコンストラクタ
--暗示的コンストラクタ
--包含関係(has-a関係)

練習:
Vector2クラスを加えるとモグラたたきゲームができる.ゲームを完成させよ.
練習:~
以下のプログラムにVector2クラスを加えるとモグラたたきゲームができる.ゲームを完成させよ.

 //Vector2クラスを作る
 
 class Box
 {
   Vector2 p;
   float w;
   float h;
   int life;
   boolean clicked;
   boolean erase;
   
   Box(float x, float y, float w, float h, int life)
   {
     this.p = new Vector2(x, y);
     this.w = w;
     this.h = h;
     this.life = life;
     this.clicked = false;
     this.erase = false;
   }
   
   void mouseCheck()
   {
     if (mouseX >= p.getX() && mouseX <= p.getX() + w &&
         mouseY >= p.getY() && mouseY <= p.getY() + h)
     {
         clicked = true;
         erase = true;
     }
   }
   
   boolean isClicked()
   {
     return clicked;
   }
   
   boolean isErased()
   {
     return erase;
   }
   
   void move()
   {
     life--;
     if (life <= 0)
       erase = true;
   }
   
   void draw()
   {
     fill(0, 0, 255);
     rect(p.getX(), p.getY(), w, h);
   }
 } 
 
 Box box;
 int score = 0; 
 
 void setup() {
   size(400, 400);
   box = new Box(random(width), random(height), random(10, 50), random(10, 50),  (int)random(300, 500)); 
 }
 
 void draw() {
   background(255, 255, 255);
   
   box.move();
   if (box.isErased())
   {
     if (box.isClicked())
       score++;
     box = new Box(random(width), random(height), random(10, 50), random(10, 50),  (int)random(10, 50)); 
   } 
   
   text("score:"+score, 0, 10);
   
   box.draw();
 } 
 
 void mousePressed() {
   box.mouseCheck();
 } 

#ref(./q3.png);

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS