听故事学语言 · 第十四章 编程技巧(二)扫雷游戏
零基础的建议从序章读起。
一、扫雷简史与第一问
1989 年前后,微软公司里两位程序员先后做了一件事。一位叫库尔特·约翰逊的员工写了一个小游戏,最早是给 IBM 的 OS/2 系统写的;另一位叫罗伯特·唐纳的同事把它搬到了 Windows 上。这个小游戏的玩法简单得不能再简单,一张方格子,格子里埋着雷,玩家翻格子,翻到雷就输,把所有安全的格子都翻出来就赢。据说它被放进 Windows,还有一层用意,当时的鼠标是新玩意儿,两个键,普通人不会用,扫雷正好能练左键的精准点击和右键的标记功能。一个教人用鼠标的小游戏,后来成了世界上被玩得最多的程序之一。1992 年它随 Windows 3.1 出厂,顶替了上一版里的翻转棋;2012 年的 Windows 8 一度把它请出了内置名单,骂声四起,很快又以新的形式请了回来。2000 年还有数学家一本正经地证明过,在计算理论的世界里,玩好转雷属于最难的那一类问题。
这个故事里藏着一句话,本章要把它变成现实。前十三章,你写过算术题、判过质数、列过九九乘法表、解过方程,但所有这些程序都只在屏幕上打几行字就退场。今天不一样了。今天我们自己来做扫雷,进行一次真正的工程化实践,从一页需求书出发,把一台能玩的游戏亲手搭起来。
需求书不长,一共五条。游戏可以通过菜单实现继续玩或者退出游戏。扫雷的棋盘是 9×9 的格子。默认随机布置 10 个雷。可以排查雷,如果位置不是雷,就显示周围有几个雷,如果位置是雷,游戏结束。把除 10 个雷之外的所有非雷
网硕互联帮助中心





评论前必须登录!
注册