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/
发表评论 取消回复