Câu đố con trăn

Mới lập trình? . Hướng dẫn này sẽ giúp bạn bắt đầu nhanh chóng

Chinese Translation/中文版入门

Bạn mới sử dụng Python?

Đọc Hướng dẫn/Tổng quan cho người mới bắt đầu để biết giải thích ngắn gọn về Python là gì

Bắt Python

Tiếp theo, cài đặt trình thông dịch Python 3 trên máy tính của bạn. Đây là chương trình đọc các chương trình Python và thực hiện các hướng dẫn của chúng; . Các bản phân phối Mac và Linux có thể bao gồm phiên bản lỗi thời của Python [Python 2], nhưng bạn nên cài đặt phiên bản cập nhật [Python 3]. Xem BeginnersGuide/Download để biết hướng dẫn tải xuống đúng phiên bản Python

Ngoài ra còn có các gói trình thông dịch Python và IDE có sẵn, chẳng hạn như Thonny. Các tùy chọn khác có thể được tìm thấy tại IntegratedDevelopmentEnvironments

Tại một số giai đoạn, bạn sẽ muốn chỉnh sửa và lưu mã chương trình của mình. Hãy xem HowToEditPythonCode để biết một số lời khuyên và đề xuất

Học Python

Tiếp theo, hãy đọc hướng dẫn và thử một số thử nghiệm đơn giản với trình thông dịch Python mới của bạn

Hầu hết các hướng dẫn đều cho rằng bạn biết cách chạy một chương trình trên máy tính của mình. Nếu bạn đang sử dụng Windows và cần trợ giúp về vấn đề này, hãy xem Làm cách nào để tôi chạy một chương trình trong Windows

Một số trang web cung cấp mã hóa trong trình duyệt cho những ai muốn học Python

In một bảng tóm tắt các tính năng quan trọng nhất của Python và dán nó lên tường văn phòng của bạn cho đến khi bạn biết rõ những điều cơ bản

Khi bạn đã đọc hướng dẫn, bạn có thể duyệt qua tài liệu trực tuyến của Python. Nó bao gồm một hướng dẫn có thể hữu ích, Tham khảo thư viện liệt kê tất cả các mô-đun đạt tiêu chuẩn với Python và Tham chiếu ngôn ngữ để giải thích đầy đủ [nếu hơi khô khan] về cú pháp của Python

Khi bạn sẵn sàng viết chương trình đầu tiên của mình, bạn sẽ cần một trình soạn thảo văn bản hoặc một IDE. Nếu bạn không muốn sử dụng Thonny hoặc thứ gì đó cao cấp hơn, thì bạn có thể sử dụng IDLE, đi kèm với Python và hỗ trợ các tiện ích mở rộng

Wiki Python này cũng chứa một trang về Python One-Liners -- một tiểu văn hóa ít người biết đến nhưng thú vị trong Python

Cần giúp đỡ?

Cần giúp đỡ với bất kỳ điều này?

Hầu hết các sách Python sẽ bao gồm phần giới thiệu về ngôn ngữ này;

Tham khảo Hướng dẫn/Ví dụ dành cho Người mới bắt đầu để biết các chương trình nhỏ và các đoạn mã nhỏ có thể giúp bạn tìm hiểu

Hoặc, nếu bạn thích học Python thông qua nghe giảng, bạn có thể tham gia một khóa đào tạo hoặc thậm chí thuê một giảng viên đến công ty của bạn. Tham khảo trang PythonEvents để xem liệu có bất kỳ khóa đào tạo nào được lên lịch trong khu vực của bạn hay không và trang PythonTraining để biết danh sách các giảng viên

Giáo viên có thể tham gia EDU-SIG, một danh sách gửi thư để thảo luận về việc sử dụng Python trong giảng dạy ở mọi cấp độ từ K-12 đến đại học

Danh sách đầy đủ các trang Hướng dẫn cho người mới bắt đầu

Câu đố và bài tập

