当前位置:   article > 正文

python做小游戏代码可复制,python做小游戏代码300行_简单的游戏代码复制

简单的游戏代码复制

这篇文章主要介绍了用python做一个小游戏代码,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

在这里插入图片描述

大家好,我是沐尘而生,如果你是一个热爱编程的小伙伴,又想尝试游戏开发,那么这篇文章一定能满足你的好奇心。不废话,让我们马上进入Python游戏开发的精彩世界吧!

Python游戏开发的魅力
编写小游戏不仅仅是锻炼编程技能的好方法,更是展现创意和享受成果的绝佳途径python的游戏编程软件。Python作为一门易学易用的编程语言,为游戏开发提供了丰富的可能性。

游戏举例一:经典猜数字游戏

让我们先来玩一个经典的猜数字游戏。玩家需要猜测一个随机生成的数字,通过与计算机的互动,体验成就感和乐趣。

  1. import random
  2. target_number = random.randint(1, 100)
  3. attempts = 0
  4. guess = 0
  5. print("欢迎来到“沐尘而生的猜数字游戏”!")
  6. while guess != target_number:
  7. guess = int(input("请输入你猜的数字:"))
  8. attempts += 1
  9. if guess < target_number:
  10. print("猜小了,再试试!")
  11. elif guess > target_number:
  12. print("猜大了,再试试!")
  13. else:
  14. print(f"恭喜你,猜对了!你用了{attempts}次。")

在这里插入图片描述

游戏举例二:经典贪吃蛇游戏

接下来,我们来编写一个经典的贪吃蛇游戏。玩家将控制一条小蛇在屏幕上移动,吃掉食物,逐渐变长。游戏不仅考验反应速度,还充满了策略性。

  1. import pygame
  2. import random
  3. # 初始化
  4. pygame.init()
  5. # 设置游戏窗口
  6. WINDOW_SIZE = (640, 480)
  7. window = pygame.display.set_mode(WINDOW_SIZE)
  8. pygame.display.set_caption("Snake Game by Muchen")
  9. # 颜色定义
  10. WHITE = (255, 255, 255)
  11. GREEN = (0, 255, 0)
  12. BLACK = (0, 0, 0)
  13. # 蛇和食物定义
  14. snake_pos = [100, 50]
  15. snake_body = [[100, 50], [90, 50], [80, 50]]
  16. food_pos = [random.randrange(1, 64) * 10, random.randrange(1, 48) * 10]
  17. # 游戏逻辑函数
  18. def update_snake():
  19. global food_pos, snake_pos, snake_body
  20. # 移动蛇头
  21. snake_pos[0] += direction[0]
  22. snake_pos[1] += direction[1]
  23. # 判断是否吃到食物
  24. if snake_pos == food_pos:
  25. food_pos = [random.randrange(1, 64) * 10, random.randrange(1, 48) * 10]
  26. else:
  27. snake_body.pop()
  28. # 将新的蛇头添加到蛇身上
  29. snake_body.insert(0, list(snake_pos))
  30. def update_food():
  31. global food_pos
  32. # 绘制食物
  33. pygame.draw.rect(window, WHITE, pygame.Rect(food_pos[0], food_pos[1], 10, 10))
  34. # 判断食物是否被吃掉
  35. if snake_pos == food_pos:
  36. food_pos = [random.randrange(1, 64) * 10, random.randrange(1, 48) * 10]
  37. snake_body.append([0, 0])
  38. def draw_snake():
  39. # 绘制贪吃蛇
  40. for pos in snake_body:
  41. pygame.draw.rect(window, GREEN, pygame.Rect(pos[0], pos[1], 10, 10))
  42. # 初始化方向
  43. direction = [0, -10]
  44. # 游戏主循环
  45. while True:
  46. for event in pygame.event.get():
  47. if event.type == pygame.QUIT:
  48. pygame.quit()
  49. quit()
  50. # 获取键盘输入
  51. keys = pygame.key.get_pressed()
  52. # 判断方向
  53. if keys[pygame.K_LEFT] and direction != [10, 0]:
  54. direction = [-10, 0]
  55. elif keys[pygame.K_RIGHT] and direction != [-10, 0]:
  56. direction = [10, 0]
  57. elif keys[pygame.K_UP] and direction != [0, 10]:
  58. direction = [0, -10]
  59. elif keys[pygame.K_DOWN] and direction != [0, -10]:
  60. direction = [0, 10]
  61. # 更新蛇和食物
  62. update_snake()
  63. update_food()
  64. # 清空屏幕,绘制蛇和食物
  65. window.fill(BLACK)
  66. draw_snake()
  67. # 更新窗口
  68. pygame.display.update()

在这里插入图片描述

游戏举例三:飞机大战游戏

