練習問題6-3-2
例題6-3-1 を改造し、上下の矢印キー でも円が動くようにしなさい。左右の動きはそのまま残してください。
let x = 200;
let y = 200;
let speed = 3;
function setup() {
createCanvas(400, 400);
}
function draw() {
background(234, 244, 255);
if (keyIsDown(LEFT_ARROW)) x -= speed;
if (keyIsDown(RIGHT_ARROW)) x += speed;
if (keyIsDown(UP_ARROW)) y -=speed
fill(180, 220, 255);
noStroke();
circle(x, y, 40);
}
練習問題6-3-3
練習問題6-3-2 のプログラムを改造し、円が 画面の外にはみ出さない ようにしなさい。
let x = 200;
let y = 200;
let speed = 3;
let r = 20
function setup() {
createCanvas(400, 400);
}
function draw() {
background(234, 244, 255);
if (keyIsDown(LEFT_ARROW)) x -= speed;
if (keyIsDown(RIGHT_ARROW)) x += speed;
if (keyIsDown(UP_ARROW)) y -=speed
if (keyIsDown(DOWN_ARROW))y +=speed
fill(180, 220, 255);
noStroke();
if(x>=width-r){
x-=speed
}else if(x<=0+r){
x+=speed
}else if(y>=height-r){
y-=speed
}else if(y<=0+r){
y+=speed
}
circle(x, y, r*2);
}
練習問題6-3-5
例題6-3-4 を改造し、Enter キー を押すたびに文字サイズが大きくなるようにしなさい。
- 矢印キーや Enter などは
keyだけでは判定しづらいので、keyCodeを使い、keyCode === ENTERのように判定します。 sizeという変数で文字サイズを覚えておき、Enter が押されたらsizeを8ずつ増やしなさい。
let size = 24;
function setup() {
createCanvas(400, 400);
textSize(size);
textAlign(CENTER, CENTER);
background(234, 244, 255);
}
function draw() {
}
function keyPressed() {
fill(0, 0, 80);
if(keyCode === ENTER){
size += 8
}
textSize(size);
let x = random(0, width);
let y = random(0, height);
text(key, x, y);
}
練習問題6-3-6
練習問題6-3-5 を改造し、Enter キーではなく 確率 で文字サイズが決まるようにしなさい。
let size = 24;
function setup() {
createCanvas(400, 400);
textSize(size);
textAlign(CENTER, CENTER);
background(234, 244, 255);
}
function draw() {
}
function keyPressed() {
fill(0, 0, 80);
let probability =random(0, 100)
if(probability < 5){
size=96
}else if(probability < 15){
size=64
}else if(probability < 35){
size=40
}else if(probability < 65){
size=32
}else{
size=24
}
textSize(size);
let x = random(0, width);
let y = random(0, height);
text(key, x, y);
}