Python là ngôn ngữ linh hoạt nhất và nó có mặt ở hầu hết mọi lĩnh vực bao gồm phát triển Web, Học máy, Trí tuệ nhân tạo, Ứng dụng GUI cũng như Phát triển trò chơi
Python cung cấp một thư viện có sẵn gọi là pygame, được sử dụng để phát triển trò chơi. Khi chúng ta hiểu các khái niệm cơ bản về lập trình Python, chúng ta có thể sử dụng thư viện pygame để tạo các trò chơi có đồ họa hấp dẫn, hoạt ảnh và âm thanh phù hợp
Pygame là một thư viện đa nền tảng được sử dụng để thiết kế trò chơi điện tử. Nó bao gồm đồ họa máy tính và thư viện âm thanh để cung cấp trải nghiệm trò chơi tiêu chuẩn cho người dùng
Nó được phát triển bởi Pete Shinners để thay thế PySDL
Điều kiện tiên quyết cho Pygame
Để học pygame, chúng ta phải hiểu ngôn ngữ lập trình Python
Cài đặt Pygame
Mở terminal dòng lệnh và gõ lệnh sau để cài đặt pygame
Chúng tôi cũng có thể cài đặt nó thông qua IDE. Để biết thêm hướng dẫn cài đặt, hãy truy cập hướng dẫn pygame hoàn chỉnh của chúng tôi [https. //www. javatpoint. com/pygame]. Ở đây bạn sẽ tìm thấy tất cả các giải thích cơ bản về pygame
Ví dụ Pygame đơn giản
Dưới đây là ví dụ sau về việc tạo một cửa sổ pygame đơn giản
đầu ra
Tất cả đồ họa sẽ vẽ trong cửa sổ pygame
Hãy tìm hiểu cú pháp cơ bản của chương trình trên
nhập pygame - Đây là mô-đun cho phép chúng tôi làm việc với tất cả các chức năng của pygame
pygame. init[] - Nó được sử dụng để khởi tạo tất cả các mô-đun cần thiết của pygame
pygame. trưng bày. set_mode[[width, height]] - Dùng để thay đổi kích thước cửa sổ. Nó sẽ trả về đối tượng bề mặt. Đối tượng bề mặt được sử dụng để thực hiện các hoạt động đồ họa
pygame. Sự kiện. get[] - Nó làm trống hàng đợi sự kiện. Nếu chúng ta không gọi nó, các thông báo trong cửa sổ sẽ bắt đầu chồng chất và trò chơi sẽ không phản hồi theo quan điểm của hệ điều hành
pygame. QUIT - Dùng để loại bỏ sự kiện khi ta click vào nút chéo ở góc cửa sổ
pygame. trưng bày. flip[] - Nó được sử dụng để phản ánh mọi cập nhật cho trò chơi. Nếu chúng tôi thực hiện bất kỳ thay đổi nào thì chúng tôi cần gọi màn hình. hàm lật []
Chúng ta có thể vẽ bất kỳ hình dạng nào lên bề mặt pygame bao gồm thêm hình ảnh, phông chữ hấp dẫn. Pygame cung cấp nhiều chức năng tích hợp để vẽ hình dạng hình học lên màn hình. Những hình dạng này là giai đoạn ban đầu để phát triển một trò chơi
Hãy hiểu ví dụ sau về vẽ hình ra màn hình
Thí dụ -
đầu ra
Giải trình -
Trong ví dụ trên, chúng ta đã vẽ các hình khác nhau như hình tam giác, đường thẳng, hình chữ nhật, hình elip, hình tròn, hình cung, hình tròn đầy và hình bầu dục. Chúng tôi đã sử dụng pygame. vẽ chức năng theo hình dạng với các đối số phù hợp
Ví dụ - Phát triển trò chơi rắn sử dụng Pygame
Chương trình -
đầu ra
Nếu con rắn chạm vào chính nó thì nó sẽ kết thúc trò chơi và hiển thị thông báo sau
Chúng ta có thể chơi lại bằng cách nhấp vào nút OK. Chúng tôi có thể thấy điểm của mình trong thiết bị đầu cuối Pycharm [Chúng tôi đã sử dụng Pycharm IDE; bạn có thể sử dụng bất kỳ IDE Python nào]
Sao chép đoạn mã trên và dán nó vào IDE của bạn và tận hưởng. Để hiểu các khái niệm về Pygame, hãy truy cập hướng dẫn đầy đủ về pygame của chúng tôi
Điều đầu tiên bạn cần làm để tạo trò chơi bằng Pygame là cài đặt nó trên hệ thống của bạn. Để làm điều đó, bạn chỉ cần sử dụng lệnh sau
pip cài đặt pygame
Khi đã xong, chỉ cần nhập Pygame và bắt đầu phát triển trò chơi của bạn. Trước khi tiếp tục, hãy xem các chức năng Pygame đã được sử dụng trong Trò chơi rắn này cùng với mô tả của chúng
Mô tả chức năngtrong đó[]
Khởi tạo tất cả các mô-đun Pygame đã nhập [trả về một bộ dữ liệu cho biết quá trình khởi tạo thành công và thất bại]trưng bày. đặt chế độ[]
Lấy một bộ hoặc một danh sách làm tham số của nó để tạo bề mặt [ưu tiên bộ]cập nhật[]
Cập nhật màn hìnhtừ bỏ[]
Được sử dụng để hủy khởi tạo mọi thứset_caption[]
Sẽ đặt văn bản chú thích trên đầu màn hình hiển thịSự kiện. lấy[]
Trả về danh sách tất cả các sự kiệnMặt. lấp đầy[]
Sẽ lấp đầy bề mặt với một màu đồng nhấtthời gian. Cái đồng hồ[]
Giúp theo dõi thời giannét chữ. SysFont[]
Sẽ tạo phông chữ Pygame từ tài nguyên phông chữ Hệ thốngTạo màn hình
Để tạo màn hình bằng Pygame, bạn sẽ cần sử dụng màn hình. hàm set_mode[]. Ngoài ra, bạn sẽ phải sử dụng các phương thức init[] và quit[] để khởi tạo và hủy khởi tạo mọi thứ ở đầu và cuối mã. Phương thức update[] được sử dụng để cập nhật bất kỳ thay đổi nào được thực hiện đối với màn hình. Có một phương pháp khác tôi. e flip[] hoạt động tương tự như hàm update[]. Sự khác biệt là phương thức update[] chỉ cập nhật những thay đổi được thực hiện [tuy nhiên, nếu không có tham số nào được truyền, nó sẽ cập nhật toàn bộ màn hình] nhưng phương thức flip[] sẽ thực hiện lại toàn bộ màn hình
MÃ SỐ
import pygame pygame.init[] dis=pygame.display.set_mode[[400,300]] pygame.display.update[] pygame.quit[] quit[]
ĐẦU RA
Nhưng khi bạn chạy mã này, màn hình sẽ xuất hiện, nhưng nó cũng sẽ đóng lại ngay lập tức. Để khắc phục điều đó, bạn nên tận dụng vòng lặp trò chơi bằng vòng lặp while trước khi tôi thực sự thoát khỏi trò chơi như sau
import pygame pygame.init[] dis=pygame.display.set_mode[[400,300]] pygame.display.update[] pygame.display.set_caption['Snake game by Edureka'] game_over=False while not game_over: for event in pygame.event.get[]: print[event] #prints out all the actions that take place on the screen pygame.quit[] quit[]
Khi bạn chạy mã này, bạn sẽ thấy rằng màn hình mà bạn đã thấy trước đó không thoát và đồng thời, nó trả về tất cả các hành động diễn ra trên đó. Tôi đã làm điều đó bằng cách sử dụng sự kiện. get[] hàm. Ngoài ra, tôi đã đặt tên cho màn hình là “Trò chơi rắn của Edureka” bằng cách sử dụng màn hình. hàm set_caption[]
ĐẦU RA
Cuối cùng nhưng không kém phần quan trọng, bạn sẽ cần hiển thị điểm của người chơi. Để làm điều này, tôi đã tạo một chức năng mới là “Your_score”. Hàm này sẽ hiển thị chiều dài của con rắn trừ đi 1 vì đó là kích thước ban đầu của con rắn
import pygame import time import random pygame.init[] white = [255, 255, 255] yellow = [255, 255, 102] black = [0, 0, 0] red = [213, 50, 80] green = [0, 255, 0] blue = [50, 153, 213] dis_width = 600 dis_height = 400 dis = pygame.display.set_mode[[dis_width, dis_height]] pygame.display.set_caption['Snake Game by Edureka'] clock = pygame.time.Clock[] snake_block = 10 snake_speed = 15 font_style = pygame.font.SysFont["bahnschrift", 25] score_font = pygame.font.SysFont["comicsansms", 35] def Your_score[score]: value = score_font.render["Your Score: " + str[score], True, yellow] dis.blit[value, [0, 0]] def our_snake[snake_block, snake_list]: for x in snake_list: pygame.draw.rect[dis, black, [x[0], x[1], snake_block, snake_block]] def message[msg, color]: mesg = font_style.render[msg, True, color] dis.blit[mesg, [dis_width / 6, dis_height / 3]] def gameLoop[]: game_over = False game_close = False x1 = dis_width / 2 y1 = dis_height / 2 x1_change = 0 y1_change = 0 snake_List = [] Length_of_snake = 1 foodx = round[random.randrange[0, dis_width - snake_block] / 10.0] * 10.0 foody = round[random.randrange[0, dis_height - snake_block] / 10.0] * 10.0 while not game_over: while game_close == True: dis.fill[blue] message["You Lost! Press C-Play Again or Q-Quit", red] Your_score[Length_of_snake - 1] pygame.display.update[] for event in pygame.event.get[]: if event.type == pygame.KEYDOWN: if event.key == pygame.K_q: game_over = True game_close = False if event.key == pygame.K_c: gameLoop[] for event in pygame.event.get[]: if event.type == pygame.QUIT: game_over = True if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: x1_change = -snake_block y1_change = 0 elif event.key == pygame.K_RIGHT: x1_change = snake_block y1_change = 0 elif event.key == pygame.K_UP: y1_change = -snake_block x1_change = 0 elif event.key == pygame.K_DOWN: y1_change = snake_block x1_change = 0 if x1 >= dis_width or x1 < 0 or y1 >= dis_height or y1 < 0: game_close = True x1 += x1_change y1 += y1_change dis.fill[blue] pygame.draw.rect[dis, green, [foodx, foody, snake_block, snake_block]] snake_Head = [] snake_Head.append[x1] snake_Head.append[y1] snake_List.append[snake_Head] if len[snake_List] > Length_of_snake: del snake_List[0] for x in snake_List[:-1]: if x == snake_Head: game_close = True our_snake[snake_block, snake_List] Your_score[Length_of_snake - 1] pygame.display.update[] if x1 == foodx and y1 == foody: foodx = round[random.randrange[0, dis_width - snake_block] / 10.0] * 10.0 foody = round[random.randrange[0, dis_height - snake_block] / 10.0] * 10.0 Length_of_snake += 1 clock.tick[snake_speed] pygame.quit[] quit[] gameLoop[]
ĐẦU RA
Đến đây, chúng ta đã kết thúc bài viết này về Trò chơi rắn trong Python. Tôi hy vọng bạn rõ ràng với tất cả những gì đã được chia sẻ với bạn trong bài viết này. Hãy chắc chắn rằng bạn thực hành càng nhiều càng tốt và hoàn nguyên kinh nghiệm của bạn.
Có một câu hỏi cho chúng tôi?
Để có kiến thức chuyên sâu về bất kỳ công nghệ thịnh hành nào cùng với các ứng dụng khác nhau của nó, bạn có thể đăng ký khóa đào tạo Chứng chỉ Python trực tiếp với sự hỗ trợ 24/7 và quyền truy cập trọn đời.