首页
第425章 位运算
返回
关灯 护眼:关 字号:小

第425章 位运算

章节报错(免登陆)
下载APP,无广告、完整阅读

一秒记住【笔趣阁】
biquge34567.com,更新快,无弹窗!

    第425章位运算(第1/2页)
    李建新两手攥着裤缝。
    他写了几天、几百行的逻辑。
    林希用十七行干掉了。
    不是写得快。
    是他还在一块砖一块砖地数墙,林希已经在墙外画了个框。
    “这个方法……”
    李建新喉结动了动。
    “叫什么?”
    “碰撞箱。”
    林希头也没抬。
    “以后做任何游戏,第一件事就是套碰撞箱。”
    “记住了。”
    李建新立刻翻开笔记本。
    他把“碰撞箱”三个字写了一遍。
    又写了一遍。
    最后用力写了第三遍,笔尖差点划破纸。
    林希端起搪瓷缸,喝了口温水,扫视全场。
    “机器的算力是死的。”
    “脑子是活的。”
    “做工程产品,不是写数学论文。”
    “别把机器当牲口使,逮着就往死里榨。”
    没人吭声。
    煤球炉子里,火星轻轻爆了一下。
    林希放下搪瓷缸。
    “下一个谁的进度?”
    角落里,负责《逻辑方块》的小戴哆嗦了一下。
    是的,既然在这个时代,《俄罗斯方块》是华国人发明的,林希就给他换了个名字。
    《逻辑方块》,一听就是个教育软件!
    小戴顶着鸡窝头,扶着眼镜挤出来。
    刚才还看热闹,现在轮到自己,底气顿时掉了半截。
    “林总。”
    “底层消除逻辑跑通了。”
    “但是……”
    他看了一眼李建新,又看了一眼黑板上的“碰撞箱”。
    声音更虚了。
    “玩到第六层就死机。”
    “这回……真是物理极限。”
    这话一出,旁边几个学生表情都有点微妙。
    刚才李建新也是这么说的。
    结果物理极限被十七行代码按在地上摩擦。
    小戴赶紧调出监控数据,指着飙红的内存条解释:
    “机器内存只有2K。”
    “棋盘一共200个格子。”
    “我用标准整型变量记录状态,1是有,0是没有。”
    “一个整型占2字节。”
    “200个格子就是400字节。”
    “再加上下落、消行、方块形态……”
    “一到第六层,内存就塞爆,直接溢出。”
    林希揉了揉太阳穴。
    早期语言里,拿16个比特存一个只需要1个比特的“是非题”。
    这不是写程序。
    这是烧钱。
    虽然现在烧的是内存。
    “你在2K内存上,用整型存1和0?”
    林希看他的眼神,像老师傅看徒弟拿菜刀拧螺丝。
    “这不叫编程。”
    “这叫暴殄天物。”
    “你当内存是你家大白菜,论吨批发的?”
    小戴眼镜滑到鼻尖,忘了扶。
    林希站起身,拿起粉笔。
    “一个字节几个比特?”
    小戴立刻回答:
    “8个。”
    “既然只有1和0两种状态。”
    林希在黑板上写下:
    00000000
    “一个字节,8个比特,天然就是8个开关。”
    “开,就是有。”
    “关,就是无。”
    “为什么要用完整整型记一个格子?”
    他用力写下几个符号:
    <<>>&
    “位运算。”
    “左移,右移,按位与。”
    “一个字节管8个格子。”
    “10列棋盘,两个字节就够。”
    “20行,一共40个字节。”
    他转头看小戴:
    “400字节变40字节。”
    “省出来的空间,够你玩到第一百层。”
    小戴盯着黑板上那八个0。
    旁边有人下意识掰着手指数,数到第八下,手停在半空。
    (本章未完,请点击下一页继续阅读)第425章位运算(第2/2页)
    一个字节,当八个格子用?
    还能这么玩?
    林希已经坐回键盘前。
    几行极简的汇编指令跳出来。
    位移。
    按位与。
    清除一行时,数据整体下移。
    没有花里胡哨的结构。
    没有臃肿的循环。
    干净得像一把剔骨刀。
    重新编译。
    运行。
    简陋的方块开始落下、堆积、消行。
    第五层。
    第十层。
    第十五层。
    画面依旧流畅。
    内存占用暴降八倍,纹丝不动。
    小戴盯着屏幕右下角的数字,半天才挤出一句:
    “……这也行?”
    研发室里只剩外面的风雪声。
    如果说“碰撞箱”是换一条路绕过大山。
    那“位运算”就是把一块铜板劈成八瓣花,还嫌不够省。
    直播间弹幕飞过:
    【给八十年代大学生一点小小的位运算震撼!】
    【逼急了,老派程序员能把代码掰碎塞进寄存器里。】
    【主播这是在给第一代程序员布道啊!】
    【2K内存:求求了,终于有人把我当人看了。】
    林希拍掉手上的粉笔灰。
    “今天这两招,刻在脑子里。”
    “以后写代码,先看手里有多大的碗,再决定下多少米。”
    这一次,没人再拍桌子。
    十几支铅笔同时落到纸上。
    沙沙声很轻,却压过了炉子里的火星声。
    李建新盯着黑板上的“碰撞箱”。
    小戴盯着那一排0和1。
    他们看林希的眼神,彻底变了。
    那不是仰慕。
    那是一群第一次抬头看见山顶的人,终于明白自己脚下这条路,到底能通向哪里。
    解决了碰撞箱和位运算,十几个大学生看林希的眼神全变了。
    但林希知道,底层逻辑只是骨架。
    游戏能跑,只是及格。
    能让人骂着还想再开一局,才叫产品。
    他喝了口茶,扫了一圈研发室。
    “功能跑通了。”
    “但打起来像往棉花上抡拳头。”
    李建新苦着脸点头:
    “对,干巴巴的。”
    “像两块橡皮擦打架。”
    林希放下茶缸。
    “因为没上血肉。”
    “游戏不光是数学,还是心理学。”
    他拿起粉笔,在黑板上写下三个字。
    多巴胺。
    十几个大学生面面相觑。
    这词他们听过。
    但没人想过,写游戏还能写到这上面。
    林希问:
    “谁打过靶?”
    李建新愣了一下。
    “军训打过。”
    “枪托撞肩膀什么感觉?”
    “疼。”
    他想了想,又补了一句:
    “但挺带劲。”
    “对。”
    林希点头。
    “动作只要给了足够强的即时反馈,大脑就会记住。”
    “它会催你——再来一次。”
    他指向屏幕。
    “现在的问题是,开炮静悄悄,爆炸软趴趴。”
    “玩家按下键,大脑收不到确认信号。”
    “当然觉得没意思。”
    小戴推了推眼镜,小声问:
    “那怎么加?”
    “三个地方。”
    林希竖起一根手指。
    “第一,开炮瞬间。”
    他坐到开发机前,敲了几行汇编。
    屏幕渲染原点,被他硬生生往开火方向偏了两像素。
    下一帧,再拉回来。
    “炮弹飞出去那一帧。”
    “画面抖一下。”
    “幅度别大。”
    “大了叫晕,小了才叫劲。”
    “编译。”
章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