python

۱۳۸۸ آبان ۴, دوشنبه

session 5 (to be completed)

تمرین 1:
توپ را درون یک مثلث حرکت دهید.
کد مربوط به مستطیل:
from turtle import *
speed(0)
x = 50
y = 70
dx = 5
dy = 5
minx = 0
miny = 0
maxx, maxy = 200 , 100

def update(x, y, dx, dy, minx , miny, maxx, maxy):
    if y < miny or y > maxy:
        dy = -1 * dy
    if x < minx or x > maxx:
        dx = -1 * dx
    x = x + dx
    y = y + dy
    return x, y, dx, dy

def draw(x, y, dx, dy, minx , miny, maxx, maxy):
    begin_fill()
    goto(x,y)
    clear()
    circle(10)
    end_fill()


for t in range(200):
    x, y, dx, dy = update(x, y, dx, dy, minx , miny, maxx, maxy)
    draw(x, y, dx, dy, minx , miny, maxx, maxy)

تمرین 1:
توپ را درون یک هرم حرکت دهید.
کد مربوط به مستطیل:
from turtle import *
speed(0)
hideturtle()
x = 50
y = 70
z = 60
dx = 5
dy = 5
dz = 5
minx = 0
miny = 0
maxx, maxy = 200 , 100
minz, maxz = 0 , 200


def update(x, y, z, dx, dy, dz, minx , miny, minz, maxx, maxy, maxz):
    if y < miny or y > maxy:
        dy = -1 * dy
    if x < minx or x > maxx:
        dx = -1 * dx
    if z < minz or z > maxz:
        dz = -1 * dz
    x = x + dx
    y = y + dy
    z = z + dz
    return x, y, z, dx, dy, dz

def draw(x, y, z, dx, dy, dz, minx , miny, minz, maxx, maxy, maxz):
    begin_fill()
    goto(x,y)
    clear()
    circle(z/20)
    end_fill()


for t in range(200):
    x, y, z, dx, dy, dz = update(x, y, z, dx, dy, dz, minx , miny, minz, maxx, maxy, maxz)
    draw(x, y, z, dx, dy, dz, minx , miny, minz, maxx, maxy, maxz)


0 نظر:

ارسال یک نظر

اشتراک در نظرات پیام [Atom]

<< صفحهٔ اصلی