一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
简历模板
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
二、实现效果
个人最高纪录
三、环境要求
- python 3+
- pygame包 安装命令:打开cmd 输入:
pip install pygame
四、源码分享
公众号:Python砖家,回复:贪吃蛇获取完整版
import pygame,sys,random
SCREEN,dirction_node = 600, {pygame.K_LEFT:['left',-25],pygame.K_RIGHT:['right',25],pygame.K_UP:['top',-25],pygame.K_DOWN:['top',25]} # 屏幕尺寸,移动的定义
class Snake: # 蛇类
def \_\_init\_\_(self): # 初始化各种需要的属性 [开始时默认向右/身体块x5]
self.dirction, self.body = pygame.K_RIGHT, []
[self.add_node() for _ in range(5)]
def add\_node(self):
node = pygame.Rect(((self.body[0].left, self.body[0].top) if self.body else (0, 0)) + (25, 25)) # 随时增加蛇块
setattr(node, dirction_node[self.dirction][0], getattr(node, dirction_node[self.dirction][0]) + dirction_node[self.dirction][1])
self.body.insert(0, node)
def is\_dead(self):
body_h = self.body[0]
if body_h.x not in range(SCREEN) or body_h.y not in range(SCREEN) or body_h in self.body[1:]: # 撞墙、撞自己则死亡
return True
def move(self):
self.add_node()
self.body.pop()
def change\_direction(self, curkey): # 改变方向 但是左右、上下不能被逆向改变
LR, UD = [pygame.K_LEFT, pygame.K_RIGHT], [pygame.K_UP, pygame.K_DOWN]
if curkey in LR + UD:
if not ((curkey in LR) and (self.dirction in LR) or (curkey in UD) and (self.dirction in UD)):
self.dirction = curkey
class Food: # 食物类
def \_\_init\_\_(self):
self.rect = pygame.Rect(-25, 0, 25, 25)
def remove(self):
self.rect.x = -25
def set(self):
if self.rect.x == -25:
allpos = [pos for pos in range(75, SCREEN - 75, 25)] # 生成的食物距离墙在75 ~ SCREEN-55 之间
self.rect.left, self.rect.top = random.choice(allpos), random.choice(allpos)
def show\_text(screen, pos, text, color, font_size=30):
cur_font = pygame.font.SysFont("SimHei", font_size) # 设置文字样式
text_fmt = cur_font.render(text, True, color) # 设置文字内容
screen.blit(text_fmt, pos) # 绘制文字
def main():
pygame.init()
screen = pygame.display.set_mode((SCREEN, SCREEN))
pygame.display.set_caption('贪吃蛇:是男人就坚持到第10关!')
snake,food,clock, scores, isdead = Snake(),Food(),pygame.time.Clock(), 0, False
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
if event.type == pygame.KEYDOWN:
snake.change_direction(event.key)
if event.key == pygame.K_SPACE and isdead: # 死后按space重新
return main()
screen.fill((255, 255, 255))
if not isdead: # 画蛇身 / 每一步+1分
snake.move()
for rect in snake.body:
pygame.draw.rect(screen, (144, 238, 144), rect)
isdead = snake.is_dead() # 显示死亡文字
if isdead:
show_text(screen, (150, 200), '翻车了!', (227, 29, 18), 80)
show_text(screen, (50, 320), '是男人就超过45KM/h,按空格键重试...', (0, 0, 22))
if food.rect == snake.body[0]: # 当食物rect与蛇头重合,吃掉 -> Snake增加一个Node
scores += 1 # 食物处理 / 吃到+1分
food.remove()
snake.add_node()
food.set() # 食物投递
pygame.draw.rect(screen, (233, 150, 122), food.rect)
speed = 10 + scores \* 3.5 if scores else 10 # 蛇移动速度
show_text(screen, (20, 550), '关卡:' + str(scores) + ' 速度:' + str(speed) + 'KM/h', (0, 0, 205)) # 显示得分和速度
pygame.display.update()
clock.tick(speed)
### 一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

### 二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

### 三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.youkuaiyun.com/topics/618317507)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**