pyvec / pyvec/naucse.python.cz
Snake workshop improvements
还没有人认领这个 Issue。
- 主要语言
- 没有语言数据
- 星标
- 335
- 派生
- 119
- 平均合并
- 3 小时 6 分钟
- 30 天内合并 PR
- 1
描述
Braindump of TODOs after the first iteration of the Snake workshop.
(Checked means solved in my fork, not necessarily merged here)
-
Adapt Django Girls' Intro to Python, extending it to include every language/stdlib feature we'll need (with exceptions below). We need some examples of functionality; let's use stuff that'll make people go oh, I knew this already! afterwards.
- floor division
- list slicing
-
del(instead ofpop()) - tuples
-
inoperator -
list.remove -
zip()(use a more advanced example withzip– item-and-the-next with staggred lists – just before a break, so advanced people can think about it while others just clear their head) -
import-
random.randrange()
-
-
return - Comments
-
class? (Without__init__, but with general methods, this seems doable – and using it could save time refactoring!) - not decorators – those are best explained on Pyglet
- etc.
-
Print out cheatsheets, ideally:
- Keyboard
- Lists
- Dictionaries
- Basic control structures (loops, if/else, functions)?
-
Introduce a simple & consistent poor man's versioning scheme very early after writing the first
.pyfile: copy the file to another name, then clear the current file. -
About the class: explain what a "class" is conceptually (a "blueprint"), show how to write one, but don't go in detail and don't aim for thorough understanding.
-
Don't split the game into two files. That takes too much time and is hard to manage on a projector.
-
Warn about naming a file
pyglet.py,random.py& similar -
Edges of the screen should kill the snake; don't do the toroidal topology. It's exciting for the mathematician, but messes up tile selection which is already more than complicated enough. Move this to a "possible extensions" section at the end
-
Do a "possible extensions" section at the end. There should be proper materials to walk you through:
- Improvements of controls
- Toroidal topology
- Score keeping
- Two-snake multiplayer
- Gradually sSpeeding up
- Split
State, plug it into a provided console or web client - Use pyinstaller to make an `exe file
- etc.
-
Discourage creating the virtualenv on the desktop (actually, just fix #313 and make sure the result is usable for workshops)
-
Skip intro to Pyglet; explain all that on the game itself: draw, move, and resize a green square. Maybe add a simple mouse handler with
print(), which won't be used in the actual game (that makes it possible to ask "what do the arguments mean?" without giving an answer). -
Use one language (Czech/English) consistently.
-
Include answers to the hard problem. With diagrams. (This includes removing the code snippet with
???, which isn't syntax-highlighted nicely.) -
Better time management. Set a fixed schedule. The first workshop wasn't ideal, but its timings were:
- 9-12:30: installation; intro to Python
- (Lunch)
- 13:30-14:00 Intro to Pyglet
- 14:00-15:40 Drawing
- (Break)
- 16:10-18:00 Logic (another 15-30 min would be great to polish the game, but we had to end)
-
Have regular WC breaks.
-
Make a properly dumbed down-version of the intro to command line. Mention ↑ and Tab; avoid
mkdirand other stuff you can click up graphically. Mention how to copy from/to the command line. Merge improvements to the beginners' course intro.
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先,将 workshop TODO 与 Django Girls' Intro to Python、Pyglet 材料、初学者课程的命令行介绍以及链接的 issue #667 进行对照检查。该 issue 没有提供文件名、测试、入口点或单一的完成边界;要完成它,需要定义并完成这些 workshop 改进中范围明确的子集。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- content, documentation
- Issue 类型
- 文档
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100