首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我怎么能在我的SnakeGame中,在一块没有被蛇或障碍物占据的田地上产卵呢?

在SnakeGame中,在一块没有被蛇或障碍物占据的田地上产卵,可以通过以下步骤实现:

  1. 确定游戏地图的表示方式:可以使用二维数组或者网格来表示游戏地图,其中每个元素代表一个方格,用于记录该方格的状态(是否被蛇或障碍物占据)。
  2. 生成随机坐标:使用随机数生成器生成一个随机的坐标,确保该坐标在游戏地图范围内。
  3. 检查坐标是否可用:检查生成的随机坐标是否已被蛇或障碍物占据。可以通过遍历蛇的身体和障碍物的位置,与生成的随机坐标进行比较,判断是否可用。
  4. 如果坐标可用,则在该位置生成一个“蛋”或“食物”:将该坐标对应的游戏地图元素状态设置为“蛋”或“食物”,表示该位置上有一个可以被蛇吃掉的对象。
  5. 更新游戏地图:根据游戏地图的变化,更新SnakeGame中的地图显示,确保玩家能够看到新生成的“蛋”或“食物”。

以下是一个示例代码片段,用于在SnakeGame中生成“蛋”:

代码语言:txt
复制
import random

# 游戏地图表示
game_map = [
    [0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0]
]

# 蛇的位置
snake = [(0, 0), (0, 1), (0, 2)]

# 障碍物的位置
obstacles = [(2, 2), (3, 3)]

# 生成随机坐标
def generate_random_coordinate():
    x = random.randint(0, 4)
    y = random.randint(0, 4)
    return x, y

# 检查坐标是否可用
def is_coordinate_available(coordinate):
    if coordinate in snake or coordinate in obstacles:
        return False
    return True

# 在坐标上生成蛋
def generate_egg(coordinate):
    game_map[coordinate[0]][coordinate[1]] = 1

# 生成蛋的逻辑
def generate_egg_logic():
    while True:
        coordinate = generate_random_coordinate()
        if is_coordinate_available(coordinate):
            generate_egg(coordinate)
            break

# 更新游戏地图
def update_game_map():
    for row in game_map:
        print(row)

# 游戏循环
def game_loop():
    while True:
        # 游戏逻辑处理
        generate_egg_logic()
        update_game_map()
        # 其他游戏逻辑...

# 启动游戏
game_loop()

在上述示例代码中,使用了一个二维数组game_map来表示游戏地图,其中0表示空白方格,1表示蛋。snakeobstacles分别表示蛇和障碍物的位置。generate_random_coordinate函数用于生成随机坐标,is_coordinate_available函数用于检查坐标是否可用,generate_egg函数用于在坐标上生成蛋。generate_egg_logic函数是生成蛋的逻辑,通过循环生成随机坐标并检查可用性,直到找到一个可用的坐标为止。update_game_map函数用于更新游戏地图的显示。最后,在game_loop函数中循环执行游戏逻辑,包括生成蛋和更新游戏地图。

请注意,以上示例代码仅为演示目的,实际游戏中可能需要更复杂的逻辑和界面设计。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ChatGPT与我们玩游戏_贪吃蛇

蛇的表示: 蛇的身体用一个列表表示,列表中的每个元素是蛇身体每一节的坐标(行、列)。 蛇的初始长度为3。 食物: 食物随机生成,确保不会出现在蛇的身体上。 蛇吃到食物后,长度增加,并生成新的食物。...蛇的移动: 根据当前方向更新蛇头的位置,并将新位置插入蛇的身体列表中。 如果没有吃到食物,则移除蛇尾,保持长度不变。 游戏结束: 当蛇撞到自己或边界时,游戏结束,并在画布中央显示“游戏结束”提示。...运行代码 将上述代码复制到Python环境中运行,确保已安装tkinter库(通常Python自带)。运行后会弹出一个窗口,显示贪吃蛇游戏。 使用方向键(↑、↓、←、→)控制蛇的移动。...吃到红色的食物后,蛇会变长。 撞到自己或边界时,游戏结束,并显示“游戏结束”提示。 扩展功能 如果您希望进一步扩展游戏,可以尝试以下功能: 增加难度:随着蛇的长度增加,逐渐加快游戏速度。...计分系统:在界面上显示得分,食物被吃掉时得分增加。 障碍物:在棋盘上随机生成障碍物,增加游戏难度。 存档功能:记录最高分并在游戏开始时显示。

