課題専用のプレイグラウンドを使用して、
300px * 300pxのcanvasにアルバムアートをテーマに絵を書いてください。
条件:
繰り返し(for文)が使われていること
関数(function)が使われていること
1限用プレイグラウンド
2限用プレイグラウンド
C限用プレイグラウンド
基本的なJavaScriptの書き方は下記を別途参照してください。
プログラミングチートシート
横の軸はX軸といいます。
左端が0で、右にいくほど数が大きくなり、もっとも右端が300になります
縦の軸はY軸といいます。
上端が0で、下にいくほど数が大きくなり、もっとも下端が300になります
ctx.fillRect(10,10,10,10)
ctx.strokeLine(10,10,20,20)
Rは赤、Gは緑、Bは青です。それぞれの値を0~255の値で指定して、色を混ぜて指定します。
var r = 100
var g = 200
var b = 200
console.log(`rgb(${r},${g},${b})`)
ctx.fillStyle = 'rgb(100,200,200)'
ctx.font = "24px serif" // 文字のサイズと種類
ctx.textAlign = "center" // 中央揃え
ctx.fillText("hello world", 150, 150) //テキスト, x座標, y座標
for(var i = 0; i < 30; ++i) {
ctx.fillRect(10 * i, 10, 5, 5)
}
for(var i = 0; i < 30; ++i) {
for(var j = 0; j < 30; ++j) {
ctx.fillRect(10 * i, 10 * j, 5, 5)
}
}
function fillCircle(x, y, radius) {
ctx.beginPath()
ctx.arc(x, y, radius, 0, 2 * Math.PI)
ctx.fill()
return true
}
fillCircle(10, 10, 10)
ctx.stroke() となっているところが塗りつぶしとの差分です。
function fillCircleStroke(x, y, radius) {
ctx.beginPath()
ctx.arc(x, y, radius, 0, 2 * Math.PI)
ctx.stroke()
return true
}
fillCircleStroke(10, 10, 10)
function stamp (x, y) {
ctx.fillRect(x, y+10, 30, 10)
ctx.fillRect(x+10, y, 10, 30)
}
stamp(10,10)
Math.random()0以上~1未満の間の不動点少数のランダムな値が取れます。
Math.random() * 100
Math.floor(1.2)
var x = Math.random() * 290 var y = Math.random() * 290 ctx.fillRect(x, y, 10, 10)
function stamp (x, y) {
ctx.fillRect(x, y+10, 30, 10)
ctx.fillRect(x+10, y, 10, 30)
}
for(var i = 0; i < 7; ++i) {
stamp(10+i*40,10)
}