Khóa học Phát triển Python Nâng cao
Chương
>
Cấp độ
Bất đồng bộ/Đợi
Đánh giá bất đồng bộ
Mục tiêu
Ghi lại quá trình sản xuất chai rượu vang sử dụng hàm Async bằng cách kiểm tra hạn ngạch và hoàn thành quá trình ngâm quả nho.
Việc sản xuất chai rượu vang cần được đảm bảo nhằm đảm bảo rằng hầm chứa có thể sản xuất đủ số chai để lưu kho. Để đạt được điều này, quả nho cần được ngâm để đảm bảo mọi thứ được xử lý cho quá trình lên men và chuyển hóa thành rượu.
Đầu tiên, hãy đi đến dấu X tối với không có thảm phía trước một tờ giấy, tờ ghi chú này chứa thông tin về hạn ngạch sản phẩm cần sản xuất cũng như các ghi chú về quả nho đã được ngâm. Sử dụng hàm read() để kiểm tra hạn ngạch và ghi chú lại các giá trị của quả nho rượu, sau đó lưu chúng vào một biến có tên quota.
Khi đã biết yêu cầu, hãy đi đến các dấu X sáng và đối diện với các thùng để kiểm tra số lượng sản phẩm đã sẵn sàng cho quá trình xử lý. Sử dụng hàm read() cho cả hai để xác nhận nội dung các mục đã sẵn sàng. Tạo một biến có tên wine_berries và cộng lại các số lượng bạn đã đọc ở cả hai dấu X.
Lượng sản phẩm hoàn thành sẽ không đủ để đáp ứng hạn ngạch, hãy đi đến dấu X vàng ở góc dưới bên phải và đối diện với các túi. Sử dụng hàm collect() để lấy quả nho từ các túi và tiến hành di chuyển đến các dấu X tối trên thảm.
Có bốn (4) nồi đang ngâm quả nho để sử dụng trong rượu, trong tài liệu ghi chú cho thấy nồi nào đã sẵn sàng thu thập và nồi nào cần có quả nho được ngâm. Sử dụng hàm question() để kiểm tra xem bạn có muốn thu thập quả nho đã ngâm hay ngâm quả nho vào nồi. Trên các thảm xanh lá và vàng với dấu X tối, bạn cần thu thập quả nho, còn trên các thảm tím và xanh dương với dấu X tối, cần đặt quả nho vào nồi.
Hàm question() cần thiết để lấy sản phẩm được viết trong trình chỉnh sửa mã và được đặt tên là soaking_pot() :
async def soaking_pot():
answer = await player.question("Collect berries instead of soaking them?")
if answer:
player.collect("wine berries")
else:
player.place("berries")
Sau khi quả nho đã được thu thập, hãy đi đến dấu X vàng ở bên trái cạnh các thùng chứa quả nho và sử dụng hàm place() để đặt vào "wine berries" mà bạn đã thu thập. Trên biến bạn đã tạo wine_berries, thêm vào 100 pound sản phẩm, tức là 50 cho mỗi sản phẩm bạn đã thu thập trước đó. Việc này được thực hiện như sau: wine_berries+=100
Di chuyển đến các dấu X tối với thảm đỏ và cam, trên dấu X của thảm đỏ sử dụng hàm write() và thêm số lượng wine_berries bạn hiện có cho đến thời điểm đó như sau: player.write("There are %d pounds of product finished" % (wine_berries))
Trên dấu X thảm cam, sử dụng hàm write() để ghi lại sản phẩm mà chưa được hoàn thành. Để hoàn thành cấp độ, hãy trừ quota cho wine_berries trong khi ghi để xác định số lượng sản phẩm còn lại, như sau: player.write("There are %d pounds of product Remaining" % (quota-wine_berries))