Rummy 拉米纸牌记牌程序 的插图

Rummy 拉米纸牌记牌程序

英语课上,外教给我们介绍了 Rummy 这种纸牌游戏。这种纸牌游戏没有官方规则,因此在民间有多个变种。 外教给我们介绍的这种规则如下: 游戏需要至少一副扑克牌,取决于人数,去掉所有的大小王。 开局时,每人发到 7 张扑克牌。发牌结束后,将牌堆顶的一张牌翻开放在一边。 每位玩家行动时,需要如下操作: 1.选择从暗牌堆中拿最顶上的一张牌,或者从一边的明牌堆中取出任意数量的牌。 当你从明牌堆中取牌,你必须在本回合内按照 2 所述条件使用掉你取到的最下面一张牌。(不能留在手里,不能弃掉) 2.当你手里的牌符合一下条件,可以将它们放置在你的桌面上: 2.1.有至少 3 张同花的牌组成顺子,例如草花 A23,黑桃 10JQ,红桃 QKA。(KA2 不算) 2.2.有 3 张或 4 张数字相同但花色两两不同的牌。 例如,黑桃、红桃、草花 3 是符合规定的,而黑桃、黑桃、红桃 3 不符合规定。后一种情况仅可能在使用多副扑克牌时出现。 2.3.有一张牌,可以接续如 2.1 和 2....

OpenVZ 配置 Hurricane Electric IPv6 隧道,开启整个地址池并与原生 IPv6 共同使用 的插图

OpenVZ 配置 Hurricane Electric IPv6 隧道,开启整个地址池并与原生 IPv6 共同使用

AlphaRacks 是一个物美价廉的主机商,1CPU、512M内存、10G硬盘的 VPS 只要 9.9 美元/ 年。但是这家主机商在 IPv6 地址上比较抠,需要用户说明用 IPv6 的理由,据说最多给20 个?但是不一定给满20个,比如我告诉主机商要用 IPv6 地址给仅支持 IPv6 的用户提供服务,主机商回复: 我们已经为你的 VPS 增加了1个IPv6地址。 一个 IPv6 自然是不够我折腾的。好在美国 Hurricane Electric 公司提供 IPv6 隧道服务 ,为每个用户提供5个隧道,每个隧道有1个 /64地址池,并可以一键开通1个/48地址池。 如此良心的服务,要在 OpenVZ 的 VPS 上使用却还要费一番周折。因为 OpenVZ 的内核版本往往是2.6.32,2.6.32的老内核不原生支持隧道功能,而支持的新版3.10的内核刚刚发布,很多主机商没有更新。 在 OpenVZ 上开启 HE 隧道 我们需要借助一个第三方小程序,它可以把 Hurricane Electric 的隧道转换为 Tun/Tap 的隧道(相当于 Windows 下 OpenVPN 的那个网络适配器)...

启用 Bash 的彩色显示 的插图

启用 Bash 的彩色显示

