2025-08-29 20:33:05
某夜。看漫画看得犯困,又没到直接睡过去的程度,把电子书合上放在胸口,酝酿情绪。毛孩子2号猛地跳上我胸口跟我互动。撸了几下之后,猫和我都就都睡着了。
第二天早起发现,被9斤的小猫踩了一脚之后,酱婶了:
这玩意儿叫做墨案Air6。
我这人遇到好东西一般不会夸,但遇到差东西就一定会骂。既然坏了,那就得说道说道了。墨案Air6只有一个优点,就是轻便。
剩下全是缺点。它的破系统我早就想吐槽了。买的时候是本来冲着开放系统去的,到手之后发现除了自带市场里的小猫两三只,自己找的软件80%都是装不上或者闪退,10%会在3分钟之内卡死或自动退出。电量也不太能打,连续用不到5个小时就歇菜了。
倒不会把它加到黑名单里,因为估计这牌子也坚持不了几年。
在最后尝试抢救的时候,意外发现墨案号称是杂粮生态链上的。
哟吼吼,把屎盆子扣杂粮头上我可是一点儿心理负担都没有。杂粮在我心中本就离“永不录用”一步之遥。
真正在黑名单上的是创维。我姑娘早上9点出门的时候电视没关,下午4点回来,发现白屏了,断电重启都不好使的那种白屏。
自己尝试刷机无效,还是找了修家电的师傅上门。
拆机用表量了几个脚,说是板烧了,屏没事。换板550,问还修不修。
这电视修的,根本也不去给你查是板子的哪个零件坏了,也根本没有动烙铁的意思。
我自己上还真不行。首先我没法判断是板坏了,其次这板的型号我在某宝上还真没搜到。
这个价格拿捏得刚刚好。平常确实是几个月都不开,可明年还得看球,2028年还得看球,2030年还得看球……
拆!
十年前的电视,电路板分成泾渭分明的两部分,一半就是个机顶盒,另一半负责控制屏幕,两板间有几组排线。
一周后新板到货,涛声依旧了。师傅走前特意叮嘱:“这板子已经不太好找了,我跟你说啊,用创维的电视,千万别升级,就当成个显示屏用就行。反正我看你也是配了机顶盒。”
从善如流,干脆网络都不配。
公司又换名字了。这次工资卡也会同时换成浦发。
上门办工资卡的同时推销的信用卡,“开卡豪礼”可以是个小风扇或者某视频网站的VIP季卡。部门还真有人要了那个VIP季卡。
回家充会员的时候,发现这卡也太狗了:每个月可以激活VIP7天,到下个月可以再激活VIP7天,下下个月还可以激活7天,最后失效。
就问你跨了3个月是不是一季吧!
某日早上,工作机提示密码即将过期。改完密码后登邮箱,停在在二次验证的弹窗画面上,死活刷不出来。
找IT的小伙来解决。我们彼此能叫上名字,他知道我搞不定的问题一般都不太常见,一进门便神色紧张。
我说:“给你看个稀罕东西,Outlook把IE给弄出来了。Win11下的IE你见过吗?”
哥们当时就懵了。试着给我清用户清缓存,又登录网页版反复修改邮箱配置。又用他的管理员账号配置他自己的邮箱,也卡在同样的地方。
一个多小时毫无效果。
他忽然想起来:“你给我打电话之前,重启过没有?”
一阵振聋发聩的沉默。
臭宝学校的军训开始了。感觉学校根本就怕出事,千方百计地在拖延时间——每天训练,上午8:00开始,午休11:30到14:00,下午16:00回教室写当天的军训总结。
教官是从某军校找来的大二学生。
原本的计划是7天,第一天之后缩短到6天,第二天又通知要抽出半天看电影。刚才又通知,最后一天的汇报表演原定是下午3小时,改成早上2小时。
总之就是一副赶进度跳流程的样子。
这种糊弄让我觉得这学校目前看还挺务实的,没苦硬吃样子货就应该这么糊弄。
注:夫=大姨夫。
2025-08-20 22:31:00
客户提了个需求:因为他们的显示器(32吋)大,所以经常把缩放比设成125%或者150%,希望我们的APP在这两个缩放比下能够正常显示。
但是我们干活用的只是普通的24吋,设成150%之后高度就出溢出屏幕了,这就需要加滚动条。而工作这个东西,到了二鬼子领导那里就会加码,变成100%-225%都得能正常运行,并且因为增加的高度与原来的高度相比没多太多,所以要大滑块,不要分的细碎的小滑块。
这个功能本身不难。通常的做法是取屏幕放大后的窗口新高度,然后减去桌面有效视窗高度,得到的差值除以一个系数,然后用SetScrollRange的第三个数给传进去。然后重写OnVScroll方法,从系数反推滑块位置。
但是,这样得到的是小滑块,而且最后一屏的空白部分也不准确,往往会出现大片空白。
研究了好几天,终于找到了还算不错的方案。在此分享一下。
注意,我只写了垂直滚动条,因为我们的窗体就是瘦长型,即使增加到225%也没超出屏幕宽。给公家干活的一个要务就是不干多余的事,所以要添加水平滚动条的自己酌情修改,我这里就不提供了。
开始。
如需要增加则对垂直滚动条进行初始化。初始化时,不使用简化版的SetScrollRange(),而改用SetScrollInfo()。利用结构体SCROLLINFO的nPage和nMax配合实现大滑块。这里的逻辑是:nPage与nMax的比值也就是滑块占总高度的比值,比值越接近一,滑块越大。nPage和nMax都是相对值,只要二者单位统一即可。方便起见直接使用真实值。
一个很坑的点是nMax不能用窗口Rect的高,而要取最下边控件的下沿,原因未知。
下面是代码:
BOOL CMFCAppDemoDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
//取窗口位置
CRect rcThis;
GetWindowRect(&rcThis);
//取最下面控件的位置,如果有动态创建的控件,可以遍历取得。
CRect rcLastButton;
GetDlgItem(IDCANCEL)->GetWindowRect(rcLastButton);
//取放大倍数,96.0是100%时候的DPI
float fScale = static_cast<float>(GetDpiForWindow(m_hWnd)) / 96.0;
//取桌面工作区大小
CRect rcScreen;
::SystemParametersInfo(SPI_GETWORKAREA, 0, &rcScreen, 0);
//对话框的工作区域理想高度:比最后一个控件多一丢丢。
int nHeightImage = rcLastButton.bottom + rcLastButton.Height() * fScale;
//如果想象高度比工作区域高,那么将窗口高度设为与工作区等高。
if (nHeightImage > rcScreen.Height())
{
m_blHasVScrollBar = true; //成员变量,用于标记是否有滚动条
rcThis.bottom = rcThis.top + rcScreen.Height();
this->MoveWindow(&rcThis, TRUE); //修改Dialog自身高度
SCROLLINFO si{};
si.cbSize = sizeof SCROLLINFO;
si.fMask = SIF_RANGE | SIF_PAGE | SIF_PAGE;
si.nPage = rcScreen.Height(); //Windows桌面可利用高度作为Page高
si.nMax = nHeightImage; //窗口高度最大值。
SetScrollInfo(SB_VERT, &si, TRUE); //激活滚动条
}
//否则没用滚动条
else
{
SetScrollRange(SB_VERT, 0, 0, FALSE);
}
return TRUE;
}
没有难点。只要每个消息处理时,nPage与nMax的比例关系一致即可。
BEGIN_MESSAGE_MAP(CMFCAppDemoDlg, CDialogEx)
ON_WM_VSCROLL()
END_MESSAGE_MAP()
void CMFCAppDemoDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
CDialogEx::OnVScroll(nSBCode, nPos, pScrollBar);
//取之前的滚动条信息
SCROLLINFO si{};
GetScrollInfo(SB_VERT, &si, SIF_ALL);
//滚动条上一次的位置
int nCurPos = si.nPos;
const int FACTOR(100);
switch (nSBCode)
{
case SB_LINEUP: //Scroll one line up
nCurPos -= (si.nPage / 50); //点击一次箭头,或者按一次↑,移动页面的1/50,注意方向
break;
case SB_LINEDOWN: //Scroll one line down
nCurPos += (si.nPage / 50); //注意方向
break;
case SB_PAGEUP: //Scroll one page up
nCurPos -= (si.nPage / 50* 20); //PgUp键的处理。所有的响应要统一单位标准即可。注意方向
break;
case SB_PAGEDOWN: //Scroll one page down
nCurPos += (si.nPage / 50* 20); //注意方向
break;
case SB_THUMBPOSITION: //Scroll to the absolute position. The current position is provided in nPos
nCurPos = nPos; //从缩略图直接确认位置
break;
case SB_THUMBTRACK: //Drag scroll box to specified position. The current position is provided in nPos
nCurPos = nPos; //从滚动条直接确认位置
break;
case SB_ENDSCROLL:
break;
default:
break;
}
//确认没有超出最小值和最大值范围。最小值一般是0,最大值是nMax - nPage。
nCurPos = max(si.nMin, min(nCurPos, si.nMax - static_cast<int>(si.nPage)));
//当位置移动时,滚动窗口内容
if (nCurPos != si.nPos)
{
int nDelta = si.nPos - nCurPos; //注意方向,原始值减目标值
si.nPos = nCurPos;
si.fMask = SIF_POS;
SetScrollInfo(SB_VERT, &si, TRUE); //设滚动条
ScrollWindow(0, nDelta); //滚动窗口
UpdateWindow();
}
}
同样没有难点,只是鼠标滚动一下会转化成多次向上或向下的消息。
BEGIN_MESSAGE_MAP(CMFCAppDemoDlg, CDialogEx)
ON_WM_MOUSEWHEEL()
END_MESSAGE_MAP()
BOOL CMFCAppDemoDlg::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{
//确认滚动条有效
if (!m_blHasVScrollBar) {
return CDialogEx::OnMouseWheel(nFlags, zDelta, pt);
}
CONST INT WHEEL_SCROLL_LINES(3);
UINT8 ucDirection(SB_LINEUP);
//根据zDelta方向确定消息重量
if (zDelta < 0) {
ucDirection = SB_LINEDOWN;
}
//把鼠标滚动值换算成N个箭头消息并发送。次数是没有方向的。
UINT unLines = (abs(zDelta) * WHEEL_SCROLL_LINES) / WHEEL_DELTA;
while (unLines--)
{
SendMessage(WM_VSCROLL, MAKEWPARAM(ucDirection, 0), 0);
}
return TRUE;
}
总之,最难的其实还是开头。nPage与nMax虽然设什么数都可以,但只有用真实值才是最符合拖动规律的。
2025-08-06 20:58:31
去重庆之前,我把属于自己的BUG都改完了,而项目的BUG还剩3个。我满心以为他们能在4天里把剩余的BUG改好,这样的就不用回伊尔廷一下飞机就加班了。
结果,这帮人改好1个,又新测出了3个,我还在重庆观音桥喝冷饮的时候就收到了PM的电话,确认6月29日的加班。
其中一个新增的BUG确实诡异,现象是播放视频的过程中突然崩掉。这几个人实在太勤快了,4天时间写了2000多行的代码,因为没有头绪,所以只能一版一版回退,然后差分定位问题。光是找原因就花了一周。
原来是leader小雨嫌视频的加载过程太慢,想出了给每帧各自起一个线程加载的大聪明办法。通常来说这种用资源换时间的做法倒也无可厚非,只不过我们自行开发的那个写日志的DLL自从2008年以来就没更新过,是进组时间仅次于我的第二老的家伙。当初写DLL的哥们根本没想到会被这么用,接入线程的最大数随手写了个32。
源代码倒还在,不过升级的成本有点高。直接把线程里的写日志注掉了事。
这么个破玩意儿改了6天,心情大坏。
另外一个BUG是视频保存的处理太慢。看下现象,打开任务管理器瞅一眼就知道原因了。
跟小木头说:“内存满了。想办法加快写的速度。每帧单独落盘,或者弄个磁盘映射试试。”
小木头的回复出乎我的意料:“大致哥,什么是磁盘,什么是内存?大的那个是磁盘,小的那个是内存,对吗?”
“在你的开发机上可以这么理解。”
“那手机上呢?”
“手机厂商现在比较缺德,都给都叫成内存了,实际上以前叫内存和闪存。叫运存那部分没问题,剩下那块爱咋叫咋叫吧。”
“那换你怎么叫?”
“Memory和Storage。”
疫情之前的那一年,公司邮件推荐过一家培训机构,考职业资格证有优惠。对我们来说有意义的是健康管理师、人力资源师、导游之类门槛低又能抵税的证。好事的女同事们有不少人报名参与。考过的话补贴加上抵税省的钱,减去报名费,还略有盈余。只是这家培训机构跟公司的合作只有一年,后续她们每年都是在群里报新的培训,跟公司没什么关系了。
忽然有一天,政策变了,国家的补贴是没了还是变少了什么的。培训机构也随之变了脸,只给发教材和网课网址,甚至有几门课都没给考试报名。同事找过去,先是推脱,继而跑路了。
有人一怒之下打了12345,也有人报了警。报警之后统计了一下(我们部门的)受害者名单,然后也没了下文。
又过去一年。上个月忽然有110给牵头的小琳打电话,让她去公安局了解情况。这路子太像诈骗了,她也没搭理。最后警察叔叔打到了公司前台,算是正式发出了协助调查的邀请。
小琳于是只好请了半天假去了公安局。原来,是培训学校在政府部门的内线出了问题——给不具备考试资格的学员非法安排考试资格(比如高级心理咨询师本来需要前置条件,但是该培训学校在内线的安排下交钱就能考),连带着搜集一下培训学校违法的证据。
小琳顺便问一下,钱能不能给退。
答曰等着吧。并且友情提示,让回来后别的同事也注意随时接110电话,配合调查。
几个老娘们就以这个为由,申请带手机进开发间。PM睁一眼闭一眼同意了。
这一个月过去了,并没有任何一个人接到110来电。
也许是因为只有小琳自己报了高级心理咨询师吧。
走廊对面的开发间被另外的部门占据了。又是一个严格要求控制手机的项目,他们比我们更惨,手机放在类似澡堂子里那种透明的抽屉里,谁手机没锁一目了然。而我们好歹还是不透明的铁皮柜子。
这个部门有很多年轻的妹子。不知道公司现在的着装规定是不是过期了,这帮妹子经常穿吊带上班。也有穿凉拖的。也有把头发焗成粉色蓝色绿色的。甚至还有纹身和打鼻环的。
难到我们公司收购了某个商K?
这帮妹子穿着打扮方面违反规定跟我半毛钱关系也没有,只是看着不忿。但有一样违规是实实在在妨碍到我了。
这些人不按规定在食堂吃饭,非要在开发楼层吃。
你以为我要抱怨饭味儿?错!
我忍不了的是,这帮人吃完饭要在洗手间聚众刷碗!三个面池全占,边刷边聊,特别的慢!这导致了我中午上完厕所没法洗手!我总不能站在她们身后一直盯着屁股看吧。
尿个尿而已,为此走到别的楼层去洗手又特别不甘心。
没办法,只好拉长上午带薪拉屎的时间,尽量排空了。
7月25、26日(周五、周六)时代少年团在伊尔廷开两场演唱会。
演唱会的票那是一定没抢到的。问了个比较靠谱的票贩子,给的报价是,480的山顶票4000;680的票最抢手,6000;1680的性价比最高,只要12000。但是,不保证有,票贩子也得乖乖去主办方那里排号。
那就只好去你妈的了。
7月22日臭宝高中学校报到。去报到前,让臭宝把考完试做的美甲给卸了。她们娘俩做好了约定,演唱会臭宝要去场外,去场外前要把美甲再做回来。
报到当天(周二),衔接班更改了上课时间,12:30到晚上20:30,这样她就没有时间去做美甲。
接下来的周三和周四又都是有其他学校报到,上课时间同样变成12:30到20:30。
这样一来,臭宝就没有时间做美甲了。是的,我此时才知道做个美甲要2~4个小时甚至更久。
为了不耽误课的同时还能做上美甲,娘俩在某音、某团和小某书上找到半夜,找到一家早上8:30就开门营业并且有优惠价的美甲店。这样臭宝周四上午去做美甲,后面的课完全不耽误。
只是这家店所在的地方有点偏,臭宝之前从没去过,让她自己去我们两口子都不放心。
于是决定,我请假半天,带臭宝去做美甲。
一个皆大欢喜但只有我受伤的世界达成了。
注:夫=大姨夫。
2025-07-28 12:52:15
昨天下午3点吃完饭,本来说好不吃晚饭的了。
到晚上8点半多,臭宝忽然嚷嚷饿了要吃东西。
老婆大人不搭理她。
臭宝说:“不给我买的话我就自己煮泡面了。”
我说:“可别。你煮完面还得我刷锅。”
遂到楼下买了一份拌面回来。
一进家门,身后传来“嘎~”的一声,原来在外面的时候一只知了落在我身上,被我带回了家,然后飞上了客厅的吊顶。
我也不知道地方那具体应该怎么形容,就是客厅边上一圈石膏板,石膏板下面是射灯,石膏板上面是一圈灯管的地方。又高又深,我家里没那么高的梯子。用笤帚够了两下,也没给吓出来,放弃了。
只有家里的两只猫一直盯着这会出声的大虫子。
凌晨3点。
臭宝忽然大喊:“妈妈救命!”
老婆大人一脚把我踢下床,叫我去看。
一只知了在臭宝枕头边上垂死挣扎吱哇乱叫,两只小猫床上一只地上一只瞅着。
所以事情很简单,知了不知什么时候飞了下来,被两个小家伙抓住并叼到了臭宝床上玩。
抓起扔出窗外。
这就是臭宝吃了一碗面而导致我没睡好觉的故事。
2025-07-24 23:19:13