Trình kiểm tra kiểu Python

  • Trình kiểm tra Python. com - Một công cụ trực tuyến mang tính giáo dục để đánh giá phong cách Python của bạn [với gợi ý và tính toán điểm động]

  • Nơi đầu tiên để xem là Python Package Index

  • Nếu bạn không thể tìm thấy bất cứ điều gì có liên quan trong Chỉ mục Gói hàng,

    hãy thử tìm kiếm trăn. org - bạn có thể tìm thấy bất cứ điều gì được đề cập trên trang web Python, trong Câu hỏi thường gặp hoặc trong nhóm tin. Thêm thông tin. nơi để tìm kiếm

  • Bạn cũng có thể thử dự án khách bên ngoài của chúng tôi, pydoc. net, để tìm kiếm gói và mô-đun nâng cao

  • Tiếp theo, hãy thử Google hoặc một công cụ tìm kiếm khác mà bạn chọn. Tìm kiếm "trăn" và một số từ khóa có liên quan thường sẽ tìm thấy thứ gì đó hữu ích

    Cam kết này không thuộc về bất kỳ nhánh nào trên kho lưu trữ này và có thể thuộc về bất kỳ nhánh nào bên ngoài kho lưu trữ

    Nội dung chính Hiển thị

    • Start
    • di chuyển
    • Luật chơi
    • phụ thuộc
    • Làm thế nào để chạy?
    • Làm thế nào để chơi?
    • active
    • Tùy chọn
    • Tài liệu
    • layer [Gạch giá trị. int]
    • Menu Layer []
    • trò chơi lớp học[]
    • Là trò chơi 2048 Impossible?
    • Có một thuật toán cho năm 2048?
    • Bạn có thể nhận được 4096 2048?
    • Logic của trò chơi 2048 là gì?

    Bạn không thể thực hiện hành động đó vào lúc này

    Bạn đã đăng nhập bằng tab hoặc cửa sổ khác. Load back to doing your new version. You was posted in a tab or other window. Load back to doing your new version

    Một triển khai pygame của trò chơi giải đố dành cho một người chơi phổ biến, 2048, được thiết kế bởi nhà phát triển web người Ý Gabriele Cirulli

    Lấy cảm hứng từ bài toán "2048" sau khi giải logic cơ bản của câu đối trên Kho lưu trữ bài toán Kattis

    Start

    1. Nhận Python 3. x and copy this archive

    2. Nhận pip, sau đó cài đặt pygame.
      ______0

    3. Chơi trò chơi.
      ______1

    di chuyển

    1. 2048 được chơi trên lưới 4×4 màu xám, với các ô được đánh số sẽ trượt khi người chơi di chuyển chúng bằng các phím mũi tên hoặc W A S D
    2. Click 'n' để bắt đầu lại trò chơi
    3. Tham gia các con số và đến năm 2048 để giành chiến thắng

    Luật chơi

    1. Mỗi lần như vậy, một ô mới sẽ xuất hiện ngẫu nhiên ở một vị trí trống trên bảng với giá trị là 2 hoặc 4
    2. Các ô trượt càng xa càng tốt theo hướng đã chọn cho đến khi chúng bị chặn lại bởi một ô khác hoặc cạnh lưới
    3. Nếu hai ô có cùng số lượng va chạm khi di chuyển, chúng sẽ hợp nhất thành một ô có tổng giá trị của hai ô đã va chạm
    4. Kết quả không thể hợp nhất lại với ô khác trong cùng một lần di chuyển
    5. Nếu một lần di chuyển làm cho ba ô liên tiếp có cùng giá trị trượt lại với nhau, thì chỉ hai ô xa nhất Dọc theo hướng chuyển động sẽ kết hợp với nhau
    6. Nếu tất cả bốn khoảng trống trong một hàng hoặc cột được lấp đầy bằng các ô có cùng giá trị, thì việc chuyển bài hát song song với hàng/cột đó sẽ kết hợp hai ô đầu tiên và hai ô cuối cùng

    Đây là một trò chơi cổ điển năm 2048 được viết bằng Python sử dụng Kivy cho GUI. Bạn không biết 2048 là gì?. đó là một trò chơi dễ dàng trong đó bạn trượt các ô được đánh số. Nếu các ô có cùng số lượng và điểm nhấn - chúng sẽ hợp nhất thành một ô có số lượng gấp đôi. Và mục tiêu của bạn đang tạo ô có kích thước 2048 hoặc thậm chí là lớn nhất có thể với lưới 4x4. [về lý thuyết là 2^17 = 131072 FYI]

    phụ thuộc

    • kivy
    • local mịch

    Làm thế nào để chạy?

    • cài đặt các thư viện trong reqirements.txt bằng lệnh pip3 install -r requirements.txt

      • Làm điều đó trong một môi trường ảo nếu bạn thích. Kiểm tra điều này để biết hướng dẫn thiết lập môi trường ảo python
    • hướng đến thư mục Kivy-2048/

    • chạy 2048. py with python3 2048.py command

    Làm thế nào để chơi?

    • Nhấp vào nút Bắt đầu để bắt đầu trò chơi mới

    active

    • with mouse. nhấn và kéo lên/xuống/trái/phải
    • có bàn phím. sử dụng các phím lên/xuống/trái/phải

    Tùy chọn

    • Sử dụng nút "Lưu" để lưu trò chơi hiện tại, trò chơi đã lưu sẽ được lưu trong tệp lưu cuộc gọi. P
      • KHÔNG thay đổi tên tệp hoặc di chuyển tệp nếu bạn không muốn mất trò chơi đã lưu của mình
    • Sử dụng nút "Tải" để tải trò chơi đã lưu trước đó

    Back code

    Mã này có cấu trúc ứng dụng Kivy điển hình. Có một lớp GameApp được kế thừa từ Ứng dụng bao gồm hai Màn hình tùy chỉnh. Màn hình Menu hoạt động như một trang theo dõi và hiển thị tiêu đề cũng như các tùy chọn cơ bản để bắt đầu và thoát. Lớp trò chơi là lớp chính. Tất cả các trò chơi khai triển đều có trong lớp này

    Tài liệu

    layer [Gạch giá trị. int]

    Một đối tượng ô xếp kế thừa từ lớp Button của Kivy. With number and background color

    Đặc tính

    • value - value of this ô [2, 4, 8, 16. ]

    phương pháp

    set_value[giá trị. int]

    Chức năng thiết lập giá trị cho thuộc tính, thay đổi văn bản ô xếp hạng và màu nền giống nhau khi thiết lập giá trị

    • thông số
      • value - value to setting
    • trả lại. không có

    get_value[]

    Hàm Getter cho giá trị thuộc tính, trả về giá trị của ô

    • thông số. không có
    • lợi nhuận. giá trị của gạch

    Menu Layer []

    Layer screen menu. Kế thừa từ lớp Kivy Screen. Bao gồm ô xếp hạng, nút bắt đầu và nút thoát

    tiện ích

    • tiêu đề - Nhãn tiện ích hiển thị tiêu đề
    • startButton - Nút tiện ích để chuyển sang màn hình Trò chơi
    • exitButton - Nút thoát game thuận tiện

    phương pháp

    bắt đầu trò chơi[]

    chức năng gọi lại cho startButton, thay đổi màn hình hiện tại thành màn hình trò chơi

    trò chơi lớp học[]

    Lớp chính. Kế thừa từ lớp Kivy Screen. Bao gồm lưới ô vuông [khu vực trò chơi chính], hiển thị số điểm và các nút lưu, tải, khởi động lại, thoát

    tiện ích

    • top_bar - BoxLayout bao gồm các điểm hiển thị và các nút
      • ScoreLabel - Nhãn tiện ích hiển thị điểm hiện tại
      • quitButton - Nút tiện ích để quay lại menu màn hình
      • restartButton - Nút tiện ích để khởi động lại trò chơi
      • saveButton - Nút tiện ích cho tuần tự hóa trò chơi và lưu vào tệp cục bộ
      • loadButton - Nút thuận tiện để tải trò chơi đã lưu trước đó
    • lưới - GridLayout bao gồm các widget 4*4 Ngói
      • ô sắp xếp - Tiện ích ô sắp xếp tùy chỉnh

    Đặc tính

    • Tỷ lệ - trong, Tỷ lệ của trò chơi hiện tại
    • over - bool, cho biết trò chơi hiện tại chưa kết thúc
    • win - bool, cho biết người chơi hiện tại có thắng hay không [tạo số 2048]
    • touch_initial - bộ của int, vị trí ban đầu của chuột khi nhấn, được sử dụng để phát hiện trượt
    • ma trận - numpy. ndarray, ma trận bao gồm các giá trị của từng ô. Triển khai trò chơi khai thác dựa trên điều này

    phương pháp

    kiểm soát

    _touch_down[]

    change body. touch_initial đến vị trí chuột nơi nút chuột được nhấn xuống

    _touch_up[]

    lấy vị trí thả nút chuột và phát hiện trượt. Move method[] phù hợp để điều khiển trò chơi

    _bàn phím_đóng[]

    Chức năng đóng bàn phím

    _on_keyboard_down[]

    chức năng gọi lại để nhận đầu vào bàn phím. Move method[] phù hợp để điều khiển trò chơi

    Trò chơi thực hiện

    add_tile[]

    thêm ngẫu nhiên một ô có số 2 hoặc 4

    get_empty[]

    Trả về một mảng numpy 2d với các vị trí của các mục trống

    di chuyển [hướng. int, used try=Sai]

    thực hiện một lượt nước của trò chơi, gọi điện cho tất cả các cột hoặc hàng

    • thông số
      • direction - int, các giá trị 0, 1, 2, 3 tương ứng là xuống, lên, phải, trái
      • used try - bool, when True. mode used to try, will not change the ma trận, used to play play the end of the game play
    • lợi nhuận. tuple [đã thay đổi, điểm số]
      • đã thay đổi - bool, cho biết nước đi này có thay đổi ma trận hay không, dùng để kiểm tra xem trò chơi chưa kết thúc
      • point - int, số điểm đạt được trong nước đi này

    change [hàng. mảng numpy 1d, hướng. int]

    thay đổi các số và kết hợp các số va chạm trong một hàng

    • thông số
      • hàng - mảng 1d numpy, hàng để thực hiện ca trên
      • direction - int, dịch chuyển sang trái nếu 0, dịch chuyển sang phải nếu 1
    • lợi nhuận. tuple [đầu ra, điểm số]
      • đầu ra - mảng 1d numpy, hàng đầu ra
      • điểm - int, điểm đạt được trong ca này

    has over[]

    kiểm tra xem trò chơi đã kết thúc chưa bằng cách thử tất cả các chuyển động có thể [gọi di chuyển [] theo cả bốn hướng]

    is_win[]

    kiểm tra xem người chơi đã đạt đến 2048 chưa

    cập nhật[]

    cập nhật các giá trị trong ma trận vào các ô xếp hạng;. chiến thắng, bản thân. end, body. điểmNhãn. chữ

    Nút chức năng

    khởi động lại[]

    chức năng gọi lại cho nút khởi động lại, đặt lại toàn bộ trò chơi

    tiết kiệm điện []

    chức năng gọi lại cho saveButton, tuần tự hóa điểm số và ma trận hiện tại và xuất ra một bộ tệp cục bộ bằng cách sử dụng dưa chua

    load[]

    chức năng gọi lại cho nút tải, đọc từ tệp đã lưu trước đó và tiếp tục trò chơi đã lưu bằng dưa chua

    từ bỏ[]

    Chức năng gọi lại cho nút thoát, thay đổi màn hình hiện tại thành menu màn hình. Nó sẽ không thiết lập lại trò chơi

Chủ Đề