打游戏也能学会Python:自动化脚本与爬虫实战入门指南

发布时间:2026/8/30 10:48:44
打游戏也能学会Python:自动化脚本与爬虫实战入门指南 导员说出这句话的时候我正在宿舍一边开黑一边在终端里跑脚本。他站在我背后看了半分钟屏幕上那一堆花花绿绿的输出和自动生成的表格让他彻底没法把“天天打游戏”和“会写Python”画上等号。其实不只是我很多同学都有类似的经历表面上在打游戏实际上已经被游戏里的“重复操作”折磨得不行——每天要刷的日常、每周要升级的装备、每次开新图都要重新整理的素材全靠手动太累了。于是我开始想能不能写点自动化脚本让Python替我做这些事这一想就收不住了。从批量整理文件到写一个文字版的小游戏再到抓取游戏攻略页面的数据我从一个只会print(Hello World)的新手慢慢变成了能独立写出一个完整小项目的入门开发者。说实话打游戏这个爱好反而成了我学Python的原始动力。这篇文章我想用同样“游戏化”的方式带你走一遍 Python 学习路径从安装环境、理解基础语法到写三个适合新手的实战小项目再到常见报错排查和工程实践建议。不管你是想应付期末大作业还是真的想把 Python 变成生产力工具这篇文章都值得收藏后慢慢看。1. 背景与核心概念1.1 为什么“打游戏”也能学会 Python很多人对编程有一个误解觉得编程是数学学霸的专利觉得写代码必须有很强的逻辑基础。但真正接触之后你会发现编程更像“设定规则 调用工具”。游戏本身就是由规则组成的血量低于 0 就失败经验值攒满就升级背包满了就不能再捡东西。这些规则翻译成 Python 代码其实就是变量、条件判断、循环和函数。所以如果你天天打游戏你其实已经具备了一种和程序员非常接近的能力拆解流程。打 Boss 要分阶段刷副本要先清小怪合成装备要先准备材料——这就是编程里的“分解问题”。Python 语法简单读起来像英文用来把这些流程表达出来再合适不过。这也是为什么我建议新手从 Python 入门而不是一上来就啃 C 或 Java。另一个原因是游戏场景能带来明确的即时反馈。你写了一个自动点击脚本手机会自己帮你清日常你写了一个文本小游戏室友真的能玩上几分钟。这种“写一点就有效果”的正反馈是很多新手坚持不下去时最缺的东西。1.2 Python 到底是什么Python 是一种解释型、面向对象的高级编程语言由 Guido van Rossum 于 1991 年发布。它的设计理念是“优雅、明确、简单”。和 C、Java 这类编译型语言相比Python 不需要手动管理内存语法也更接近自然语言。举一个最简单的对比。C 语言输出 “Hello World” 需要先引入头文件再写 main 函数#include stdio.h int main() { printf(Hello World\n); return 0; }Python 只需要一行print(Hello World)这就是 Python 的优势代码量更少学习曲线更平滑。对于非科班同学、希望通过脚本解决实际问题的开发者或者想快速实现想法的人来说Python 几乎是最优选择。Python 的用途非常广常见方向包括Web 后端开发使用 Django、Flask 等框架数据分析和可视化使用 pandas、matplotlib机器学习和人工智能使用 scikit-learn、PyTorch自动化脚本比如批量处理文件、爬取公开网页数据游戏开发主要用于快速原型验证也可以结合 Pygame 写小游戏。1.3 游戏党学 Python 的常见应用场景结合我自己的经历身边同学学 Python 最常遇到的场景有下面几类场景对应 Python 技能批量整理游戏截图、录像、素材文件os、shutil、pathlib 文件操作自动签到、定时领取游戏内资源schedule、time 定时任务抓取游戏官网或论坛的攻略数据requests、BeautifulSoup 爬虫做一个小游戏给别人玩基础语法 random 函数分析游戏数值、胜率、装备收益pandas、matplotlib 数据分析这些场景并不需要一开始就掌握很高深的算法。你只要会“用 Python 调用现成功能”和“写简单逻辑”就能做出非常实用的工具。这个过程中你会自然接触到语法、函数、第三方库、异常处理等核心知识。2. 环境准备与版本说明在写代码之前得先把 Python 环境装好。很多新手出问题不是代码写错而是环境没配好。2.1 下载与安装 PythonPython 官方下载网址是https://www.python.org/downloads/。打开后默认会推荐最新稳定版点击 Download 即可。如果你无法访问官网也可以通过国内镜像站下载安装包。不同操作系统的安装方式不一样。Windows 下安装步骤下载.exe安装包双击运行第一步一定要勾选Add Python to PATH点击 Install Now等待完成安装完成后按Win R输入cmd在命令行输入python --version如果输出类似于Python 3.12.4说明安装成功。这里版本号会根据你实际安装的版本显示不需要纠结具体数字只要看到Python 3.x.x即可。macOS 下可以直接下载官方.pkg安装包也可以在终端使用 Homebrew 安装brew install pythonLinux 系统通常自带 Python 3但版本可能较旧一般用系统包管理器安装# Ubuntu / Debian sudo apt update sudo apt install python3 python3-pip2.2 配置环境变量环境变量的作用是让操作系统在任意目录下都能找到python命令。Windows 安装时勾选 Add Python to PATH 后一般不需要手动配置。但如果之前没勾选可以按下面的方式检查。在命令行输入pip --version如果提示pip 不是内部或外部命令说明 PATH 没有配置好。解决办法右键“此电脑” - “属性” - “高级系统设置”点击“环境变量”在“系统变量”中找到Path点击“编辑”添加 Python 的安装路径和Scripts目录例如C:\Users\你的用户名\AppData\Local\Programs\Python\Python312\和C:\Users\你的用户名\AppData\Local\Programs\Python\Python312\Scripts\保存后重新打开命令行。需要注意的是不同版本的 Python 安装路径不同一定要以你本机的实际路径为准不要照搬文章里的路径。2.3 选择 IDEPyCharm 还是 VSCode安装完 Python 之后你需要一个写代码的工具也就是 IDE。新手常用的是两个选择PyCharmJetBrains 出品专门针对 Python 开发自动补全、调试、虚拟环境管理都非常友好。社区版免费适合学习和中小型项目。VSCode微软出品的轻量级编辑器插件生态丰富装一个 Python 扩展后体验也很不错。以 VSCode 为例装好之后需要安装官方 Python 插件打开 VSCode点击左侧扩展图标或按CtrlShiftX搜索 “Python”选择 “Python” 插件并安装打开一个.py文件后右下角选择解释器指向你安装的 Python 版本。PyCharm 社区版在新建项目时可以直接选择基于哪个 Python 解释器并自动创建虚拟环境对新手更省心。如果完全不知道选哪个可以先从 PyCharm 开始。2.4 使用虚拟环境和 pip 管理依赖虚拟环境是一个独立的 Python 运行空间可以避免不同项目之间的第三方库版本冲突。这是工程开发里非常重要的一步但很多新手都会跳过。在项目目录下创建虚拟环境的命令python -m venv venv激活虚拟环境Windowsvenv\Scripts\activatemacOS / Linuxsource venv/bin/activate激活后命令行前面会出现(venv)标记表示当前处于虚拟环境中。之后安装的包都会被装到这个环境里不会污染全局环境。安装第三方库使用 pippip install requests把项目依赖导出到文件pip freeze requirements.txt以后在新环境还原依赖pip install -r requirements.txt3. Python 核心语法速通从游戏视角理解这一节我们用“游戏视角”理解 Python 的基础语法。你不需要背只需要跟着示例在本地跑一遍建立感觉。3.1 变量和数据类型游戏角色属性在游戏里角色有名字、血量、攻击力、是否存活等属性。Python 里用变量来保存这些信息。name 勇者 hp 100 attack 25 is_alive True print(角色名字, name) print(当前血量, hp) print(攻击力, attack) print(是否存活, is_alive)这里用到了几种常见的数据类型类型示例说明字符串 str勇者文本内容用引号包裹整数 int100整数数值浮点数 float3.14带小数的数值布尔 boolTrue/False真或假注意首字母大写Python 是动态类型语言变量不需要提前声明类型解释器会根据赋值自动推断。3.2 条件判断与循环游戏规则与回合制游戏里最常见的规则是“如果血量小于等于 0则角色死亡”。用 Python 的if语句表达hp 30 if hp 0: print(你已阵亡请重新开始) elif hp 50: print(血量过低注意补给) else: print(状态健康)循环结构用来表达重复动作。for循环适合固定次数“回合制游戏每一轮玩家攻击一次总共打 5 轮”for round_num in range(1, 6): print(第, round_num, 回合开始)while循环适合条件控制的场景“只要怪物还活着就一直攻击”monster_hp 100 while monster_hp 0: monster_hp - 30 print(怪物剩余血量, monster_hp)这段代码里monster_hp - 30等价于monster_hp monster_hp - 30每循环一次怪物的血量减少 30。3.3 函数封装技能和操作函数是一段可以重复调用的代码块。在游戏里释放技能就是一个函数你传入攻击力它返回造成的伤害。def calculate_damage(attack_value, skill_rate): 根据攻击力和技能倍率计算伤害。 :param attack_value: 角色攻击力 :param skill_rate: 技能倍率 :return: 最终伤害 damage attack_value * skill_rate return damage result calculate_damage(100, 1.5) print(造成的伤害, result)函数定义使用def关键字函数名后面跟着括号和参数函数体统一缩进。Python 非常看重缩进同级别代码必须对齐否则会报IndentationError。3.4 列表和字典背包与物品属性列表用[]表示适合存放背包物品backpack [红药水, 蓝药水, 弓箭, 金币] print(背包第一个物品, backpack[0]) print(背包物品数量, len(backpack)) backpack.append(护盾) print(添加后背包, backpack)字典用{}表示适合描述一个物品的属性sword { name: 火焰之剑, attack: 45, price: 500 } print(武器名称, sword[name]) print(武器攻击力, sword[attack])字典的每个元素由“键”和“值”组成键不能重复。访问时用字典名[键]的方式。3.5 模块导入插上装备或插件Python 的第三方库叫模块用import导入。就像游戏角色插上插件获得新能力。import random import time print(正在掷骰子...) time.sleep(2) print(你掷出了, random.randint(1, 6))random.randint(1, 6)表示生成 1 到 6 之间的随机整数包含 1 和 6。这个技能在后面写小游戏时会经常用到。3.6 异常处理游戏里的容错机制真实游戏中程序不能因为一个非法输入就崩溃。Python 里可以用try...except来捕获异常try: num int(input(请输入一个数字)) print(你输入的数字加 10 等于, num 10) except ValueError: print(输入格式错误请输入整数)代码先尝试把输入转换成整数。如果转换失败例如用户输入了 abc程序不会崩溃而是进入except分支给出提示。这个机制在写实战项目时非常关键。4. 实战一写一个“人狗大作战”文字小游戏很多同学在搜索时看到了“人狗大作战 Python 代码”其实核心就是一个小型的回合制战斗游戏。我们不需要图形界面直接在终端运行用纯 Python 实现。4.1 游戏设计游戏规则很简单玩家是“人”拥有血量和攻击力敌人是“狗”拥有血量和攻击力每回合玩家先攻击然后狗攻击当一方血量小于等于 0 时游戏结束加入随机暴击机制增加趣味性。4.2 完整代码实现新建一个文件human_dog_game.py写入以下代码 人狗大作战 - 文字版回合制战斗游戏 运行方式python human_dog_game.py import random def create_player(): 创建玩家角色 return { name: 挑战者, hp: 100, attack: 20 } def create_enemy(): 创建敌人一只狗 return { name: 凶猛的狗, hp: 80, attack: 15 } def attack(attacker, defender): 攻击函数 :param attacker: 攻击方属性字典 :param defender: 防守方属性字典 :return: 本次伤害值 # 30% 概率触发暴击 is_crit random.random() 0.3 damage attacker[attack] if is_crit: damage int(damage * 1.5) print(f{attacker[name]} 发动暴击) defender[hp] - damage if defender[hp] 0: defender[hp] 0 print(f{attacker[name]} 造成 {damage} 点伤害{defender[name]} 剩余 {defender[hp]} 点血量) return damage def show_game_info(player, enemy): 显示当前状态 print( * 40) print(f玩家{player[name]} HP: {player[hp]} 攻击: {player[attack]}) print(f敌人{enemy[name]} HP: {enemy[hp]} 攻击: {enemy[attack]}) print( * 40) def main(): 主游戏流程 print(欢迎来到「人狗大作战」) print(你遇到了凶猛的狗战斗开始) print() player create_player() enemy create_enemy() round_num 1 while player[hp] 0 and enemy[hp] 0: print(f\n--- 第 {round_num} 回合 ---) show_game_info(player, enemy) # 玩家的回合 print(你的回合) input(按回车键攻击...) attack(player, enemy) # 如果敌人倒下结束战斗 if enemy[hp] 0: print(\n恭喜你成功击败了凶猛的狗) break # 敌人的回合 print(狗的回合) input(按回车键等待敌人攻击...) attack(enemy, player) if player[hp] 0: print(\n你被击败了回去练练再来吧) break round_num 1 print(\n游戏结束感谢游玩) if __name__ __main__: main()4.3 代码要点说明attack函数接收两个字典作为参数每次攻击都会修改防守方的hp使用random.random()生成 0 到 1 之间的随机数用来模拟 30% 暴击概率input(按回车键攻击...)让玩家手动控制游戏节奏也方便观察每一回合的结果if __name__ __main__:是 Python 里常见的写法确保这个文件被单独运行时才执行main()。4.4 运行与验证在命令行进入文件所在目录执行python human_dog_game.py运行效果大致如下欢迎来到「人狗大作战」 你遇到了凶猛的狗战斗开始 --- 第 1 回合 --- 玩家挑战者 HP: 100 攻击: 20 敌人凶猛的狗 HP: 80 攻击: 15 你的回合 按回车键攻击... 挑战者 造成 20 点伤害凶猛的狗 剩余 60 点血量 狗的回合 按回车键等待敌人攻击... 凶猛的狗 造成 15 点伤害挑战者 剩余 85 点血量你可以自己调整初始血量、攻击力、暴击概率甚至给角色增加“防御力”“回复药品”等机制。这个项目虽然只有几十行代码但已经包含了变量、字典、函数、循环、条件判断、随机数、输入输出等 Python 核心知识点。5. 实战二用 Python 写一个游戏截图批量整理工具游戏打多了文件夹里最常见的就是一堆截图game_20240101_123456.png、game_20240102_789012.png。日积月累想找一张素材图就非常痛苦。用 Python 就可以写成自动归档工具。5.1 需求分析假设你的截图默认放在D:\game_screenshots目录下文件名为时间戳格式。我们希望通过脚本实现扫描目录下所有.png和.jpg文件根据文件名中的日期信息放入对应的日期文件夹如果文件夹不存在自动创建输出整理文件列表便于查看结果。5.2 完整代码实现新建文件organize_screenshots.py 游戏截图批量整理工具 按文件名中的日期(YYYYMMDD)归档到对应文件夹 运行方式python organize_screenshots.py import os import shutil import re from pathlib import Path def extract_date_from_filename(filename): 从文件名中提取日期格式为 YYYYMMDD例如 game_20240101_123456.png 返回字符串例如 20240101 match re.search(r(\d{8}), filename) if match: return match.group(1) return None def organize_screenshots(source_dir): 整理目录中的图片文件 :param source_dir: 目标目录路径 source_path Path(source_dir) if not source_path.exists(): print(f目录不存在{source_dir}) return # 支持的图片扩展名 image_extensions {.png, .jpg, .jpeg, .bmp} # 遍历目录中的所有文件 all_files source_path.iterdir() # 记录整理了多少文件 organize_count 0 for file_path in all_files: # 跳过文件夹 if file_path.is_dir(): continue # 判断扩展名是否属于图片 if file_path.suffix.lower() not in image_extensions: continue # 提取文件名中的日期 date_str extract_date_from_filename(file_path.name) if date_str is None: print(f跳过无法识别日期的文件{file_path.name}) continue # 构造目标文件夹2024-01-01 target_folder source_path / f{date_str[:4]}-{date_str[4:6]}-{date_str[6:8]} target_folder.mkdir(exist_okTrue) # 目标完整路径 target_file target_folder / file_path.name # 如果目标文件已存在则重命名后移动避免覆盖 if target_file.exists(): target_file target_folder / fduplicate_{file_path.name} shutil.move(str(file_path), str(target_file)) organize_count 1 print(f已移动{file_path.name} - {target_file.name}) print(f\n整理完成共移动 {organize_count} 个文件) if __name__ __main__: # 修改为你自己的截图目录 directory rD:\game_screenshots organize_screenshots(directory)5.3 运行与验证把代码里的目录改成自己的截图目录然后在命令行执行python organize_screenshots.py如果目录下有一个文件叫game_20240101_123456.png脚本会自动创建2024-01-01文件夹并把文件移动进去。如果你对路径不熟悉Path和os模块都能操作文件。用Path改写后的代码更直观也更能体现现代 Python 的推荐写法。5.4 扩展方向动态传入目录例如用sys.argv接收命令行参数按游戏名称分类前提是文件名里包含游戏关键词自动清理被多次重复移动产生的空目录增加“仅运行但实际不移动文件”的试运行模式。这个工具虽然简单但已经展示了 Python 自动化处理文件的真实价值。6. 实战三用 Python 抓取游戏攻略数据爬虫入门写爬虫是很多人学 Python 的乐趣来源。这里做一个入门级别的示例抓取某个公开页面的游戏攻略标题列表。重点不在“爬多少数据”而在于理解网络请求、HTML 解析和请求头设置。6.1 爬虫的基本原理爬虫模拟浏览器向服务器发送 HTTP 请求服务器返回 HTML 文档爬虫再从中提取需要的信息。在 Python 中通常使用两个库requests发送 HTTP 请求获取网页内容BeautifulSoup4解析 HTML提取节点内容。安装方式pip install requests beautifulsoup46.2 一个安全的示例代码下面以抓取一个示例站点为例演示爬虫的基本流程。你在实际使用时请替换为自己有权限访问的公开网页并严格遵守目标网站的 robots 协议和平台规则。 爬虫入门示例抓取页面中的标题列表 注意仅用于学习请遵守目标网站的访问规范和 robots 协议 import requests from bs4 import BeautifulSoup def fetch_titles(url): 抓取页面标题列表 :param url: 网页地址 :return: 标题列表 headers { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 } try: response requests.get(url, headersheaders, timeout10) response.raise_for_status() response.encoding response.apparent_encoding except requests.RequestException as e: print(请求失败, e) return [] soup BeautifulSoup(response.text, html.parser) # 假设页面中的标题都在 h2 或 h3 标签里 title_nodes soup.find_all([h2, h3]) titles [] for node in title_nodes: text node.get_text(stripTrue) if text: titles.append(text) return titles if __name__ __main__: target_url https://example.com result fetch_titles(target_url) if result: print(抓取到以下标题) for idx, title in enumerate(result, 1): print(idx, title) else: print(未抓取到内容请检查页面结构或 URL)这段代码的关键点设置User-Agent请求头模拟正常浏览器访问使用raise_for_status()检查请求是否成功设置超时时间避免请求卡死用BeautifulSoup定位h2和h3标签只做最基础的解析。6.3 爬虫使用的合规红线这里必须强调几点也是工程开发的基本素养只抓取公开、合法、自己有权限访问的数据不抓取个人隐私信息、不抓取需要登录才能访问的受保护页面控制访问频率不要用并发请求冲击目标服务器学习阶段尽量使用测试网站或官方开放 API用于毕业论文、商业项目时要特别谨慎必要时咨询法律意见。爬虫本身是中性技术但使用方式决定了它的边界。在项目上线前你需要确认目标平台是否允许爬虫采集数据并遵守robots.txt规则。6.4 后续学习方向掌握基础请求和解析后你可以继续学习通过Session维持登录状态处理动态加载页面的Selenium使用pandas对抓取结果做统计分析把抓取结果写入 Excel 或数据库。7. 常见问题与排查思路新手写 Python 代码时最怕的是遇到一堆看不懂的报错。下面整理几个高频问题。问题现象常见原因解决思路python 不是内部或外部命令安装时未勾选 Add Python to PATH手动配置环境变量或重新安装并勾选pip 不是内部或外部命令PATH 里缺少 Scripts 目录把 Python 的 Scripts 目录加入 PATHSyntaxError: invalid syntax语法错误通常是括号、冒号、缩进问题查看报错行检查是否漏写冒号、括号是否成对IndentationError: unexpected indent缩进不一致混用 Tab 和空格统一使用 4 个空格缩进关闭 Tab 键ModuleNotFoundError: No module named requests第三方库未安装或装到了其他环境执行pip install requests确认激活了正确的虚拟环境NameError: name xxx is not defined变量未定义或者函数名写错检查拼写确认先定义后使用ValueError: invalid literal for int()调用int()时传入无法转换的内容先验证输入格式用try...except捕获异常命令行中文乱码Windows 默认编码与 UTF-8 不一致在代码文件头部声明# -*- coding: utf-8 -*-或修改终端编码方式VSCode 提示未发现 Python 解释器未安装 Python 扩展或未选择解释器安装 Python 插件按CtrlShiftP选择解析器针对新手我建议的排查顺序是先看报错信息最后一行那里通常有具体的错误类型和行号到报错行前后找问题不要只看那一行可能是上一行括号没闭合确认当前环境是在虚拟环境还是全局环境安装的包装到了哪里小问题优先自己搜索关键词可以带报错原文例如ModuleNotFoundError requests如果实在查不到直接把报错原文和完整代码贴给 AI 工具或技术社区。8. 最佳实践与工程建议8.1 项目结构清晰即使是入门项目也建议把代码组织好。比如一个 Python 项目可以包含my_game_project/ ├── main.py # 程序入口 ├── game_core.py # 核心逻辑 ├── data/ # 数据目录 ├── tests/ # 测试目录 ├── requirements.txt # 依赖列表 └── README.md # 项目说明不要把所有函数写进一个几百行的文件里。尽量一个文件只负责一个模块这样后续维护和调试都会轻松很多。8.2 使用虚拟环境隔离依赖每开始一个新项目都创建一个新的虚拟环境。这个习惯能帮你避免“在 A 项目装了一个高版本库结果 B 项目跑不起来”的经典翻车现场。常用命令python -m venv venv source venv/bin/activate # Windows 使用 venv\Scripts\activate pip install requests pip freeze requirements.txt8.3 异常处理与日志记录真实项目里的代码如果不处理异常一遇到非法输入或网络波动就会直接崩溃。建议用try...except包裹可能出现问题的代码并把信息完整记录下来。简单示例import logging logging.basicConfig(levellogging.INFO, filenameapp.log, filemodea, format%(asctime)s - %(levelname)s - %(message)s) try: result 10 / 0 except ZeroDivisionError as e: logging.exception(发生除零错误)8.4 命名规范Python 官方推荐使用snake_case风格也就是小写字母加下划线player_hp 100 enemy_attack 15 calculate_damage()不推荐用中文拼音、单个字母或者无意义的命名例如x、a1、dizhi。良好的命名本身就是最好的注释。8.5 生产环境与安全边界如果是给生产环境写脚本有几个原则一定要遵守不要使用管理员/root 权限运行普通脚本脚本里不要硬编码账号密码、Token、API Key使用环境变量或配置文件涉及删除文件、修改数据库、覆盖配置的操作先备份再执行使用第三方库之前关注它的维护状态和安全公告对输入数据保持怀疑尤其是来自网络、用户输入的数据要做校验和过滤。这些原则看起来不难但在真实项目中很多事故都是因为忽略了它们。9. 总结与学习路线到这里你已经完整走了一遍“从装环境到写小项目”的 Python 入门路径。我们做了三件事第一理解了 Python 是什么以及为什么游戏场景特别适合作为入门驱动力。第二把变量、条件、循环、函数、字典、异常处理这些核心语法对应到游戏和脚本的实际场景中。第三完成了三个实战项目一个文字版回合制小游戏、一个截图批量整理工具、一个爬虫入门示例。很多人学编程失败不是智商问题而是学法和目标出了问题。如果你现在还是零基础可以按照下面这个路线继续往前走熟练使用print、变量、if、for、while、函数能独立写完第 4 节的小游戏学习文件读写、os和pathlib能写出第 5 节的自动化工具学习requests和BeautifulSoup掌握简单爬虫同时建立数据处理的合规意识学习pandas和matplotlib尝试分析游戏数值或学习数据选择一个方向深入比如 Web 后端、数据分析、自动化办公、人工智能。如果只是想应付期末作业掌握前两步基本够用如果想把 Python 变成求职技能至少需要把第 5 步走完并做出两个完整的个人项目放到 GitHub 上。最后说句实在话Python 从来都不是一个“很难学会”的技术难得只是静下心来跑通一个完整的项目。哪怕你真的是从打游戏开始只要你肯写下去很快也能让导员刮目相看。如果这篇文章对你有帮助可以收藏后慢慢看动手把代码跑起来比看十遍教程都管用。