跟上次的《电击作战》类似,本作冷门到连它的同名超任版也算上,我都找不到一个标准的译名。
“蜘蛛侠与X战警”这样的叫法,其实忽略了副标题“Arcade’s Revenge”。话说这个副标题当年可是直接把我干蒙了——什么叫街机的复仇?不应该是街机的复刻吗?Revenge这个词难道还有别的含义?这个小困惑直到20多年后的今天写这篇的时候才得到了答案:有歧义的不是Revenge,而是Arcade。Arcade是漫威的一个反派,能力是创造高科技陷阱和心理战术搞事情,是蜘蛛侠漫画和X战警漫画出现过的反派,也搞过复仇者、夜魔侠、惊奇队长、黑豹什么的。但是他的能力还是偏弱,从未在20世纪福克斯、索尼、迪士尼的任何漫威题材电影、衍生剧或者动画片中出现过!这个过程里,这部以Arcade为最终BOSS,应该被叫做“街机人的复仇”的游戏作品究竟提供了正向还是反向的反馈,不得而知。
当年,这个游戏我只能打过白给的第一关。第一关通过后出现金刚狼、镭射眼、暴风女和牌皇四个X战警,加上蜘蛛侠自己,每个角色有两个特色关卡。这些关各有各的难,我一关都过不去!最好成绩是蜘蛛侠和金刚狼的关卡能见到BOSS。两手生疼原地踏步的滋味可不好受。
下面备述一下各关难在哪里。
首先还是得说说起始关,它一点儿也不难,却非常单调无聊。必须控制蜘蛛侠按顺序吃掉地图上的N个道具,完全没有捷径可走。并且这个游戏的片头介绍还特别长,也就是说在后面的关死光以后,必须从头忍受一个无聊的片头和单调冗长的第一关才能回到正题,背好的版子早就忘了大半,还谈什么过关呢!
蜘蛛侠的两关难点在于地形复杂。可能是为了突出蜘蛛侠的飞檐走壁能力吧,很多地方需要控制小蜘蛛利用蛛丝荡过去,或者需要忍龙式的爬墙反跳。几个地方设计得咫尺天涯,明明不远却在若干次尝试后发现只能从上方或下方绕过去。蜘蛛侠关卡的背景还特别花,地图也大,对于背版来说特别不友好。
蜘蛛侠第二卡的BOSS是毒液和犀牛。毒液可以被堵角里实施惨案,犀牛行动单调,利用荡蛛丝踢能磨死。当年根本走不到这里。
金刚狼的第一关是个普通的动作关卡,大部分时间花在找路和对付杂兵身上。这个游戏的所有杂兵都挺肉的,需要多磨几下才会死。这关里有挺多需要复杂操作才能躲过的机关,跟敌人配合,看着就忍不住想卖血过,但是血这个东西,卖着卖着就空了啊。金刚狼在操作上也有个槽点,就是他那个爪子啊,默认是不伸出来的,按↑+A会切换有爪/无爪状态。有爪的情况下打人特别狠,有些墙也需要用爪子给挠开。岁数大了手不稳,挠着挠着墙爪子忽然收回去了,就很扫兴。金刚狼场景的背景也花得厉害,看着都头疼。
金刚狼的第二关是非常讨厌强制逃跑游戏。追兵是著名反派红坦克。之前的20年都以为是简单的逃跑,这次好不容易跑到头没路了,还是被一头撞死。只得上网去找录像,竟然要一边跑一边把路上悬着的各种铁块挠下来砸红坦克的脑袋,并且要尽量利用路上的地雷和敌人小兵扔出的炸弹,最后的悬崖边上还要回头捅几下,把红坦克捅死。关键红坦克又没有血条,不说谁能知道需要这么玩啊!“跑”跟“打一下就跑”可是两种完全不同的游戏。
镭射眼的两关可能是最简单的,地图虽然很大,但背景简单很多,有利于找路。这两关的难点是轨道上有一碰就死的敌人,以及轨道跟普通路面的识别不明显,肉身上轨道也是即死。两关末尾都要打哨兵,最后还要打一只巨大的机械哨兵。镭射眼的操作也别扭,按方向键下他就会蹲下,蹲下之后就不能移动了,所以误操作的时候经常把自己陷入想跑跑不了的境地。
但是镭射眼的造型和动作实在太猥琐了。