Linux 默认的 Bash 命令行总是黑底白字,有些单调。但我们可以通过加几行命令,让 Bash 以彩色显示信息,不仅美观,而且可以突出重点内容。 编辑你的Home目录下的.profile文件: nano ~/.profile ``` 在文件末尾加上: export LS_OPTIONS='--color=auto' eval "`dircolors`" alias ls='ls $LS_OPTIONS' alias ll='ls $LS_OPTIONS -l' alias l='ls $LS_OPTIONS -lA' PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]@\[\033[01;36m\]\h\[\033[00m\]:[\[\033[01;34m\]\w\[\033[00m\]]\$ ' ``` 保存退出,然后重进 Bash 或者输入: source ~/.bashrc ``` 就可以看到彩色的命令行了。...

解决 OpenSSH 登录缓慢的方法

今天连接 Azure 中国版虚拟机时发现登录反应非常慢,在网络环境良好的情况下要等上十几秒才出现输入密码的提示。 经过 Google 查询,发现是 DNS 反向解析的问题。 OpenSSH 会在你登录时把你的 IP 拿去做反向解析,从而判断你的 IP 在不在系统的黑名单内。但是中国电信不对民用网络的 IP 做反向解析,导致 OpenSSH 要等待解析结果直到超时,然后才建立连接。 解决方法就是把反向解析关掉就行。 sudo nano /etc/ssh/sshd_config # 在文件末尾加上「UseDNS no」,关闭文件 sudo service ssh restart 如果这样设置后还是连接缓慢,可以尝试如下设置: sudo nano /etc/ssh/sshd_config # 在文件末尾加上「GSSAPIAuthentication no」,关闭文件 sudo service ssh restart 如此设置之后,SSH 就可以在2秒内连通,相比之前十几秒的时间相比,速度大有改观。...

在 Ubuntu Firefox 上使用最新版本的 Flash

早在一年前,Adobe 公司停止了其 Flash 插件在 Linux 系统下的新功能开发,只提供安全更新。Linux 版 Flash 的版本号也停留在了 11.2,而最新的 Windows 版 Flash 已经更新到了 15.0 版本。 不过,Adobe 又和 Google 合作开发了 Pepper Flash,集成在 Chrome 浏览器中,而 Chrome 以及其内置的 Pepper Flash 一直在 Linux 上保持最新。 那么问题来了,Pepper Flash 是 Chrome 独占的,如何让 Firefox 也用上呢? 有人希望 Mozilla 来主动支持 Pepper Flash,但是被 Firefox 开发组否决了: https://bugzilla.mozilla.org/show_bug.cgi?id=729481 于是国外网友 Rinat Ibragimov 开发了一款插件,支持 Firefox 使用 Pepper Flash。 这款插件虽然还不完善(硬件加速功能不稳定,部分功能缺失),但是基本功能已经可以正常使用。 在 Ubuntu 下,可以通过添加 WebUpd8 的 PPA 源来安装这款软件: sudo add-apt-repository ppa:...

Ubuntu 下编译安装 App Inventor

App Inventor 是一款由麻省理工开发的简单的 Android 编程工具,只需要在网页上拖动一个个对象,用流程图的方式设置好代码,就可以生成自己的 Android 程序。如果你在你的 Android 手机或平板上安装 App Inventor 的自带软件,还可以做到在电脑上修改界面,在手机或平板上即时显示的效果。 麻省理工提供了一个在线版本的 App Inventor,只要用邮箱注册就可以使用所有功能,问题是,他们的网站运行在 Google App Engine 上。Google 在天朝悲摧的访问情况大家也是知道的。因此,我们最好在自己的电脑上安装一个,做到随时编程。 1.下载源代码 首先,你要有一个 GitHub 账户。然后,进入 https://github.com/mit-cml/appinventor-sources ,点击右上角的 Fork。 然后,在你的 Ubuntu 系统里打开一个终端,输入如下命令: sudo apt-get install git openjdk-7-jdk ant git clone https://github.com/(你的 GitHub 用户名)/appinventor-sources....

Ubuntu 安装 BCM4331 网卡闭源驱动

Ubuntu 系统对于大量设备都可以做到安装即用,因为 Ubuntu 内置了许多开源社区提供的驱动。问题是,开源驱动相对于官方驱动有稳定性差、性能差的问题,而闭源驱动由于版权问题不能集成在安装光盘内,因此一般安装完 Ubuntu 后就要立即联网安装闭源驱动。 正如知乎网友邓博元所说: http://www.zhihu.com/question/22776909 Windows消失后:一时间世界人民给石油工地的电脑装上Linux和新开发的Linux上的工业软件,但是圈内就石油设备的驱动问题分成两派,美国的开源原教旨主义者坚持在墨西哥湾的钻井平台上使用开源驱动,导致产能大大下降;大庆油田被cnbeta的技术宅装上了5种桌面8种发行版并逐一美化跑分,而且要用石油设备放个Bad Apple,后自行编译内核,卒…其他油田由于发行版不同,升级工业软件后有些需要停工几天,特别是天天pacman -Syu的,爆炸事故时有发生。``` 我的 Macbook Pro 使用 BroadCom 公司的 BCM4331 无线网卡,Ubuntu 内置了其开源驱动。...

