项目介绍(100行实战项目)
-
⚡ 多线程下载 (Python版本)
-
🎮 俄罗斯方块 (Python版本)
-
🏓 打砖块(Python版本)
-
🐍 贪吃蛇 (Java版本)
-
📊 Excel/CSV 转 JSON/Mardown 表格 (Go版本)
-
🔢 2048(Js版本)
-
🛜 Websockify, TCP转Websocket代理,支持Docker和单元测试(Go版本)
-
🧩 Nio http 下载 (Java版本)
100行实战项目源码地址:https://github.com/ruzhila/100-line-code
关注入职啦公众号,我们持续分享优秀实战项目
项目详情
1.🧵 多线程下载(Python版本)
运行效果:
如何实现多线程下载:
-
HTTP通过在
HEAD
添加Range
头,可以实现分片下载,这样就可以实现多线程下载。 -
在下载之前先通过
HEAD
请求获取文件的大小,根据文件的大小,分配线程的下载区间 -
每个线程下载对应的区间,就可以实现多线程下载。
上代码:
详细代码解析:
源码地址: https://github.com/ruzhila/mget
2. 🎮 俄罗斯方块(Python版本)
运行效果:
俄罗斯方块游戏规则:
俄罗斯方块有7种不同的形状,每种形状都可以旋转,玩家通过键盘控制方块的移动和旋转,当一行被填满时,这一行会消失,方块会继续下落,直到方块堆满或者游戏结束
如何实现俄罗斯方块:
-
通过定时器来判断shape是否与board碰撞,如果碰撞就把shape的