暴风女的关卡跟之前说过的《激龟忍者传》的水下关很像,恶心程度还要更甚。至少人家小乌龟在水下是不用考虑换气问题的,而暴风女则需要时刻计算好剩余的气量,及时回到水面上或者找到贝壳呼吸回气。操作不便的同时,这关的美工简直是屎,子弹和食人鱼的颜色跟背景非常像,老眼昏花的,看到就已经来不及了。
关底倒是挺简单的,把各个方向的机关打碎即可,如果不考虑换气的话。
牌皇关是噩梦级别的难度。首先,这是前有追兵后有堵截的强制卷轴关卡,第一关向右,第二关向上,对跑位的要求非常高。
其次是牌皇的攻击范围超级小,有两个砖块拦路的时候,一张牌只能打碎一块砖,另一块必须移动一小步才能打碎。这一小步经常卡不准,再试两次基本就要被卡死了,容错率特别低。
第三是,有走不通的死路存在,实在是恶意满满。
年轻那会儿因为牌皇比另外四位少见,故而青眼有加,投入了不少精力来打,也因此死得最惨。换现在,整个卡我直接就给撇了,玩了我的我不玩。

每个角色的两个专属关卡通过后,是5个人分别的脱出剧情,这部分就简单了不少。尤其暴风女在陆地上的操作性非常的好,蹦一下嗷嗷高,咋就给安排成水鬼了呢?漫威除了海王就没有会水的了,还是没版权?
最终BOSS,由蜘蛛侠主攻,其余四位站在两侧撇道具。BOSS有两种形态,第一种机器人形态会被越打越小,第二种人形状态会分身。


