Python All: Các phương thức chuyển động của rùa


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Trước tiên bạn cần khai báo thư viện và tạo đối tượng của Turtle

Khai báo thư viện:

from turtle import *

Tạo đối tượng của Turtle:

turtle = Turtle()

Ta cũng có thể sử dụng duy nhất 1 lệnh sau để thay thế cho 2 lệnh trên:

import turtle as turtle

Dưới đây là danh sách các phương thức chuyển động của rùa:

1. turtle.forward(khoảng cách) hoặc turtle.fd(khoảng cách)

Tham số

khoảng cách  - một số (số nguyên hoặc số float)

Di chuyển rùa về phía trước một khoảng cách xác định (tính bằng pixel) theo hướng rùa đang hướng tới.

Ví dụ:

import turtle as turtle

turtle.forward(100) #di chuyển 100 bước về phía trước

2. turtle.back(khoảng cách) hoặc turtle.bk(khoảng cách) hoặc turtle.backward(khoảng cách)

Tham số

khoảng cách  - một con số

Di chuyển rùa về phía sau một khoảng cách, ngược với hướng rùa đang đi.

Ví dụ:

import turtle as turtle

turtle.backward(100) #di chuyển 100 bước về phía sau

3. turtle.right(góc) hoặc turtle.rt(góc)

Tham số

góc  - một số (số nguyên hoặc số float)

Xoay rùa phải theo đơn vị góc. (Đơn vị theo độ mặc định, nhưng có thể được đặt qua phương thức degrees() và radians()). Hướng góc phụ thuộc vào chế độ rùa, xem  mode().

Ví dụ:

import turtle as turtle

turtle.right(90) #xoay phải (theo chiều kim đồng hồ) 90 độ

4. turtle.left(góc) hoặc turtle.lt(góc)

Tham số

góc  - một số (số nguyên hoặc số float)

Xoay trái rùa một góc (đơn vị theo độ mặc định, nhưng có thể được đặt lại bằng phương thức degrees() và radians()). Hướng góc phụ thuộc vào chế độ rùa.

Ví dụ:

import turtle as turtle

turtle.left(90) #xoay trái (ngược chiều kim đồng hồ) 90 độ

5. turtle.goto(x, y = None) hoặc turtle.setpos(x, y = None) hoặc turtle.setposition(x, y = None)

Tham số:

x - một số hoặc một cặp/vectơ số

y - một số hoặc None

Nếu y là Nonex phải là một cặp tọa độ hoặc một Vec2D (ví dụ như được trả về bởi pos()).

Di chuyển rùa đến một vị trí tuyệt đối. Nếu bút được xuống đặt xuống thì sẽ vẽ đường thẳng.

Ví dụ:

import turtle as turtle

tp = turtle.pos()
print(tp)
turtle.setpos(60, 30)
print(turtle.pos())
turtle.setpos((20, 80))
print(turtle.pos())
turtle.setpos(tp)
print(turtle.pos())

6. turtle.setx(x)

Tham số:

    x - một số (số nguyên hoặc số float)

Đặt hoành độ của rùa thành x, giữ nguyên tung độ.

Ví dụ:

>>> turtle.position()
(0.00,240.00)
>>> turtle.setx(10)
>>> turtle.position()
(10.00,240.00)

7. turtle.sety(y) 

Tham số

    y - một số (số nguyên hoặc số float)

Đặt tung độ của rùa thành y, giữ nguyên hoành độ.

Ví dụ:

>>> turtle.position()
(0.00,40.00)
>>> turtle.sety(-10)
>>> turtle.position()
(0.00,-10.00)

8. turtle.setheading(to_angle)  hoặc turtle.seth(to_angle)

Tham số:

    to_angle - một số (số nguyên hoặc số float)

Đặt hướng của rùa thành to_angle. Dưới đây là một số hướng phổ biến theo độ:

chế độ căn bản

chế độ logo

0 - đông

0 - bắc

90 - bắc

90 - đông

180 - tây

180 - nam

270 - nam

270 - tây

Ví dụ:

>>> turtle.setheading(90)
>>> turtle.heading()
90.0

9. turtle.home() 

Di chuyển rùa đến điểm gốc - tọa độ (0,0) - và đặt heading của nó thành hướng bắt đầu của nó (tùy thuộc vào chế độ, xem mode()).

Ví dụ:

>>> turtle.heading()
90.0
>>> turtle.position()
(0.00,-10.00)
>>> turtle.home()
>>> turtle.position()
(0.00,0.00)
>>> turtle.heading()
0.0

10. turtle.circle(bán_kính, phạm_vi = None, bước = None)

Tham số:

    bán_kính - một số

    phạm_vi - một số (hoặc None)

    bước - một số nguyên (hoặc None)

