python好玩的游戏代码大全

Python是一种高级编程语言,其具有简单易学、功能强大、可扩展性好、支持多种编程范式等特点,因此在各个领域都有广泛应用。除了在开发web应用、机器学习、深度学习等领域有应用外,Python也有很多有趣的游戏和小工具可以开发。

一、好玩的游戏代码

1.飞机大战游戏

飞机大战游戏是一款非常经典的游戏,其核心思想是飞机移动、发射子弹和消灭敌人飞机。以下是飞机大战游戏的部分代码:

```python

import pygame

from pygame.locals import *

# 初始化pygame

pygame.init()

# 创建游戏窗口

screen = pygame.display.set_mode((480, 700))

# 设置标题

pygame.display.set_caption("飞机大战")

# 加载背景图片

bg = pygame.image.load("images/background.png")

# 加载飞机图片

hero = pygame.image.load("images/hero.png")

# 设置飞机的初始位置

hero_rect = pygame.Rect(200, 500, 102, 126)

# 游戏循环

while True:

# 获取事件

for event in pygame.event.get():

if event.type == QUIT:

pygame.quit()

exit()

# 绘制背景

screen.blit(bg, (0, 0))

# 绘制飞机

screen.blit(hero, hero_rect)

# 更新屏幕

pygame.display.update()

```

2.俄罗斯方块游戏

俄罗斯方块游戏是另一款非常经典的游戏,其核心思想是控制不同形状的方块从上至下不断地落下,满行则消去。以下是俄罗斯方块游戏的部分代码:

```python

import pygame

import random

from pygame.locals import *

# 常量定义

WINDOW_WIDTH = 480

WINDOW_HEIGHT = 700

BLOCK_SIZE = 20

TOP_OFFSET = 30

BOTTOM_OFFSET = 50

# 颜色定义

BLACK = (0, 0, 0)

WHITE = (255, 255, 255)

RED = (255, 0, 0)

GREEN = (0, 255, 0)

BLUE = (0, 0, 255)

YELLOW = (255, 255, 0)

CYAN = (0, 255, 255)

PURPLE = (255, 0, 255)

# 方块定义

BLOCKS = [

[(0, 0), (0, 1), (1, 1), (1, 0)], # 方块

[(0, 0), (0, -1), (1, 0), (1, 1)], # Z字型

[(0, 0), (0, -1), (1, 0), (1, -1)], # S字型

[(0, 0), (0, -1), (1, -1), (1, -2)], # J字型

[(0, 0), (0, -1), (1, 0), (2, 0)], # L字型

[(0, 0), (0, -1), (0, 1), (1, 0)], # T字型

[(0, 0), (1, 0), (2, 0), (2, 1)], # I字型

]

# 初始化pygame

pygame.init()

# 创建游戏窗口

screen = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))

# 设置标题

pygame.display.set_caption("俄罗斯方块")

# 加载字体

score_font = pygame.font.SysFont(None, 36)

# 游戏变量

clock = pygame.time.Clock()

score = 0

curr_block = random.choice(BLOCKS)

block_color = random.choice([RED, GREEN, BLUE, YELLOW, CYAN, PURPLE])

block_x = (WINDOW_WIDTH // BLOCK_SIZE) // 2

block_y = 0

# 游戏状态

game_running = True

while game_running:

# 处理事件

for event in pygame.event.get():

if event.type == QUIT:

game_running = False

elif event.type == KEYDOWN:

if event.key == K_LEFT:

block_x -= 1

if not check_block_pos():

block_x += 1

elif event.key == K_RIGHT:

block_x += 1

if not check_block_pos():

block_x -= 1

elif event.key == K_UP:

rotate_block()

if not check_block_pos():

rotate_block()

elif event.key == K_DOWN:

block_y += 1

if not check_block_pos():

block_y -= 1

elif event.key == K_SPACE:

while check_block_pos():

block_y += 1

block_y -= 1

# 更新方块位置

block_y += 1

if not check_block_pos():

block_y -= 1

for block in curr_block:

x = block[0] + block_x

y = block[1] + block_y

if y >= 0:

board[y][x] = block_color

check_board_full()

curr_block = random.choice(BLOCKS)

block_color = random.choice([RED, GREEN, BLUE, YELLOW, CYAN, PURPLE])

block_x = (WINDOW_WIDTH // BLOCK_SIZE) // 2

block_y = 0

score += 10

# 绘制方块和界面

draw_screen()

draw_block()

pygame.display.update()

# 游戏帧率

clock.tick(30)

# 退出pygame

pygame.quit()

```

二、有用的小工具代码

1.文件批量重命名工具

文件批量重命名工具是一款非常常用的小工具,其核心思想是批量重命名指定目录下的所有文件。以下是文件批量重命名工具的部分代码:

```python

import os

# 文件批量重命名

def batch_rename(src, old_suffix, new_suffix):

for root, dirs, files in os.walk(src):

for filename in files:

if filename.endswith(old_suffix):

old_name = os.path.join(root, filename)

new_name = os.path.join(root, filename[:-len(old_suffix)] + new_suffix)

os.rename(old_name, new_name)

```

2.定时器小工具

定时器小工具是一款非常有用的小工具,其核心思想是执行指定时间后触发一个回调函数。以下是定时器小工具的部分代码:

```python

import time

# 定时器

def timer(interval, callback, args=(), kwargs={}):

while True:

time.sleep(interval)

callback(*args, **kwargs)

```

以上是Python中的一些简单的游戏和小工具代码,可以帮助大家更加深入地了解Python这门编程语言的应用。希望这篇文章对Python初学者有所帮助,同时也希望大家能够利用Python这门语言去创造更多的有趣的应用。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(53) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部