Xây dựng trò chơi với Python
Python là một ngôn ngữ lập trình nổi tiếng. Python rất dễ hiểu và viết mã. Nó được cho là thân thiện với nhà phát triển. Bất kỳ người mới bắt đầu nào cũng có thể học cách viết mã bằng python trong một khoảng thời gian ngắn Show Một số tính năng thú vị nhất của ngôn ngữ này như sau
Tạo trò chơi dễ dàng bằng PythonBây giờ, hãy triển khai một số trò chơi đơn giản trong Python mà bạn có thể xây dựng khi mới bắt đầu để bắt đầu quá trình học tập của mình 1. Trò chơi đố vui trong PythonĐây là một trò chơi dựa trên văn bản rất đơn giản trong python. Đây là một bài kiểm tra nhỏ mà bạn có thể làm cho chính mình hoặc bạn bè của mình. Chúng tôi không cần nhập bất kỳ mô-đun nào cho trò chơi này, điều này giúp dễ dàng hơn. Hãy tự mình thử 😉 Đây là sử dụng
print('Welcome to AskPython Quiz') answer=input('Are you ready to play the Quiz ? (yes/no) :') score=0 total_questions=3 if answer.lower()=='yes': answer=input('Question 1: What is your Favourite programming language?') if answer.lower()=='python': score += 1 print('correct') else: print('Wrong Answer :(') answer=input('Question 2: Do you follow any author on AskPython? ') if answer.lower()=='yes': score += 1 print('correct') else: print('Wrong Answer :(') answer=input('Question 3: What is the name of your favourite website for learning Python?') if answer.lower()=='askpython': score += 1 print('correct') else: print('Wrong Answer :(') print('Thankyou for Playing this small quiz game, you attempted',score,"questions correctly!") mark=(score/total_questions)*100 print('Marks obtained:',mark) print('BYE!') đầu ra Welcome to AskPython Quiz Are you ready to play the Quiz ? (yes/no) :yes Question 1: What is your Favourite programming language?python correct Question 2: Do you follow any author on AskPython? yes correct Question 3: What is the name of your favourite website for learning Python?askpython correct Thankyou for Playing this small quiz game, you attempted 3 questions correctly! Marks obtained: 100.0 BYE! 2. Trò chơi Pong trong PythonHầu hết chúng ta đã nghe nói về trò chơi bóng bàn nổi tiếng. Nhiều người trong chúng ta thích chơi nó. Hôm nay hãy cùng tìm hiểu cách viết mã trò chơi cổ điển này bằng ngôn ngữ lập trình python Trước khi bắt đầu với phần mã hóa, trước tiên chúng ta cần cài đặt mô-đun rùa. Mô-đun con rùa là thư viện Python cho phép người dùng tạo ảnh và hình dạng bằng cách cung cấp cho họ một canvas ảo Nếu bạn chưa có nó, bạn có thể cài đặt thư viện bằng cách sử dụng pip C:\Users\Admin>pip install turtle Đọc thêm về thư viện rùa trong tài liệu chính thức của họ Tự mình thử mã import turtle as t playerAscore=0 playerBscore=0 #create a window and declare a variable called window and call the screen() window=t.Screen() window.title("The Pong Game") window.bgcolor("green") window.setup(width=800,height=600) window.tracer(0) #Creating the left paddle leftpaddle=t.Turtle() leftpaddle.speed(0) leftpaddle.shape("square") leftpaddle.color("white") leftpaddle.shapesize(stretch_wid=5,stretch_len=1) leftpaddle.penup() leftpaddle.goto(-350,0) #Creating the right paddle rightpaddle=t.Turtle() rightpaddle.speed(0) rightpaddle.shape("square") rightpaddle.color("white") rightpaddle.shapesize(stretch_wid=5,stretch_len=1) rightpaddle.penup() rightpaddle.goto(-350,0) #Code for creating the ball ball=t.Turtle() ball.speed(0) ball.shape("circle") ball.color("red") ball.penup() ball.goto(5,5) ballxdirection=0.2 ballydirection=0.2 #Code for creating pen for scorecard update pen=t.Turtle() pen.speed(0) pen.color("Blue") pen.penup() pen.hideturtle() pen.goto(0,260) pen.write("score",align="center",font=('Arial',24,'normal')) #code for moving the leftpaddle def leftpaddleup(): y=leftpaddle.ycor() y=y+90 leftpaddle.sety(y) def leftpaddledown(): y=leftpaddle.ycor() y=y+90 leftpaddle.sety(y) #code for moving the rightpaddle def rightpaddleup(): y=rightpaddle.ycor() y=y+90 rightpaddle.sety(y) def rightpaddledown(): y=rightpaddle.ycor() y=y+90 rightpaddle.sety(y) #Assign keys to play window.listen() window.onkeypress(leftpaddleup,'w') window.onkeypress(leftpaddledown,'s') window.onkeypress(rightpaddleup,'Up') window.onkeypress(rightpaddledown,'Down') while True: window.update() #moving the ball ball.setx(ball.xcor()+ballxdirection) ball.sety(ball.ycor()+ballxdirection) #border set up if ball.ycor()>290: ball.sety(290) ballydirection=ballydirection*-1 if ball.ycor()<-290: ball.sety(-290) ballydirection=ballydirection*-1 if ball.xcor() > 390: ball.goto(0,0) ball_dx = ball_dx * -1 player_a_score = player_a_score + 1 pen.clear() pen.write("Player A: {} Player B: {} ".format(player_a_score,player_b_score),align="center",font=('Monaco',24,"normal")) os.system("afplay wallhit.wav&") if(ball.xcor()) < -390: # Left width paddle Border ball.goto(0,0) ball_dx = ball_dx * -1 player_b_score = player_b_score + 1 pen.clear() pen.write("Player A: {} Player B: {} ".format(player_a_score,player_b_score),align="center",font=('Monaco',24,"normal")) os.system("afplay wallhit.wav&") # Handling the collisions with paddles. if(ball.xcor() > 340) and (ball.xcor() < 350) and (ball.ycor() < rightpaddle.ycor() + 40 and ball.ycor() > rightpaddle.ycor() - 40): ball.setx(340) ball_dx = ball_dx * -1 os.system("afplay paddle.wav&") if(ball.xcor() < -340) and (ball.xcor() > -350) and (ball.ycor() < leftpaddle.ycor() + 40 and ball.ycor() > leftpaddle.ycor() - 40): ball.setx(-340) ball_dx = ball_dx * -1 os.system("afplay paddle.wav&") đầu ra trò chơi bóng bàn3. Trò chơi rắn đói trong PythonĐây là trò chơi yêu thích nhất của chúng tôi khi chúng tôi còn nhỏ. Chúng tôi thực sự có thể viết mã trò chơi này bằng python bằng cách chỉ nhập hai mô-đun. Làm thế nào là mát mẻ đó Bắt đầu nào Đầu tiên, chúng ta cần cài đặt rùa. Nếu bạn chưa cài đặt nó, hãy mở cmd của bạn và gõ lệnh sau C:\Users\Admin>pip install turtle Bây giờ chúng ta sẽ cài đặt mô-đun ngẫu nhiên. Mô-đun ngẫu nhiên được sử dụng để tạo số ngẫu nhiên. Trong cmd của bạn gõ lệnh sau C:\Users\Admin>pip install random2 Viết mã và tự mình thử và tận hưởng trò chơi import turtle import random w = 500 h = 500 food_size = 10 delay = 100 offsets = { "up": (0, 20), "down": (0, -20), "left": (-20, 0), "right": (20, 0) } def reset(): global snake, snake_dir, food_position, pen snake = [[0, 0], [0, 20], [0, 40], [0, 60], [0, 80]] snake_dir = "up" food_position = get_random_food_position() food.goto(food_position) move_snake() def move_snake(): global snake_dir new_head = snake[-1].copy() new_head[0] = snake[-1][0] + offsets[snake_dir][0] new_head[1] = snake[-1][1] + offsets[snake_dir][1] if new_head in snake[:-1]: reset() else: snake.append(new_head) if not food_collision(): snake.pop(0) if snake[-1][0] > w / 2: snake[-1][0] -= w elif snake[-1][0] < - w / 2: snake[-1][0] += w elif snake[-1][1] > h / 2: snake[-1][1] -= h elif snake[-1][1] < -h / 2: snake[-1][1] += h pen.clearstamps() for segment in snake: pen.goto(segment[0], segment[1]) pen.stamp() screen.update() turtle.ontimer(move_snake, delay) def food_collision(): global food_position if get_distance(snake[-1], food_position) < 20: food_position = get_random_food_position() food.goto(food_position) return True return False def get_random_food_position(): x = random.randint(- w / 2 + food_size, w / 2 - food_size) y = random.randint(- h / 2 + food_size, h / 2 - food_size) return (x, y) def get_distance(pos1, pos2): x1, y1 = pos1 x2, y2 = pos2 distance = ((y2 - y1) ** 2 + (x2 - x1) ** 2) ** 0.5 return distance def go_up(): global snake_dir if snake_dir != "down": snake_dir = "up" def go_right(): global snake_dir if snake_dir != "left": snake_dir = "right" def go_down(): global snake_dir if snake_dir!= "up": snake_dir = "down" def go_left(): global snake_dir if snake_dir != "right": snake_dir = "left" screen = turtle.Screen() screen.setup(w, h) screen.title("Snake") screen.bgcolor("blue") screen.setup(500, 500) screen.tracer(0) pen = turtle.Turtle("square") pen.penup() food = turtle.Turtle() food.shape("square") food.color("yellow") food.shapesize(food_size / 20) food.penup() screen.listen() screen.onkey(go_up, "Up") screen.onkey(go_right, "Right") screen.onkey(go_down, "Down") screen.onkey(go_left, "Left") reset() turtle.done() đầu ra Phần kết luậnVà đó là nó. Đây là một số trò chơi dễ dàng trong Python mà bạn có thể tạo khi mới bắt đầu và tận hưởng niềm vui. Chúng tôi thích xây dựng những dự án này và chúng tôi hy vọng bạn cũng vậy Python hay C++ tốt hơn để phát triển trò chơi?C++ là ngôn ngữ lập trình tốt để phát triển trò chơi vì nó nhanh và hiệu quả. Các nhà phát triển trò chơi sử dụng C++ để tạo các trò chơi có hiệu suất cao và nó cũng có nhiều công cụ sửa lỗi, điều này rất quan trọng đối với việc phát triển trò chơi. Các ngôn ngữ khác, chẳng hạn như Python, được thiết kế để dễ đọc và đơn giản.
Bạn có thể xây dựng trò chơi 3D bằng Python không?Nếu bạn quan tâm đến việc tìm hiểu cách sử dụng Pygame để tạo trò chơi 3D, hai trang web dành riêng cho Python 3D là Python 3D(py3d. org) và Phần mềm Python 3D . Bạn có thể tìm thấy một số dự án trò chơi 3D có sẵn tại đây. PyWeek là một trang web thách thức lập trình hai năm một lần sản xuất một số trò chơi tuyệt vời.
Python có tốt cho phát triển trò chơi 3D không?Mặc dù các studio trò chơi lớn sử dụng các ngôn ngữ mang lại tốc độ cao hơn và cho phép đồ họa đẹp hơn, Python có rất nhiều lợi ích khiến ngôn ngữ này trở thành ngôn ngữ đặc biệt hữu ích để phát triển trò chơi. |