04-09 マウスイベント

学習日

2026年03月31日

名前

河西恵太

練習問題4-9-1

2つのコインをそれぞれ、マウスを押すたびに反転しなさい。

回答

let coin;
let flag = false;
let x = 100, y = 100;
function preload() {
    Acoin = loadImage('front.png');
    Bcoin = loadImage('back.png');
}

function setup() {
  createCanvas(400, 400);
}

function draw() {
  background(255);
    if (flag)
    image(Acoin, x, y, 100, 100);
  else
    image(Bcoin, x, y, 100, 100);
}

function mouseDragged() {
  x = mouseX-50;
  y = mouseY-50;
}
function mousePressed() {
    flag = !flag;
}

練習問題4-9-2

カードを「裏→表→裏→表…」と、交互に表示させるプログラムを作りましょう。
ただし、「表」を表示させるときには、2種類のカードがあり、そのどちらかがランダムに表示されるようにします。

回答

let coin;
let junn = 0;
let nibuiti = 0;
let x = 100,
  y = 100;
function preload() {
  AC1 = loadImage("cardFront1.jpg");
  AC2 = loadImage("cardFront2.jpg");
  BC = loadImage("cardBack.jpg");
}

function setup() {
  createCanvas(400, 400);
}

function draw() {
  background(255);
  if (junn % 2 == 0) 
    image(BC, 50, 50, 230, 300);
  else if (nibuiti == 1) 
    image(AC1, 50, 50, 230, 300);
  else 
    image(AC2, 50, 50, 230, 300);
}
function mousePressed() {
  nibuiti = Math.floor(random(1, 3));
  junn += 1;
}

感想

前回やった時どのようにするプログラムなのかがわからなくなることがあるので次回やることと理解できるよう少しでもいいから文章を残しておく必要がある思いました。また今回もミスがあったのですがしっかりひとつづつ確認することが大事ということがわかりました。

コメントする