コンテンツにスキップ

オブジェクト指向の良さがちょっとだけわかるかもしれない教材

img01.png

事前準備

下記のプログラムコードをまるっとコピーしてProcessingに貼り付けてみましょう。

class Player{
public float x = 100;
public float y = 300;
public float w = 30;
public float h = 30;
public float dx;
public float dy;
float speed;
boolean isGround;
int jumpCount = 0;
public void mydraw(){
// mydrawの中はいじらないぞ!
speed *= 0.9;
if(speed < 1){
speed = 1;
h = 30;
}
x += dx * speed;
dy += 1;
y += dy;
if(y > 300){
y = 300;
isGround = true;
jumpCount = 0;
}
fill(255);
rect(x, y + 30 - h, w, h);
}
// ジャンプをする命令
public void jump(){
if(jumpCount < 1){
dy = -15;
isGround = false;
jumpCount += 1;
}
}
// 左に行く命令
public void left(){
dx = -1;
}
// 右に行く命令
public void right(){
dx = 1;
}
// スライディングする命令
public void sliding(){
if(isGround){
speed = 10;
h = 20;
}
}
}
Player player01;
void setup(){
size(600, 400);
player01 = new Player();
}
void draw(){
background(0);
player01.mydraw();
rect(0, 330, width, 100);
}
void keyPressed(){
}

練習問題

  1. キーボードの何かを押して右に動かしてみよう。

    ヒント:

    void keyPressed(){
    // ここに何かを書くぞ
    }
  2. キーボードの右矢印を押したときに右に動かしてみよう。

  3. キーボードの左矢印を押したときに左に動かしてみよう。

  4. キーボードの上矢印を押したときにジャンプさせてみよう。

  5. キーボードの下矢印を押した時に○○○をさせてみよう。

  6. 色を変える命令を作ってみよう。

  7. 二段ジャンプができるようにしてみよう。

  8. もう1人、プレイヤーを増やしてみよう。