Unix 管道纸牌游戏
The Unix Pipe Card Game

原始链接: https://punkx.org/unix-pipe-game/

Unix Pipe Card Game 是一款教育纸牌游戏,旨在帮助孩子学习如何使用管道组合 Unix 命令。 它假定您了解基本的 Unix 命令,例如“cat”、“grep”、“tail”、“head”、“wc”、“sort”和“uniq”。 玩家必须在运行类 Unix 操作系统的计算机上或通过网络浏览器中的 jslinux 演示这些命令的实际操作。 该游戏的购买价格为 5 欧元。 一个更具挑战性的扩展包名为“UNIX Pipe Game - Process Substitution”,可单独购买。 在游戏中,玩家通过创造性的方式将 Unix 命令链接在一起,轮流完成任务。 每轮包括选择任务、洗牌、挑选牌,第一个完成任务即可获得积分。 任务包括打印特定行、计算某些字符串的出现次数、根据条件过滤行等。 除了这款 Unix Pipes Game 之外,作者还开发了其他几款纸牌游戏,例如《Programming Time》,教授 Python 编程和各种算法,《C 指针游戏 – 指针、数组和字符串》,解释指针、数组和字符串。 字符串、“4917”,介绍机器代码和 CPU 工作机制,“RunLength Encoding for Kids”,涵盖游程编码概念,以及“PUNK0 – 函数组合纸牌游戏”,重点介绍函数组合。 甚至还有一款名为“PROJEKT:OVERFLOW,RISCV”的汇编棋盘游戏。 这些额外资源提供了多种选择,可以帮助父母教孩子编码技能。

用户创建教育资源,包括 Unix 管道、机器代码、C 指针游戏、Python 卡和缓冲区溢出汇编游戏,例如“溢出”、“蛇和梯子”(可打印)和“恐慌”。 后者包括适合标准扑克牌的实用恶作剧。 用户免费提供这些材料并鼓励其他人下载和改编它们。 他们提到了与社交媒体应用程序和繁重的学校日程等数字干扰相竞争的挑战。 用户的目标是通过参与活动向孩子们传授基本的计算概念,从理解寄存器、指令、流程开始,然后分解事物以解决问题、学习和批判性思维技能。 用户批评现代用户界面限制了对程序、文件和操作系统的控制,从而剥夺了用户的权力。 他们的灵感来自旧的 Commodore 64 用户指南,用户可以直接访问硬件和软件,从而实现创造力和实验。 他们认为,个人不应该仅仅使用技术,而应该通过自己编程来控制技术,以获得更多乐趣。
相关文章

原文
The UNIX Pipe Card Game This is a card game for teaching kids how to combine unix commands through pipes.

This game assumes the parent knows the basic unix commands: cat, grep, tail, head, wc, sort, uniq. The parent should show also show those commands in action the computer as well, if you do not have any UNIX system you can use jslinux in your browser.
Buy now: €5,00 EUR

If you want to play the more difficult version, you can also get the Expansion pack: UNIX Pipe Game - Process Substitution

Example game round:

task: print the most common line from a file, we need to first cat the file (in our case the file is card 03.txt), then sort it, uniq count it, then do numeric sort, then tail -1:

cat 03.txt | sort | uniq -c | sort -n | tail -1

                 RULES:

> 0. The youngest player chooses one of
  two formats for the game:

* Whoever has the smallest pipe chain to 
  complete the task wins the round.
* Whoever has the largest pipe chain to 
  complete the task wins the round.

> 1. The youngest player picks a task
  from the tasks card. You can not pick
  the same task twice.

> 2. Shuffle the cards.

> 3. Put the cards face down on the
  table.

> 4. Going clockwise each player picks
  the top card from the deck and tries 
  to complete the task.

> 5. The first player who completes the
  task gets a point.

> 6. IF there are no more tasks, GOTO 8

> 7. GOTO 1.

> 8. GAME OVER. INSERT COIN. GOTO 8

TASKS

  * print the second line

  * print the second to last line

  * print the 7th line

  * print the most common line

  * print the least common line

  * count how many lines have "rises"

  * print the first line that has W in it

  * count the lines that have "in" in them

  * show two random lines

  * count the words on the last two lines

  * print the 7th and 8th line

  * count the lines with !

  * count the lines without !

  * make a command chain that does not
    print anything
This is how the card decks look: If you are a parent teaching your kid, and is exploring more tools to help you, I made few other card games:

Programming Time, which is a game to teach python and some more fundamental algorithms, from hash tables to RSA

The C Pointer Game - Pointers, Arrays and Strings, a game to teach kids to look at the computer memory and understand references and values

4917, a game to teach kids machine code and how the CPU works with memory and registers

The Unix Pipes Game - Process Substitution, an expansion of the Unix Pipes Game to teach process substitution and also: paste, tr, cut, bc

RunLength Encoding for Kids, small cards "game" to explain runlength encoding

PUNK0 - The Function Composition Card Game, use cards to manipulate a list and use its values to win the game

PROJEKT: OVERFLOW, RISCV assembler boardgame

Programming for kids, a log of my journey of teaching my daughter how to code

联系我们 contact @ memedata.com