- 博客(55)
- 资源 (39)
- 收藏
- 关注
原创 扫雷代码里的魔法:开启数据结构与算法的奇妙之旅
虽然在最初的 open_block 函数示例中没有直接用到队列,但在很多类似的图遍历场景中,队列可是发挥着巨大的作用呢,尤其是在广度优先搜索算法里,它就像一个超级有秩序的指挥官,指挥着数据的处理顺序。就像在一个大型的寻宝游戏中,我们把所有可能的寻宝点都列成一个清单(队列),先从最开始的点出发,探索它周围的点,把这些新的点加入清单,然后再依次从清单里取出点来探索,保证每个点都能被有条不紊地检查到。但是,当你经过一番努力,终于理解了一个复杂的数据结构,或者成功地用代码实现了一个算法,那种成就感是无法言喻的。
2025-02-25 22:00:18
774
原创 剖析深度思考:DeepSeek R1的推理功能从何而来
大模型的推理能力本质是基于统计的模式组合与泛化,而非人类式的符号逻辑操作。其优势在于处理模糊性、关联性任务,但在严格逻辑场景需结合符号方法。DeepSeek-R1 等模型通过架构创新和数据策略,正在逼近 "统计" 与 "符号" 的融合边界。
2025-02-25 12:43:47
1009
原创 从五子棋到 DeepSeek:揭开模式匹配的奥秘
例如,当你输入 “今天的天气真好,适合”,DeepSeek 会根据它学习到的模式,预测你可能会说 “出去玩” 或 “去跑步”,因为这些词语在类似的上下文中经常出现。无论是在棋盘上寻找连续的棋子,还是在文本中生成合理的词汇,背后的工作原理都是基于对数据中潜在规律的识别和应用。在图像识别中,AI 会提取图像中的特征,如边缘、颜色、纹理等,然后将这些特征与数据库中的模式进行匹配,以识别出图像中的物体。实现下棋的算法有很多,其中一种简单直观的叫做 “模式匹配” 的方法,可以识别棋盘上的特定模式,然后做出决策。
2025-02-25 11:58:33
1090
原创 AI 武林争霸:强强联手共创 “消块” 奇功
首先,代码定义了游戏的常量,如方块大小、网格尺寸、下落速度等,同时设定了方块的颜色和七种基本形状。通过 on_key_down和 on_key_up函数处理玩家按键事件,实现方块的左右移动、加速下落和旋转操作,当新方块无法正常生成时游戏结束,玩家可按 `R` 键重启。这款游戏既保留了经典的俄罗斯方块玩法,又加入了“同色消除”的新规则,令在场的江湖人士叹为观止。人工智能的世界如同江湖,三大主流大模型——Grok、DeepSeek和ChatGPT,犹如三位武林高手,各自拥有独特的技艺,争霸江湖。
2025-02-24 15:05:45
560
原创 人工智能时代还需要学编程吗?
在这个时代,AI技术已经渗透到社会的各个领域,从智能助手到自动驾驶汽车,从数据分析到医疗诊断,AI的智能化和自动化能力为人类生活带来了极大的便利和效率。总之,编写游戏对编程学习具有多方面的作用,不仅可以提高编程技能和问题解决能力,还可以培养创新能力和综合素养,更重要的是能让枯燥的编程学习充满乐趣。通过编写游戏,开发者可以接触到这些领域的知识和技能,并尝试将它们融合到自己的作品中,从而创造出更加丰富和有趣的游戏体验。在人工智能的时代,选择学习哪种编程语言,往往取决于个人的兴趣、目标以及预期的应用领域。
2025-02-08 16:41:53
808
原创 LangChain+DeepSeek动态生成推箱子游戏关卡
最后构建系统消息,为进一步调用模型做好准备,此后只需将系统消息传入模型的invoke()方法便能触发DeepSeek API 的推理过程,并获取模型的响应结果。使用pgzero库开发了一个推箱子游戏,将当前关卡中移动步数记录在变量steps中,过关时会调用loadmap()方法,该方法中将steps作为输入参数传给模型,模型会根据系统提示词生成关卡数据作为输出,游戏程序则根据模型生成的关卡数据加载关卡图像。LangChain是一个强大的框架,用于构建基于语言模型的应用程序,尤其适用于处理自然语言推理任务。
2025-02-08 16:08:15
1385
原创 有一只会射子弹的贪食蛇,你见过吗?
在游戏编程学习过程中,我们可以有意识地对游戏案例进行一些改进和创新,这样不仅能增进学习效果,还能提高编程能力。这里简单聊聊改进的思路,一般可以从两方面考虑:一是改变原有的玩法规则,二是综合不同案例的玩法。......
2022-06-04 19:00:50
730
原创 教你用Python开发的一款迷你跑步游戏
今天我们来看看国外开发者“Rik Cross”制作的一款迷你跑步游戏。他用了不到一百行代码,就写出了值得一玩的2D动作游戏,怎么做到的?在此之前,先向大家介绍一个游戏框架:pgzero。该框架全名Pygame Zero,是一个基于Pygame的游戏编程框架。它可以更容易地编辑游戏,无需模板、不用编写事件循环,也无需学习复杂的Pygame API,而且支持树莓派。安装:pip install pgzero需求:通过键盘的左右键操作,让运动员向前奔跑,每过25米有路标提醒,最后看谁在
2022-05-21 17:21:19
1090
原创 老游戏新写之Lunar Lander月球登陆
对航空知识有兴趣的朋友都知道,飞行器在月球软着陆不是一件容易的事情。即使在刚刚过去的2019年,印度也没能成功实现该技术,承载着希望的“月船2号”着陆器在距离月球表面2.1公里的时候失去了信号,从此不知所踪。迄今为止,只有中美俄三个国家实现了月球软着陆。印度“月船2号”着陆器失联前的直播画面在阿波罗11号登月十周年纪念日的时候,阿塔里(Atari)公司曾经出了一款名叫“Lunar Lander”的投币式街机游戏。游戏的玩法是通过方向调整和推力控制来引导你的着陆器,将其轻轻地放到安全而
2022-05-21 17:19:49
832
原创 老游戏新写之Jetpac重返地球
主人公流落外星球,遇到一群不讲道理的外星人。想跑路,载具又摔得七零八落。任务:顶着外星人的进攻,把宇宙飞船的零件都找回来组装好,然后为其添加燃料。最后安全逃离,重返地球。这是由Chris和Tim Stamper兄弟于1983年创建的8位机游戏Jetpac里的剧情,也是其工作室Ultimate Play the Game出品的首批热门游戏之一。8位ZX Spectrum电脑上的Jetpac而当一个宇航员和Ultimate Play the Game的徽标在屏幕上出现时,你知道之前的等待是
2022-05-21 17:17:38
277
原创 教你用Python实现经典游戏《小蜜蜂》
估计很多老玩家在小时候都玩过Galaxian(小蜜蜂)吧。这款射击游戏的鼻祖叫《太空侵略者》,上手简单,但可玩性很强。《太空侵略者》大火之后,新推出的Galaxian(小蜜蜂)于1979年成为其最大竞争对手。由Namco发行的Galaxian为外星敌人提供了新的色彩和不可预测的动作,后者不但会发射炮弹,还会自杀式俯冲攻击。《Galaxian》在街机游戏中大受欢迎,以至于Namco在两年后又发布了续作《Galaga》——这款游戏使攻击模式更加复杂。很难说《Galaxian》究竟有多少移植和克隆
2022-05-21 17:14:05
1210
原创 教你用Python实现经典游戏《弹珠台》
弹球游戏如此之多,以至于它本身已经成为一种类型。弹球起源于一种模拟街机,一个金属球将被发射到一个倾斜的游戏区域,并在障碍物之间弹跳。玩家通过按下机器两侧的按钮来操作一对脚蹼,从而将球击回比赛区域,击中障碍物并得分。当球从比赛区底部的出口落下时,比赛结束。视频游戏开发商很快开始尝试重新制作弹球,首先是用相当基本的图形和物理,但随着时间的推移,现实感越来越强——如果你看看1984年任天堂的弹球,然后,比如说,1990年世嘉超级硬盘上的魔鬼迷恋,然后是1992年PC上的弹球梦,你可以看到这一类型在短短几年内发
2022-05-21 17:04:34
1121
原创 教你用Python实现经典游戏《泡泡龙》
《泡泡龙》于1986年发布,看起来与当时街机上的任何其他游戏都不一样。这是一款合作游戏,由大藤光二(Fukio Mitsuji)设计,由两名玩家控制一对龙Bub和Bob,并吹泡泡诱捕敌人,然后将其击破。这使得敌方内部受到攻击,并释放了额外的奖励物品,可以获得额外的积分。与当时的各种射击、驾驶和格斗游戏不同,《泡泡龙》是一款具有广泛吸引力的卡通类游戏;Mitsuji在后来的采访中说,他希望这项游戏能让情侣们喜欢。也许这就是为什么泡泡龙在Taito大受欢迎的部分原因,它仍然是20世纪80年代最受欢迎和喜爱的游戏
2022-05-21 16:59:49
1301
转载 Python编写超级玛丽竟如此简单?不信你试试
得益于Python简洁的语法和强大的扩展库,使用Python编写应用变得十分快捷方便。比如今天要介绍的一款经典游戏超级玛丽的编写,如果用其他语言可能要上千行代码,而使用Python最少只需两百多行就可完成。不信?那就让我们一起开始吧。我们使用的扩展库是Pygame Zero(简称Pgzero)。该库是一个基于Pygame的游戏编程框架。它可以更容易地编辑游戏,无需模板、不用编写事件循环,也无需学习复杂的Pygame API,而且支持树莓派。安装: pip install pgzero建立游戏场景
2022-05-21 16:56:34
3409
5
转载 十行代码编写一个Python小游戏,你准备好了吗?
准备好了吗?我们即将开始激动人心的游戏编程之旅。或许你之前学习过一点编程,但若是你从没接触过游戏编程,那么你仍然会对游戏程序的运行感到不解。游戏程序不像计算一个公式或谜题,得到答案之后程序就结束了,游戏程序一直是处于运行中的,只要你不主动退出,那么你可以永远呆在游戏之中。这就游戏循环的神奇魔力。下面我们尝试用最少的代码来编写一个小游戏。准备工作01 选择合适的开发工具“工欲善其事必先利其器”,编写游戏之前得挑选一款合适的工具,这样可以大大地简化程序编写工作。Python语言有很多第三方库都提
2020-11-21 13:54:03
16695
5
转载 CH 2 欢迎来到代码世界
作者:upupzealot原帖地址:http://www.cnblogs.com/upupzealot/archive/2013/01/30/2882289.html 1.殊途同归,开辟代码之路在上一章的demo中,我们已经创建了自己的世界,并在其中添加了一个角色。然而,这个工作并不是我们通过编写程序实现了,而是借助了Greenfoot作为一个简易游戏框架的一些现成的功能。
2013-01-30 21:59:38
2173
转载 CH 1 Greenfoot初体验
作者:upupzealot原帖地址:http://www.cnblogs.com/upupzealot/archive/2013/01/26/2877835.html 1.认识Greenfoot界面OK,打开我们之前建立好的Greenfoot空白工程,我们首先将看到这样一个界面。首先我们就来认识一下Greenfoot的这个主界面。首先先来做一个划分然后我们将
2013-01-26 17:57:15
3339
转载 CH0 安装配置Greenfoot
作者:upupzealot原帖地址:http://www.cnblogs.com/upupzealot/archive/2013/01/26/2877596.html 1.获取GreenfootGreenfoot作为一款免费开源的共享软件,可以从其官网下载。(官网地址:http://www.greenfoot.org)进入网站门户后点击“Enter Greenfoot site
2013-01-26 11:18:34
1706
翻译 37.第一季结束
I started the sinepost blog about eight months ago, and since then I’ve written around thirty-five posts — more than one a week. I’ve primarily focused on geometry (and a little mechanics), building g
2012-09-29 20:44:54
754
翻译 35.瞄准
35.Take AimIn our last post, we implemented projectile motion as the start of a game involving monkeys throwing bananas. We saw that projectile motion always follows the same parabolic pattern, wh
2012-09-22 15:00:51
1140
翻译 34.像香蕉一样飞行的水果:抛掷运动
34.Fruit Flies Like A Banana: Projectile MotionSimple projectiles have been popular in games for a long time.Angry Birds recently combined it with collision physics to great success, but long ago, g
2012-09-15 11:42:33
1951
翻译 33. 实现桌球的反弹
33.Making Your Balls BounceIn this post, we will finally complete our pool game. We’ve already seenhow to detect collisions between balls: we just need to check if two circles are overlapping. We’
2012-09-07 22:31:35
2204
翻译 32. 更加有效地墙壁反弹
32. Bouncing Off The Walls, More ProductivelyIn a previous post we saw one way to bounce a ball off walls, by using angles and rotation. In maths, there are often several ways to approach a proble
2012-09-01 19:54:20
1356
转载 31. Rack ‘Em Up
In recent posts, we’ve been building a pool game. One aspect of pool that we need to implement is positioning the balls for the start. There are fifteen balls to line up in a tightly packed triangle.
2012-08-27 08:51:30
818
翻译 30.在墙壁间反弹
30.Bouncing Off The WallsIn this post we will continue building our pool game. One of the aspects of a pool game that we will need is the ability for the balls to bounce off the edges/cushions of
2012-08-21 15:20:00
1656
翻译 29.桌球知识:两个圆之间的碰撞检测
29.Pooled KnowledgeIn this post we’re going to start work on a pool game. Pool is quite a nice example for a game, because really it’s a two-dimensional game. The balls are always (trick shots aside
2012-08-02 08:38:55
2064
翻译 28. 图像旋转
28.Image RotationThis post is a quick diversion, on request from a user on the Greenfoot site. They asked how to rotate an image, which is actually quite a simple task, given what we have already
2012-08-02 08:35:38
1036
翻译 27.直线上的第一个:只获取直线上第一个被碰撞的物体
27.First In Line: taking only the first item that a line collides with.In our last post we added a laser to our spaceship that shot asteroids. It was a very powerful laser, because it would shoot
2012-08-02 08:32:37
630
翻译 26.激光切割机:不放过任何目标;在直线和圆之间进行碰撞检测
26.Laser Cutter: Don’t Miss A Thing; collision detection between a line and a circleIn our last post, we saw how to do collision detection between bullets (modelled as an exact point) and asteroid
2012-08-02 08:27:08
1135
翻译 25. 射击石头:在点和圆之间进行碰撞检测
25.Shooting Rocks: Collision Detection between a point and a circleThe very first example on this blog looked at moving a spaceship around. In this post we’ll return to our spaceship, and get it s
2012-08-02 08:17:15
1109
转载 24.Doomed: Trigonometry in an early first-person shooter game
Today’s trigonometry example comes from gaming history: the early days of what are now known as first-person shooters (FPS). But don’t worry, you don’t need to like or play FPS games to understand thi
2012-08-02 08:15:39
754
翻译 23. 另一种砖块墙面:纹理映射
23.Another Brick In The Wall: Texture MappingIn our last post, we drew a 3D view of being in a maze-like grid of blocks. But all the walls were of single uniform colour, which is quite dull. The e
2012-08-02 08:09:28
853
翻译 22. 走进三维:光线投射法
22.Approaching the Third Dimension: RaycastingLet’s think for a moment about how to implement 3D graphics. One 3D graphics technique, ray-tracing, takes inspiration from the physical world. In the p
2012-08-02 08:06:57
1695
翻译 21.视线:在网格中计算可见性
21.Lines of Sight: Calculating visibility on a gridLast post, we developed a game where your robotic opponents all come towards you and you must fire at them to stop them. It was made somewhat eas
2012-08-02 08:00:21
1054
翻译 20.机器人逃犯:在网格中射击
20.Robotic Outlaws: Shooting on a gridRecently, we’ve seen how to find your way around a grid, and how to draw a line between two points, choosing which pixels to illuminate. Now we’ll move on to ga
2012-08-01 11:09:26
1670
翻译 19.绘制一条直线:在绘制直线时决定去填充哪些像素
19.Drawing in a Straight Line: Deciding which pixels to fill when drawing a lineOn paper, drawing a straight line between two points is easy: Put your ruler down on the page, and run your pencil acr
2012-08-01 11:08:41
2897
翻译 18.寻找你周围的道路:在设有障碍物的网格中寻路
18.Finding Your Way Around: Pathfinding on a grid with obstaclesIn the last post we saw about distances with horizontal and vertical movement, and how to move one object towards another using hori
2012-08-01 11:08:15
2272
翻译 17. 首先我们获取曼哈顿距离:如何在一个网格里测量距离
17.First We Take Manhattan: How to measure distance on a gridWe saw very early on in this blog how to make an actor aim for a target location. One way to use this is for enemies chasing you in gam
2012-08-01 11:07:47
2372
转载 16.Checkpoint!: Adding checkpoints to the racing scenario by looking at the intersection of two line
In a recent post, we had a bus racing around a track. A nice finishing touch would be to add a facility to measure lap-times. But how can you measure when someone has completed a lap? The first step
2012-08-01 11:06:53
914
游戏编程课件+源代码+实验指导
2011-03-28
游戏关卡编辑器V1.1
2012-05-12
java课件(BlueJ教材)
2013-07-21
【附源码】游戏关卡编辑器
2012-05-06
greenfoot技术博客源码
2013-07-06
【源码】樱桃女孩游戏源码
2012-05-12
+++++++【精品免费分享】+++++++《游戏程序设计教程》随书课件+源程序代码
2011-03-22
java游戏程序设计课件ppt
2009-05-20
【资源共享】游戏编程方面的学习资料(包括新版教材的电子教案和所有源程序代码)
2011-03-23
python游戏案例合集2
2025-06-05
# 基于《趣学Pyhon游戏编程》第九章推箱子游戏源代码pushbox.py # 加入了关卡间的穿行功能
2023-01-31
中国象棋Greenfoot欢乐版(含源码)
2015-04-11
【课件】Java程序设计_游戏动画案例教程
2013-11-25
《Java游戏程序设计教程(第二版)》电子教案
2014-06-19
java反编译工具
2016-05-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人