通关是俗套的反派留了个大烟花。
2025-07-17 16:31:37
臭宝在玩剧本杀,我在楼下等。实在坐到无聊了,出去转转。
推开一扇门,竟然是二舅家。
进门后发现一切都是记忆中的样子。我走到衣柜前仔细端详。
表哥过来搭话:“大致啊,记得吗,这个柜是赧家搬家的时候送给俺家的,30多年了。”
我:“你说错了,不是1993年俺家搬家送来的,是1988年俺家买了组合柜换下来送来的。”
表哥:“妈的你记性怎么那么好。你知道这个柜在哪买的吗?”
我:“给我挖坑?这个柜是我爸准备结婚的时候,跟我大爷自己在家打的。木头在成仁街买了一些,我大姑父从厂里偷了一些。”
表哥:“你在研究啥呢?”
我:“这个柜门啊。我爸跟我说上面的画是我大爷在厂里拿电烙铁烫出来的。小时候没注意,现在欣赏一下。”
表哥:“你大爷在厂里这么闲么?他在石油七厂到底干什么活啊?”
我:“石油厂下面好几个电厂,他们那个排名很靠后,负荷很轻。天天就是隔几个钟头溜达一趟,看一下表盘,活就干完了。”
表哥:“有忙的时候吗?比如设备坏了线路烧了什么的。”
我:“他们不管修,坏了打个电话,有专门的部门修。但也有忙的时候,就是五一、七一、十一和年底厂里组织文艺汇演的时候。”
说话间,二舅家窗外自东向西掉下来一架飞机,带着滚滚烟尘,在西南方向碎了一地。
烟散得差不多了,正南面的山上又冲下来一列绿皮火车,洋洋洒洒,在门前也掉了一地。
与表哥两个不约而同地溜达向火车。
表哥:“你怎么也往这边凑,你也怕航空煤油爆炸啊?”
我:“啊,我只是觉得火车人更多,而且坐绿皮的人带现金的可能性更大。”
到了事故现场,我发现遍地是手机。
我把它们一个个捡起,扒开手机壳,把里面藏的钱拿出来。
钱都不多,一二百的,最多三五百,甚至还有10元的。更多的是啥也没有。不过也有富兰克林和福泽谕吉的。
还有放周慧敏照片的,这个也没收了。
捡起一个某为三折叠。
哎,这个用不用手机壳啊?好像是没有啊。
算了,掰着玩吧。像掰铁丝一样反复反复反复折,这玩意儿也越来越越来越越来越软,终于变成黑乎乎的一团,沾了满手,似乎还有刺鼻的沥青味儿。
忽然耳边响起一个声音:“你敢故意损坏某为,倒大霉了!”
醒了。