我们来编写一个飞机大战游戏。玩家将操控一架飞机,躲避敌人的子弹,同时射击敌人,体验刺激和挑战。

  1. import pygame
  2. # 初始化
  3. pygame.init()
  4. # 设置游戏窗口
  5. window_size = (640, 480)
  6. window = pygame.display.set_mode(window_size)
  7. pygame.display.set_caption("沐尘而生的飞机大战游戏")
  8. # 颜色定义
  9. white = (255, 255, 255)
  10. black = (0, 0, 0)
  11. red = (255, 0, 0)
  12. # 飞机和子弹定义
  13. plane_width, plane_height = 40, 40
  14. plane = pygame.Rect(window_size[0]/2-plane_width/2, window_size[1]-plane_height-20, plane_width, plane_height)
  15. bullet_width, bullet_height = 5, 15
  16. bullet = pygame.Rect(0, 0, bullet_width, bullet_height)
  17. bullet_state = "ready"
  18. # 游戏主循环
  19. while True:
  20. for event in pygame.event.get():
  21. if event.type == pygame.QUIT:
  22. pygame.quit()
  23. quit()
  24. # 飞机的移动逻辑
  25. keys = pygame.key.get_pressed()
  26. if keys[pygame.K_LEFT]:
  27. plane.x -= 5
  28. if keys[pygame.K_RIGHT]:
  29. plane.x += 5
  30. if keys[pygame.K_SPACE] and bullet_state == "ready":
  31. bullet_state = "fire"
  32. bullet.centerx = plane.centerx
  33. bullet.y = plane.y
  34. # 子弹的移动逻辑
  35. if bullet_state == "fire":
  36. bullet.y -= 10
  37. if bullet.y <= 0:
  38. bullet_state = "ready"
  39. # 绘制飞机和子弹
  40. window.fill(black)
  41. pygame.draw.rect(window, white, plane)
  42. pygame.draw.rect(window, red, bullet)
  43. # 更新窗口
  44. pygame.display.update()

在这里插入图片描述

举例四:打砖块游戏

最后,我们来使用Python和Pygame库编写一个打砖块游戏:

  1. import pygame
  2. import random
  3. # 初始化
  4. pygame.init()
  5. # 设置游戏窗口
  6. window_size = (640, 480)
  7. window = pygame.display.set_mode(window_size)
  8. pygame.display.set_caption("沐尘而生的打砖块游戏")
  9. # 颜色定义
  10. WHITE = (255, 255, 255)
  11. GREEN = (0, 255, 0)
  12. BLUE = (0, 0, 255)
  13. BLACK = (0, 0, 0)
  14. # 砖块的定义
  15. brick_width = 60
  16. brick_height = 20
  17. brick_margin = 5
  18. bricks = []
  19. for row in range(5):
  20. for column in range(10):
  21. rect = pygame.Rect(column * (brick_width + brick_margin), row * (brick_height + brick_margin), brick_width, brick_height)
  22. bricks.append(rect)
  23. # 球的定义
  24. ball_size = 20
  25. ball = pygame.Rect(window_size[0] // 2 - ball_size // 2, window_size[1] // 2 - ball_size // 2, ball_size, ball_size)
  26. ball_speed = [5, 5]
  27. # 板子的定义
  28. paddle_width = 100
  29. paddle_height = 10
  30. paddle = pygame.Rect(window_size[0] // 2 - paddle_width // 2, window_size[1] - paddle_height * 2, paddle_width, paddle_height)
  31. # 游戏主循环
  32. while True:
  33. for event in pygame.event.get():
  34. if event.type == pygame.QUIT:
  35. pygame.quit()
  36. quit()
  37. # 球的移动逻辑
  38. ball.x += ball_speed[0]
  39. ball.y += ball_speed[1]
  40. # 球与窗口边界的碰撞检测
  41. if ball.left <= 0 or ball.right >= window_size[0]:
  42. ball_speed[0] = -ball_speed[0]
  43. if ball.top <= 0:
  44. ball_speed[1] = -ball_speed[1]
  45. # 球与板子的碰撞检测
  46. if ball.colliderect(paddle):
  47. ball_speed[1] = -ball_speed[1]
  48. # 球与砖块的碰撞检测
  49. for brick in bricks:
  50. if ball.colliderect(brick):
  51. bricks.remove(brick)
  52. ball_speed[1] = -ball_speed[1]
  53. break
  54. # 板子移动逻辑
  55. keys = pygame.key.get_pressed()
  56. if keys[pygame.K_LEFT]:
  57. paddle.x -= 5
  58. if keys[pygame.K_RIGHT]:
  59. paddle.x += 5
  60. # 确保板子不会移出窗口
  61. if paddle.left < 0:
  62. paddle.left = 0
  63. if paddle.right > window_size[0]:
  64. paddle.right = window_size[0]
  65. # 更新窗口
  66. window.fill(BLACK)
  67. pygame.draw.rect(window, WHITE, paddle)
  68. pygame.draw.ellipse(window, BLUE, ball)
  69. for brick in bricks:
  70. pygame.draw.rect(window, GREEN, brick)
  71. pygame.display.update()

在这里插入图片描述

通过以上几个精彩的小游戏示例,我们深入了解了如何使用Python进行游戏开发。从猜数字、贪吃蛇,到飞机大战、打砖块游戏,每个游戏都散发着独特的魅力。无论你是Python新手还是有一定经验的开发者,都可以从编写小游戏中获得乐趣和成就感。希望这篇文章能够激发你的创意,开启你的游戏编程之旅。如果你对这些小游戏有任何问题或想法,欢迎在评论区与我交流。感谢大家的阅读!

在这里插入图片描述

文章知识点与官方知识档案匹配,可进一步学习相关知识
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/123368
推荐阅读
相关标签
  

闽ICP备14008679号