在 Macbook Pro 上安装 Ubuntu 操作系统

Mac 系统的确非常漂亮,非常流畅。但是 VirtualBox 虚拟机在上面的运行速度惨不忍睹,而且一大堆在 Windows 或者 Ubuntu 上可以非常简单实现的功能在 Mac 上就要大费周折。再加上我看到网上的文章,Ubuntu 系统的 UnixBench 分数比 Mac 要高得多。因此我决定在 Macbook 上安装 Ubuntu。 经过查询,我的 Macbook 是2012年中款,即 Macbook 9-2,在Ubuntu的官方维基上标明,在这款 Macbook 上 Ubuntu 只能和 Mac 共存,不能单独存在,否则引导会出现问题。 拜托,Mac 的引导和系统是分开的好不好? 在 Ubuntu 演示环境中的 GParted 上显示,Mac 系统共创建了三个分区:一个 200M 的 FAT32 分区,作为 EFI 启动分区,一个 HFS 格式系统区,还有一个 600M 左右,HFS 格式的恢复区。我们要干的事情,就是把 Mac 系统区和恢复区干掉,换成 Ubuntu 的分区就可以了。 一。安装引导工具 因为 Macbook 默认的引导可能无法启动 Ubuntu(不过我测试可以直接启动),...

华为C8815 内置存储分区

华为C8815手机的内置存储是4G,但是不代表这4G都是你可以使用的,其中也包括系统文件和一些杂七杂八的东西。 安卓手机的存储一般分为以下几个区: 缓存区(cache),存储安卓系统运行的一些临时文件,这些文件一般总共小于10M 系统区(system),就是安卓的系统文件,刷机时就是修改其中的内容 数据区(data),存储你安装的APP和APP的数据 存储卡(sdcard),也就是你在文件管理器里看到的「内置存储」 而包括C8815在内,一些运营商定制手机还会有cust区,存储运营商的定制内容。 手机出厂时就有了默认的分区,但是这个分区不一定最适合用户使用。华为C8815的分区如下: 缓存区大概190M,我前面说了缓存区一般占用小于10M,我自己使用时用df命令看到一般是5M左右。可以砍了它。不知道华为工程师在想什么。 cust区,里面的东西完全没用,占用80M。砍。 系统区1.1G,这个大小已经是相当肥硕了,一般刷机包(比如我用的CM11)zip文件都是 200-300M大,...

Aroma 文件管理器:Recovery 环境下的文件管理器 的插图

Aroma 文件管理器:Recovery 环境下的文件管理器

Aroma 文件管理器是一个神奇的文件管理器,因为它运行在Recovery环境下。 有的时候,改一个文件就能把安卓系统弄坏,开不起机,此时一般的做法是重新刷机,但是这样会丢失你的数据和你之前对系统做的所有修改。 Aroma 文件管理器就可以让你把出错的文件删除或者替换,恢复系统。 使用前提:你的手机的Recovery环境必须基于CWM,不能是官方原版、TWRP。MIUI触屏恢复环境未测试。 你下载得到的是一个zip文件(链接在后面),它实际上是一个刷机包。把它放到你的SD卡里。 把手机关机,按住音量上键和电源键,当屏幕亮起出现手机厂商LOGO 时放开电源键,继续按着音量上键,直到手机进入Recovery模式。(部分手机是按住音量下和电源键,请查阅相应机型论坛) 按照正常刷入刷机包的步骤,刷入 Aroma文件管理器的zip包。提示开始刷机后,你就应该进入了一个文件管理界面。 (图片来自XDA论坛) 这个界面可以触摸屏操作,你可以在其中进行文件删除、复制等操作。...