Vẽ một đường tròn có bán kính cho trước . Tâm là đơn vị bán kính còn lại của rùa; phạm vi - một góc - xác định phần của vòng tròn được vẽ. Nếu phạm vị là None thì sẽ vẽ toàn bộ vòng tròn. Nếu phạm vi không phải là một vòng tròn thì một điểm cuối của cung là vị trí bút hiện tại. Vẽ vòng cung theo hướng ngược chiều kim đồng hồ nếu bán kính dương, ngược lại theo chiều kim đồng hồ. Cuối cùng, hướng của rùa được thay đổi theo phạm vi.

Vì vòng tròn được xấp xỉ bởi một đa giác thông thường được ghi, nên bước sẽ xác định số bước sẽ sử dụng. Nếu không được đưa ra, nó sẽ được tính toán tự động. Có thể được sử dụng để vẽ đa giác thông thường.

Ví dụ:

>>> turtle.home()
>>> turtle.position()
(0.00,0.00)
>>> turtle.heading()
0.0
>>> turtle.circle(50)
>>> turtle.position()
(-0.00,0.00)
>>> turtle.heading()
0.0
>>> turtle.circle(120, 180)  # draw a semicircle
>>> turtle.position()
(0.00,240.00)
>>> turtle.heading()
180.0

11. turtle.dot(kích_thước = None, "color")

Tham số:

    kích_thước - một số nguyên >= 1 hoặc None

    color - một chuỗi màu hoặc một bộ màu số

Vẽ một chấm tròn có đường kính là kích_thước, có màu là color. Nếu kích_thước không được đưa ra thì các giá trị penize+4 và 2*penize được sử dụng.

Ví dụ:

>>> turtle.home()
>>> turtle.dot()
>>> turtle.fd(50); turtle.dot(20, "blue"); turtle.fd(50)
>>> turtle.position()
(100.00,-0.00)
>>> turtle.heading()
0.0

12. turtle.stamp()

Đóng dấu một bản sao của hình dạng rùa lên khung vẽ ở vị trí rùa hiện tại. Trả lại tem_id cho tem đó, có thể được sử dụng để xóa nó bằng cách gọi clearstamp(stamp_id).

Ví dụ:

>>> turtle.color("blue")
>>> turtle.stamp()
11
>>> turtle.fd(50)

13. turtle.clearstamp(stampid)

Tham số

    stampid - một số nguyên, phải là giá trị trả về của hàm stamp().

Xóa stamp với stampid đã cho.

Ví dụ:

>>> turtle.position()
(150.00,-0.00)
>>> turtle.color("blue")
>>> astamp = turtle.stamp()
>>> turtle.fd(50)
>>> turtle.position()
(200.00,-0.00)
>>> turtle.clearstamp(astamp)
>>> turtle.position()
(200.00,-0.00)

14. turtle.clearstamps(n = None)

Tham số

    n - một số nguyên (hoặc None)

Xóa tất cả hoặc n stamp đầu hoặc cuối của turtle. Nếu n là None, xóa tất cả các stamp, nếu n > 0 xóa n stamp đầu tiên, nếu n <0 xóa n stamp cuối cùng.

>>> for i in range(8):
...     turtle.stamp(); turtle.fd(30)
13
14
15
16
17
18
19
20
>>> turtle.clearstamps(2)
>>> turtle.clearstamps(-2)
>>> turtle.clearstamps()

15. turtle.undo()

Hoàn tác (lặp đi lặp lại) những hành động cuối của turtle. Số lượng các hành động hoàn tác có sẵn được xác định bởi kích thước của undobuffer.

Ví dụ:

>>> for i in range(4):
...     turtle.fd(50); turtle.lt(80)
...
>>> for i in range(8):
...     turtle.undo()

16. turtle.speed(tốc độ = None)

Tham số

    tốc độ - một số nguyên trong phạm vi 0..10 hoặc chuỗi tốc độ (xem bên dưới)

Đặt tốc độ của rùa thành giá trị nguyên trong phạm vi 0..10. Nếu không có đối số được đưa ra, trả về tốc độ hiện tại.

Nếu đầu vào là một số lớn hơn 10 hoặc nhỏ hơn 0.5 thì tốc độ được đặt thành 0. Tốc độ được ánh xạ tới các giá trị tốc độ như sau:

  • “fastest”: 0
  • “fast”: 10
  • “normal”: 6
  • “slow”: 3
  • “slowest”: 1

Tốc độ từ 1 đến 10 thực thi hoạt hình ngày càng nhanh hơn khi vẽ đường thẳng và quay rùa.

Chú ý: tốc độ = 0 có nghĩa là không có hoạt hình diễn ra. forward/backward làm cho rùa nhảy và tương tự left/right làm cho rùa quay ngay lập tức.

Ví dụ:

>>> turtle.speed()
3
>>> turtle.speed('normal')
>>> turtle.speed()
6
>>> turtle.speed(9)
>>> turtle.speed()
9
» Tiếp: Làm việc với vị trí của rùa
« Trước: Solution: Chia một số nguyên thành các thừa số nguyên tố
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!