0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

processing(python) リストの座標を図化 draw()の中で回数指定

Posted at

今回も、後輩からの質問でせっかく作ったので解説つけて書いていこうと思います。

やること!

  1. 皿を指定した分積む!
  2. リストにある座標の場所に円を描く
  3. ランダムな位置に車を配置!

1.の完成プログラム!

sketch.py
y = 600
count = 0

def setup():
    size(800,600)

def stack_plates(n):
    global y,count
    if count <= n:                #countが指定したnを超えたら終わる
        ellipse(width/2,y,100,10) #皿を描く
    y -= 5                        #皿を描く座標をずらす
    count += 1                    #処理が終わるたびに値を増加!

def draw():
    stack_plates(10)

###意識すること!

  1. 皿を置くたびに皿の座標をずらす必要がある
  2. draw()の中では永遠に続くので壁を作る

2.の完成プログラム!

sketch.py
def setup():
    size(800,600)
    x = [200,300,550]
    y = [100,400,300]
    d = [50,180,100]
    for i in range( len(x) ):        #len()でxの中の長さで動かす
        ellipse(x[i],y[i],d[i],d[i])

###意識すること!

  1. x,y,dに入れる値は数をそろえること!
  2. forをlen()で動かす!

##3.の完成プログラム!

sketch.py
def setup():
    size(800,600)
    pic = int(random(10)) #車の置く個数!
    for i in range(pic):
        x = random(800)   #車のx座標
        y = random(600)   #車のy座標
        sketch_car(x,y)   #関数にx,yの座標を与える!
    
def sketch_car(x,y):      #車を描く関数!
    fill(128,249,251)
    rect(x,y,50,25)
    fill(244,201,70)
    rect(x-25,y+25,100,25)
    fill(60,63,55)
    ellipse(x,y+50,25,25)
    ellipse(x+50,y+50,25,25)

###意識すること!
1.車を描くのを関数として持っておく!
2.車を各関数にx,yの引数を用意する!
3.車の書く座標をrandom関数で決める!
4.車の個数もrandomにしたいのならforを回す回数もランダムに変える!


前回と比べて説明が少なくなりましたが、意識することの内容を見ながらプログラムを見れば読み解けるようには書いたつもりなので!わからなくてできなかった人は見といて損はないと思います!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?