7710

C语言基于控制台实现简单的贪吃蛇游戏的步骤和核心机制

如果蛇头撞到自己的身体或撞墙,则游戏结束。需求分析初始化游戏界面和蛇的位置。在游戏循环中,不断接收玩家输入,并根据输入移动蛇的位置。判断蛇是否吃到了食物,如果是则增长身体并生成新的食物。...,此时最容易联想到的数据结构就是顺序表,链表,二维数组,因为我对于顺序表和链表的使用还很一般,这里就用一个二维数组来维护蛇的身体,随机生成蛇头的位置,并保证不会生成在食物的位置int snake[mapX...= fruitPosY) {break;}}食物的产生食物的产生,随机的在地图中产生一个节点,在蛇的头坐标和食物的坐标重复的时候,食物消失,蛇的身子加长//果子位置初始化srand(time(NULL)...如果有,根据按下的键改变 direction 的值,从而决定蛇的移动方向。处理自动移动:如果没有键盘输入,direction 的值保持不变,表示蛇将按照之前的方向自动移动。...每个部分的新位置也被设置为4(表示蛇身)。更新地图:在移动蛇的过程中,需要更新地图上的相应位置,以反映蛇的移动情况。

34221
  • 港科广马书根:算力累积并非智能,机理才是关键丨具身智能十人谈

    在马书根看来,如果没有掌握机理,机器人就只能停留在按照指令完成动作,无法与外界环境实现互动,还远没有达到“具身智能”的程度。...比如蛇在冰面上、在平地上、在崎岖的地面上,就会出现不一样的运动形态,这正是其内在智能的一种体现。生物体会根据其所处的不同环境演化出不同形状和运动方式。...在机构设计上,我们合理利用了欠驱动系统。比如,当机器遇到障碍物时,传统思维是抬起或避开,但我们尝试通过来源于障碍物推力被动改变运动模式来继续前进。这种创新的设计思路让我们在解决问题时有了更多的选择。...马书根:我认为是机理,我一直觉得现在的机器人研究始终没有把握真正的机理。即使大模型出现后,这一部分也并没有得到发展。...所以,我现在经常和学生说,别只是钻研书本,要多接触社会,要多看看外面的世界。 4、由市场决定科研价值 AI科技评论:在您看来,您怎么衡量一个研究的科研价值?

    14510

    JavaScript贪食蛇游戏制作详解

    常量LEFT、RIGHT、TOP、BOTTOM分别代表贪食蛇上下左右的走向 常量GAME_START、GAME_STOP、GAME_OVER代表游戏的三个状态,游戏进行中、游戏暂停中、游戏结束 游戏中的三个类是游戏的逻辑实现...isGameover游戏是否结束 self是实例自身的引用,跟游戏逻辑的表示没有任何关系。...我们从类的实例化为入口开始讲解,然后再逐步扩展至类中的其它方法和属性。 var game = new SnakeGame(); 实例化对象,调用构造函数后,类的几个属性被声明或初始化。 ?...执行的操作分别是 实例化蛇的第一个节点,事实上刚开始也只有一个节点,位置设置在界面的中间。...createFood每5秒被调用一次生成一个食物 ? 蛇身体所占的位置和已有食物的位置被排除掉,显然食物不能生成在已被占用的位置上。

    1.2K100

    我揭开了「对象」的神秘面纱,就这?

    而用面向对象的思路则是: 首先,将整个游戏拆解为一个个的实体:蛇、食物、障碍物、规则系统、动画系统。...比如规则系统接收蛇、食物、障碍物作为参数,可以判定是否吃到食物或者碰到墙壁。 动画系统则可以接收蛇、食物、障碍物等作为参数,然后在屏幕上动态的显示出来。...我们都知道函数在 C/C++、Java 这类语言中都不是一等公民,一等公民的意思就是能够像其它整数、字符串变量一样,可以被赋值或者作为函数参数、返回值等。...我们知道普通变量申明后,编译器就会自动分配一块适合的内存,那么函数也是同样的,编译的时候会将一个函数编译好,然后放在一块内存中。...那写这篇文章得目的呢,就是想让大家对「对象」有一个具体的认识,最好是明白对象在内存中或者 JVM 中是如何布局的。

    79210

    还记得诺基亚手机上贪吃蛇小游戏吗?

    熊猫爬树 还有俄罗斯方块等经典游戏,我就不11介绍了,欢迎大家在评论区中写下自己童年记忆深刻的游戏吧,如果写下了,希望大家可以动手去找到相应的图片或视频保存收藏起来,如果评论还能发图片那就更好了...真正的主题在这☺ JavaScript中Canvas实现贪吃蛇小游戏 两个链接介绍JavaScript和Canvas JavaScript:https://baike.baidu.com/item/JavaScript...数组对象的splice()和pop()方法 splice()函数用于插入、删除或替换数组的元素。...从当前数组中移除一部分连续的元素。如有必要,还可以在所移除元素的位置上插入一个或多个新的元素。该函数以数组形式返回从当前数组中被移除的元素。.../SnakeGame.git 目前已知Bug,有时候可以蛇身体沿着墙走(进去了),可能因为撞墙判断写的不够严谨,或者方块大小的和canvas大小有冲突,没有形成倍数,还望大神指点迷津

    1.4K10

    如何用Python写一个贪吃蛇AI

    Wander函数怎么写都行,但是肯定有优劣之分。我写了两个版本,一个是在可行的范围内, 朝随机方向走随机步。也就是说,蛇每次运动的方向是随机出来的, 总共运动的步数也是随机的。...在没有蛇身阻挡下, 就是曼哈顿距离。然后,我要先判断一下,贪吃蛇这一去是否安全。 所以我需要一条虚拟的蛇,它每次负责去探路。如果安全,才让真正的蛇去跑。...当然,虚拟的蛇是不会绘制出来的,它只负责模拟探路。那么, 怎么定义一个布局是安全的呢?...在追着蛇尾跑的过程中, 再去考虑能否安全地吃到食物。...这个布局上,食物已经在蛇头面前了,可是它能吃吗?不能! 因为它吃完食物后,长度加1,蛇头就会把0的位置填上,布局就变成: ? 此时,由于蛇的长度加1,蛇尾没有动,而蛇头被自己围着,挂掉了。

    1.6K20

    金鱼会开车?对,以色列新研究证明金鱼有陆地导航能力,还能看标志认出目的地

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 只能在水中游动的金鱼,竟然学会了在地面上“开车”?...那么,这些金鱼究竟是怎么学会“开车”的呢? 给金鱼小车装上“防撞系统” 让金鱼控制小车方向这件事,本身其实并不难。...利用摄像头+目标检测算法,就能捕捉到金鱼在鱼缸中所处的位置,并以此决定小车行驶的方向: 这样金鱼即使没有离开鱼缸,也能通过“代步”的方法,到达屋子的每一个角落。...当小车与障碍物相距只有20cm的时候,小车就会自动停下,无论金鱼怎么操控这个小车,它都不再继续前进,直到金鱼转到其他方向: 这样一来,一个专门为金鱼打造的驾驶系统就做好了。...例如《伞学院》(The Umbrella Academy)中那位掌管宇宙时空的金鱼Boss: 还有在《飞出个未来》(Futurama,辛普森一家的衍生剧)中,一位科学家为自己的金鱼制作反潜水泳衣,并训练它在陆地上完成一系列任务

    27810

    「递归」第2集 | 变得了魔术,解得了高数,这届鹅厂程序员有点酷

    这就是我们「递归」栏目的初心,记录平凡腾讯技术人的不平凡。 他是严谨与狂放的结合体,能在感性与理性的思维模式中切换自如。...在工作中,他是沉迷数学研究的搜索算法工程师;在舞台上,他是善于为观众带来惊喜的数学魔术师。程序员与魔术师的双重身份会碰撞出怎样的火花?让我们一起来走进他的故事。...其极客般的理工思维使得他的魔术风格独树一帜,逻辑严密,富有美感。 数学启蒙的童年 应该是在我很小就在课堂上被老师发现有那么一点点天赋,会像法布尔研究昆虫一样趴在地上研究一下午的公式之类的,沉浸其中。...大概在我前二十年,我会以一种数学模型的眼光去看待所有事物,后来在慢慢和人接触中,感受到了还有感性部分的存在。它可能不像理性那样严谨,但是它的一些辩证的逻辑,会让你能够很舒服的去承受和解决一个问题。...并没有说是人工智能时代就去追随,只是时代运气比较好,自己想做的东西恰好就是这个时代所需要的。当然很多人去追求名和利也无可厚非,但是我好像并不是这个样子,如果说研究数学需要坐冷板凳,我可能也会去坐。

    79350

    15亿参数的NLP模型究竟有多强大?有人用它生成了一部《哈利·波特》

    哈利:嗯,我相信你能想到的…… 哈利:但他不在那儿时,他甚至没有注意到斯内普在那儿…… 哈利:他为什么不阻止我呢? 哈利:因为我知道真相,而他不知道。 [斯内普走进他的办公室,然后看着他的信。]...蛇:哈利,哈利,你父亲总是告诉我,人生只有两件事情是重要的,你的父母和你的国家。 哈利:[指着自己] 你说得对,我不想要你或其他任何人。 斯内普:不,你会想要的。 [斯内普从哈利身边走过。...背景中是海格的一幅画,中间是 Snively。蛇在海格的怀里。她怀里抱着一只黑猫。] THE END 这个效果实在让人惊叹!甚至有点引人入胜,“斯内普头上的蛇” 是怎么回事?...“117M 版本模型生成的剧本也给我留下了深刻的印象。它会引入其他适合的角色,等等。尽管在我经验中,它倾向于把史波克和柯克写进任何《星际迷航》故事里!”...这个模型的规模有多大呢?他们没有在博客文章中明确提到这一点,但根据论文,新模型的参数大约是之前的 GPT 模型的 10 倍。

    53120

    15亿参数的NLP模型究竟有多强大?有人用它生成了一部《哈利·波特》

    哈利:嗯,我相信你能想到的…… 哈利:但他不在那儿时,他甚至没有注意到斯内普在那儿…… 哈利:他为什么不阻止我呢? 哈利:因为我知道真相,而他不知道。...蛇:你有两种选择。 哈利:两个我都不想要。 蛇:哈利,哈利,你父亲总是告诉我,人生只有两件事情是重要的,你的父母和你的国家。 哈利:[指着自己] 你说得对,我不想要你或其他任何人。...斯内普:不,你会想要的。 [斯内普从哈利身边走过。背景中是海格的一幅画,中间是 Snively。蛇在海格的怀里。她怀里抱着一只黑猫。] THE END 这个效果实在让人惊叹!...甚至有点引人入胜,“斯内普头上的蛇” 是怎么回事?斯内普想要赫敏原谅他什么? 当然,模型并不完美,生成的剧情有时候让人迷惑,网络在人称指代关系上有时候也不明确。...这个模型的规模有多大呢?他们没有在博客文章中明确提到这一点,但根据论文,新模型的参数大约是之前的 GPT 模型的 10 倍。

    55820

    怪兽电力公司的翻硬币游戏

    而没有衣橱的孩子卧室一般会有抽屉或镜框,所以可以改造现有系统,来让怪兽们能在半夜从抽屉或镜框里爬进这些孩子卧室去逗孩子。...“怎么计时呢?”雪怪问。 “每位只计自己翻硬币的时间,不用记别的怪兽的。从自己翻第1枚开始,到自己翻完第20枚为止。我作为用户也计时,从业务分析师翻第1枚开始,到我收到第1枚和最后1枚为止。”...翻硬币时不要着急,按照你最舒服的速度翻就行了,别搞得像后面有孩子在追你似的。没有问题的话就准备好手机秒表,别忘了计时,我数3、2、1就开始了。” 雪怪把20枚硬币摊在面前,众怪都准备好了手机秒表。...我作为用户的计时也是一样,从业务分析师翻第1枚开始,到我收到第1枚和最后1枚为止。有问题吗?没有问题的话就准备好手机秒表,3……,2……,1,开始!” 硬币飞快地在怪兽们之间传递。...第二,把大批量拆成可以独立上线的小批量,串行地持续交付,能减少价值在中间环节的等待时间,从而加快整体交付速度。这里我为什么要强调‘串行’和‘交付’呢?”独眼豆问。

    70320

    腾讯原生小程序框架 OMIX 2.0 发布

    判断是否有食物,没有就生产一个(低帧率) 蛇与自身碰撞检测 蛇与障碍物碰撞检测 蛇与食物碰撞检测 蛇移动 使用代码描述蛇实体 class Snake { constructor() { this.body...蛇和食物占据的格子为 1,其余为 0。...贪吃蛇架构 那么是整个项目是 MVC、MVP 还是 MVVM从贪吃蛇源码可以看出:视图(components,pages)和模型(models)是分离的,没有相互依赖关系,但是在 MVC 中,视图依赖模型...MVP 模式中,View 和 Model 之间没有直接依赖,开发者能够借助模拟对象注入测试两者中的任一方。...,也可能在同一个页面使用多次;如果使用store来作为组件间通信的话,怎么应用可以实现组件是纯组件而不跟业务相关呢A: 纯组件不用不用 create 创建,且该组件内使用 triggerEvent 通知父组件改变

    2.3K63

    软件开发尝试新技术好吗

    这个看似矛盾的要求,其实是考验团队的平衡能力,新技术的尝试是需要,否则团队技术能力没有发展,但线上系统的稳定也是必须的,如果因为系统不稳定导致死在当前,创新还有啥意义呢?...下面就具体讲讲,怎么样把这两者权衡好,做到鱼和熊掌兼得的效果。...第二,效益的评估是建立在自身的技术水平基础上的,而不是从网上看文章或者跟流行得来的结论。...如果没有好的试验田,甚至可以自己建立模拟试验田,其实很多场景都是可以模拟的,当然这需要测试团队的能力很强。...总之,创新是一个系统化科学的流程,而不是脑袋一热的事情,创新需要全面系统评估,是建立在自身的技术能力的基础上的,没有能力,创新是空话,而且容易成先烈。

    93130

    AlphaGo眼中的李世乭&李世乭最后的机会

    可以看到,李世乭在第一局开始的优势明显没有第二局开局明显,而终局时基本是完全被AlphaGo压制。 那么这个蓝条到底是什么,它是怎么得出的。 如下图: 图3 ?...# 然后第二个问题,AlphaGo是怎么得到图3样式的概率分布呢? #图4 ? # 大概就是这个样子,先将围棋棋盘分解成三部分,1黑棋,2白棋,3不允许落子的地方。...田老师的模型横着有12层,我只有8层,田老师的模型竖着最少有92个卷积核,我的最多只有64个。我只把棋盘拆成了3个二进制特征,而田老师拆了25个,而且还是连续值特征。...没办法,GPU不够用,田老师在FACEBOOK用四个GPU同时训练,而我们整个研究所只有一个,还要大伙一块用,穷鳖哭晕在厕所。...红线反应了在李世乭以往的棋局中所面临的棋局被CNN判定的情况。在第一局中,除了少数几手,李世乭的盘面几乎完全在平均值以下,而第二局在开局则明显在平均值以上,而过了30手(全局60手)便急转直下。

    64030

    DNSPod十问刘兆萄:为什么建筑工地是物联网最难做的生意?

    1 田超:智鹤科技是工程设备管理数字化解决方案厂商,我们印象中的工业都是重活、累活,并且投入产出不高,为什么你们还会选择进军工业领域?你是怎么发现工业物联网的市场机会的?...2 田超:在很多传统企业眼里,数字转型项目成本高、周期长、难度大,最后还有可能倒贴,例如号称开启工业4.0先河的沈阳机床宣布亏损十亿级人民币,2019年被沈阳市中级人民法院勒令重整,因此对数字化转型的接受度不高...整个物联网行业会有比较多的友商,但如果细分到工程行业,我们可以说几乎没有竞品。 8 田超:你说你们没有友商,但是这是不是从侧面反映出,工程设备数字化可能并不是一门好做的生意,导致没有人愿意投入呢?...我上个周末刚好在朋友圈看到你们的9周年庆,做了9年,你们现在赚到钱了吗? 刘兆萄:我确实也在反思这个问题。我的思考结果并不是说行业不需要数字化,这肯定是行业存在多年、急需被解决的痛点。...但要实现无人工地就没有那么容易了,因为工地上数十甚至上百台机械在作业,这些机群缺少一个可以统一调配调度的“指挥大脑”。

    28020

    “机器鼠”出动!北理工团队X光片精度还原老鼠脊柱灵活度,可用于管道检测

    蛇和蟑螂外形的机器人早已出现,但老鼠也非常善于挤过狭窄的开口和穿越不平坦的地形。 那么,有没有可能用“机器鼠”协助人类进行地下空间的探索呢?...这也是为什么这个团队没有设计一个大型的四足机器人或微型机器人,而是决定创造SQuRo,灵感正是来自一种非常擅长挤过狭窄空间的动物——老鼠。...在另一种情况下,SQuRo 成功地在包括高达 20 度的坡度的场地上装载了 200 克的重量(其自身重量的 91%),这也为它未来真正工作时携带相机、传感器等提供了可能。...任何在灾区、管道或其他具有挑战性的环境中航行的机器人都需要能够越过它遇到的任何障碍物。...在一项实验中,团队证明了 SQuRo 可以以 70% 的成功率通过 30 毫米高的障碍物(即其自身高度的 33%)。在最后的实验中,SQuRo 在侧倒后能够自行回正。

    79820

    算法应用实践:如何用Python写一个贪吃蛇AI

    Wander函数怎么写都行,但是肯定有优劣之分。我写了两个版本,一个是在可行的范围内, 朝随机方向走随机步。也就是说,蛇每次运动的方向是随机出来的, 总共运动的步数也是随机的。...在没有蛇身阻挡下, 就是曼哈顿距离。然后,我要先判断一下,贪吃蛇这一去是否安全。 所以我需要一条虚拟的蛇,它每次负责去探路。如果安全,才让真正的蛇去跑。...当然,虚拟的蛇是不会绘制出来的,它只负责模拟探路。那么, 怎么定义一个布局是安全的呢?...在追着蛇尾跑的过程中, 再去考虑能否安全地吃到食物。...* * # # * * * * * # # # # # # # # 此时,由于蛇的长度加1,蛇尾没有动,而蛇头被自己围着,挂掉了。

    1.1K00

    python中的type和object详解

    Bases类似于面向对象语言中的“基类”,“超类”。  如果你想知道一个对象在内存中的位置,你可以调用id(对象)来查看。在这里,我再次强调,在python中,一切都有对象的概念。...一块干净的画板  现在我们来建立python的对象系统。从一块干净的画板开始...,画板分为三部分,从左到右,分别代表类的类,类,类的实例。  我们会在这个画板中开启我们的学习之旅... ...类型对象的类型是type  它们有时会被成为类型有时会被称为类。  你没有看错。在新版本的python中类和类型已经是同一样东西了。由一个很明显的地方就可以看出来。...有没有提到的请留言,我会努力搜索答案来解答:  Q: Python如何真正创建一个新对象?  A: 在python中,创造的新对象有两种:类型和非类型。类型可被继承和实例化。非类型本事就是一个实例。...总结  这些内容是对前面的总结:  在python中有两种对象:  类型对象:可以被实例化和继承;  非类型对象:不可以被实例和继承。  和是python中的两个源对象。  每个对象都有类型。

    79020

    学妹问我: 如何提高编程能力

    说到这,我又想起了最近工作上的事情。 由于时间紧迫,我被 leader 安排去了支援隔壁部门开发,但是他们那里的很多业务背景我一点都不知道。...但是,当我用这个简陋的软件,分别在室友和我的电脑上跑起来并且成功发送消息的那瞬间,我觉得我的编程世界被点亮了。 原来编程这么好玩,原来我也能做一些有趣的东西!...当时我就疑惑了,当一方落子后,该怎么把棋子对象通过网络传输给对方呢,再从网络接收的数据恢复到对象?...局域网内的 IP 只能在内网才能使用,所以我用这个 IP 是永远连不上的他的电脑的。 但是那时候我才大一,没学过计网,根本不懂这里面的原理。 为啥我和室友能连上呢(因为在一个局域网)?...这个过程大多会比较痛苦,至少我这几个月是这么过来的。 说到这,我突然想说下我认为的「自学的能力」,因为在程序员这个群体中,不管是科班学生还是野生程序员,自学都是必不可少的。

    1.9K40
    领券