自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 关于用pygame来编写类满天星游戏的全记录二

考虑有可能出现完全无法消除的情况,那么可以再游戏里增加检查机制,可以在游戏过程中,不断检查游戏状态,利用之前的消除算法,不停查找是否还有可以消除的星星,如果没有了,则重新生成棋盘。这个很简单,就不做了,我稍微偷个懒,修改一下游戏机制,即只要有2个以上相同的星星,就可以消除,那么游戏就可能出现无法消除的情况。运行游戏,确实有移动了,但是因为这个只是动画过程,那么实际二维列表内容并没有发生变化,所以游戏界面出现的不是移动,而像是复制后移动,并且如果此刻重新画图,所有界面都恢复原样了。增加的过程也需要动画效果。

2022-10-03 20:54:30 889 1

原创 关于用pygame来编写类满天星游戏的全记录

使用pygame编写类似满天星小游戏。

2022-09-17 11:30:32 498

原创 python编写小游戏之三入最最简陋简单贪食蛇编写2

紧接上回,已经完成了单独的贪食蛇的控制,但是呢,居然没有苹果可以吃,所以,非常简单的加入苹果,同时呢,修改一下主程序中贪食蛇的创建,单独编写一个贪食蛇身体生成函数,这样将来要做双蛇也很简单了。还需要修改删除最后一个列表元素位置,同时因为蛇的身体会变长了,所以单纯的碰到边界游戏才结束,已经不够了,我们还需要加入如果蛇头碰到自己的身体,游戏还是要结束。因为蛇与苹果之间有交互关系,如果蛇吃到苹果,那么蛇的身体会增加一格,也就是此次循环不删除列表的最后一个元素,所以定义了一格标志位。还可以加入得分系统。

2022-09-06 13:55:50 327

原创 python编写小游戏之三入最最简陋简单贪食蛇编写

使用pygame完成贪食蛇游戏的编写,纯手工打造极致简陋却还能用的算法实现。

2022-08-28 17:35:27 218

原创 python制作小游戏之二2048最终章

pygame最终结局。

2022-08-24 11:41:01 336

原创 python制作小游戏之二2048第二部分

2048第二部分

2022-08-22 15:54:14 192

原创 python制作小游戏之二2048第一部分

纯自制2048小游戏,一如既往的简陋,算法完全根据规则自己想的,但是能玩。动画虽然写了,但是又像没有一样。

2022-08-20 11:47:38 441 1

原创 python做小游戏之一小迷宫游戏

使用pygame模块做一个简简单单,无比简陋,但是还能玩,且可以扩展地图的小迷宫游戏。

2022-08-17 16:35:10 4899

原创 带娃学Scratch之十三----完善迷宫

上一次课画了一个迷宫,然后小老鼠在迷宫中穿行无阻,这当然不是我们想要的。所以马上修改内容让小老鼠不能穿越迷宫,只让可怕的幽灵穿越迷宫。首先我们回到了小老鼠的代码去,找到控制小老鼠的循环部分,这时候我适时提问。‘有什么办法可以让小老鼠不能穿越迷宫呢?’‘碰到迷宫反弹’‘没有这个东西’‘那我不知道’‘……’我会轻易认输吗?‘那你想想,我们的迷宫是个’角色’,我们怎么知道有没有碰到某个角色呢?’‘啊,检测有没有碰到迷宫’‘没错!’我们要做的就是当老鼠碰到迷宫的时候,往自己当前运动的反方向移动

2021-02-22 15:51:16 478

原创 带娃学Scratch之十二----幽灵登场

虽然幽灵已经等不及要登场了,但是上节课的问题还是要先解决的。首先是奶酪随机出现时又是会跑到屏幕的外边去了。因为我们用了积木由于奶酪的坐标代表的是奶酪图形的中心点,所以移到边缘位置的时候,就会出现奶酪部分出现在屏幕外的情况。解决方法其实很简单,我们使用下面的积木代替随机位置积木则可以了。因为涉及到坐标还有随机数,所以我仔细的跟小朋友讲了讲。小朋友已经知道移到x、y坐标积木的作用,我又再次解释了随机数的意思。然后把把奶酪拖到屏幕的左边,让小朋友记录此时x坐标的数值,再把奶酪拖到屏幕的最右边,再次

2021-02-15 16:30:19 290

原创 带娃学Scratch之十一----谁动了我的奶酪

终于迎来了第十一课,要自己动手画角色了。不过考虑到真的很久没有上课了,所以在上课之前,先让小朋友运行游戏操作小老鼠愉快的奔跑了一会,然后进入教学阶段。首先,新建绘制角色然后进入了空白的区域考虑到第一次自己绘制图形,所以详细讲解了每一个工具的作用,那个是画笔,那个是橡皮,什么是填充等等……紧接着是让小朋友自己熟悉阶段,来开始你的表演:果然没有让我失望,一顿操作猛如虎啊……接着讲解开始画奶酪,虽然讲解很详细,但是小朋友实际操作时还是问题层出不穷,好在本来也就是熟悉操作而已,也没指望能一下全都记住

2021-02-04 11:52:09 353

原创 带娃学Scratch之十----第三个游戏

马上要开始新游戏的学习了,不过先把之前的坑给填上,那就是为什么章鱼哥3在移动过程中完全不理会小狗,在章鱼哥的滑动过程中,小狗无论怎么触碰它,都没有任何反应,只有在移动完成后,下一次移动开始前触碰章鱼哥3游戏才会结束。之前简单分析过,因为我们的碰撞判断发生在章鱼哥3的滑动积木后面,也就是说,章鱼哥3在4秒的移动过程中完全没有判断是否碰撞到小狗,所以完全不理小狗了。解决方案呢?很简单,把碰撞检测从这个脚本中脱离出来就好了,我们单独为碰撞建立一个脚本,这样就比较好的解决这个问题了。章鱼哥3从此一心二用,无

2021-01-06 11:58:22 258 2

原创 带娃学Scratch之九----完成第二个游戏

今天是第二个游戏的最后一课了,一上来先是常规操作----复习。先是回顾了上一节课的内容,克隆在哪里实现的?重复执行里面包含了的东西是什么?章鱼哥的移动步数代表了什么东西,等等…接着一起玩了一会儿游戏,然后我提出了问题–虽然游戏有背景的音乐,但是我们的小狗在吃掉星星时星星只是迅速消失然后出现在新的地方,作为操作者并没有其他的任何的感觉,感觉到自己完成了获得星星的操作?那么该怎么办呢?声音!!!没错,加入声音,在加入声音之前,按照小朋友的要求,狗狗不吃星星应该吃卷饼,所以星星被迫改名换形状。!](http

2020-12-20 11:04:29 210 2

原创 带娃学Scratch之八克隆初探

终于来到第八课了。这次上课距离第七课已经快两周了,其实间隔有点长了。所以我计划开始之前先复习之前的几个知识点,考考小朋友还能记得多少的同时也在上课前热热身。所以我自己先浏览了一下啊之前的编写的脚本,看看做到了什么地方。看得过程中,我忽然想到一个事情,我自己是已经习惯了编程思维了,也习惯了程序的运行模式了,但是小朋友他并不熟悉这些啊,我甚至重来没有考虑过他到底明不明白程序运行情况是怎么样的?就是说,在脚本区域里的积木,在循环里的积木到底是什么意思,他明白吗?看来考察重点有两个了,第一复习之前的内容,第二看

2020-12-16 16:17:09 549

原创 带娃学Scratch之七狩猎游戏制作

一开始课程,首先测试小朋友的掌握情况,先来了几个练习。新建角色移动,旋转,跟随等等,热身运动。然后进入主题———路在何方?除了水母还有很多生物都面临同样的问题。紧接上次提出的问题,水母的移动似乎只能是朝着一个方向,右边,然后就这样左右来回移动,动作僵硬至极,完全没有海洋动物的柔韧性可言。难道就这样结束了?当然不是。没有什么是一块积木解决不了的问题。如果有,那就两块。小朋友先尝试了“面向鼠标指针”的积木,以及其下拉菜单的内容,立马水母灵动起来。每次运行游戏,水母都有不同的运动体验,摆脱了单调和死板.

2020-12-07 08:30:35 226

原创 带娃学Scratch之六狩猎游戏制作

趁热打铁,第二个游戏“狩猎”正式登场。开局全靠一张图,按我的命名思路这个游戏应该命名为“星星章鱼和太空狗”才对,由于实在太魔幻了,所以果断放弃了,采用了现在流行的看片名绝对猜不出内容的方式,命名为“狩猎”,妥妥的。考虑到小朋友高涨的动手热情,所以一上来简单的剧情介绍后,直接甩出上手题目,更换默认背景为带有海底特色的背景图。几乎不怎么提示,他就比较顺利完成了。唯一的纠结点在于应该选择哪一张海洋特色的图,这可是让他操碎了心。然后继续,角色太空狗出场,又是一顿猛虎般的操作,以及完全不想把太空狗放到游戏界面里

2020-12-01 08:42:24 335

原创 带娃学Scratch之五游戏完成与总结

针对上一课的完美坐标讲解,小朋友大概对坐标又了概念,但是仍然很难理解左右移动什么的,不过没有关系,基本知道这个概念,后来还要多次用到,慢慢就理解了。狮子的运动呢?只要完美参考小苹果的运动轨迹就可以了,也就是只从左到右移动,碰到边缘就回到刚开始的位置—完美解决。再让狮子出现的位置跟苹果一样,在左下角,比小苹果高一些。这里使用了一个新的积木,在1秒内滑动到x、y坐标,效果与移到x、y坐标一致,只是有了一秒的时间动画。自此,整个游戏制作完成。小朋友终于可以开心玩游戏了。虽然只是入门的小游戏,并且在游戏的开发过

2020-12-01 08:29:15 362

带娃学Scratch之四狮子出场了

历时4个课时的小游戏,终于迎来了最后的时刻,游戏的大反派也是唯一的反派——狮子出场了。距离上一课又过了好几天,但是小朋友还是记得要在狮子的脚本里一开始拖入的积木是那个,而且也比较快速灵活的调整了狮子的大小,因为狮子原本的大小实在有点大。秉承着一贯的原则,先要考考他,游戏运行的时候狮子呆呆的站在原地,我想让狮子动起来,应该怎么办呢?经过提示,小朋友完成了以下脚本的搭建。运行游戏后,果然没有达到想要的效果。循环的概念还是得不断加深才行,通过循循善诱讲解,为什么狮子的动作只有一次呢,我们是不是需要他不停

2020-11-23 09:44:32 223

原创 带娃学习Scratch三——控制与躲避

终于迎来的第三课,小朋友催了好几次,问什么时候上课,所以仓惶带来了第三课。依然是老规矩,上来先复习。游戏运行按那个键,选什么积木没有问题的,循环什么的就算了。然后根据我的提示,自己选择了背景,嗯,有点样子了。然后自己尝试加入了鹦鹉,直接在角色界面改了改鹦鹉的大小,其实使用积木修改更合适,但是小朋友现在不用知道这么多。当我们把鹦鹉拖动到合适的高度后,从角色界面记录下了此时的坐标值,什么意思?没有关系,不解释,因为鹦鹉也有自己的语句表述现代打地沟油歌谣。在这里插入图片描述​不要提醒的,小朋友找到了代

2020-11-15 14:06:22 849

原创 带娃学习Scratch二——又见Scratch

第二节Scratch编程课,并不着急着开始游戏编程,而是先简单回顾了上一节课的内容,包含Scratch的操作,角色的添加,对话出现,背景变化怎么实现,如何运行编写好的积木等等。虽然间隔了两三天,但是小朋友大部分内容都还有印象,不错的开始。第一个游戏——狮子鹦鹉和小苹果(如有雷同,纯属意外)。先介绍了游戏规则,然后使用伪代码描述了第一个角色“苹果”所需要做的操作。实现以上内容,看似很多,而积木量却是意外的少。虽然我很贴心的按照颜色以及锁进方式想要表达出一些东西,但是小朋友应该是完全没有感受到老爹的良苦

2020-11-10 09:08:49 183

原创 带娃学Scratch----初识Scratch

终于开始教我家的那位少儿编程了。小朋友的思维够活跃,动手能力与理解能力甚至是记忆能力都超出我的想象。之前在苹果公司的Playgrouds上教过他一些编程的思路,也让它自己尝试着编写命令的组合,最终完成关卡的试验。他也是乐在其中的。看着角色“Byte”在自己的命令组合中,采集宝石,切换开关,最终走向终点,小朋友也很是开心愉悦的。奈何“Playgrounds”虽然动画与命令结合,寓教于乐,但是编程难度上升太快,小朋友理解能力跟不上编程难度,后来的循环嵌套等等已经超出了六岁小学生的理解能力了,只能忍痛放弃。因

2020-11-06 09:16:53 1073

原创 青少年编程Playgrounds之二十--算法

青少年编程Playgrounds之二十–算法第五关 向左走,向右走本关是本章也是学习编程1的最后一关。感慨良多,对比一下第一关,这还是同一个学习编程吗?走到这里,想来也对编程有了一定的了解,逻辑,条件,循环,函数也应该有了深刻印象了。学习编程2 会更进一步深入了解函数,数组,类,算法等等,真的很不错。无论哪种语言,这些内容都是必不可少的废话不多说了,进正题。根据地图来看,通关方法有很多,完全自由发挥,地图和宝石及开关位置都是固定的,所以难点在于你想写多少种方案,你想多精简,你的野心有多大

2020-09-30 13:39:34 629

原创 青少年编程Playgrounds之十九--算法

青少年编程Playgrounds之十九–算法第三关 征服迷宫有了上一关的基础,本关就很简单了,首先,导航算法移过来func navigateAroundWall() { if isBlockedRight { if isBlocked{ turnLeft() }else { moveForward() } } else { turnRight()

2020-09-29 13:35:19 520

原创 青少年编程Playgrounds之十八--算法

青少年编程Playgrounds之十八–算法第一关 右手定则先看地图,多次 运行我的代码 后,能发现,地图上的障碍物(Block)是随机变化的,那么肯定不能编写固定的代码。而本关的提示里已经非常详细的使用伪代码完成了算法编写。只要稍微修改一下真正的代码,使其和伪代码一致即可。首先分析一下导航部分的代码,也就是Byte寻找路径的方式,即本关标题所说的右手法则。就是说只要右手边没有阻拦,那么就右转,如果有阻拦,则直行。由于本关地图的特殊性,这样就可以了,但是实际情况会复杂一下,后面的关卡会遇到。

2020-09-28 14:58:31 590

原创 青少年编程Playgrounds之十七--While循环

青少年编程Playgrounds之十七–While循环第七关 嵌套循环分析一下地图,只要让角色Byte每次遇到宝石后,左转,然后重复操作即可。一直到Byte前方无路可走时,循环则可以结束了。根据本关给出的条件,可以知道,只要找到内外循环的退出条件即可。内循环条件很明显,即,遇到宝石,再没有遇到宝石的时候一直往前走当遇到宝石后,退出内循环,需要做的操作也很简单搜集宝石–左转,再次进入内循环那么什么时候退出外部的大循环呢?通过头脑中模拟一下情形可知,Byte通过多次内循环后,最终来到最

2020-09-22 09:58:12 585

原创 青少年编程Playgrounds之十六--While循环

青少年编程Playgrounds之十六–逻辑运算第六关 富饶之地数次点击 运行我的代码 可以发现平台长度会变化,宝石及开关数量,开关状态也会发生变化。但是找模式依然管用。如果要使用for循环作为最外层循环的话,根据地图变化情况,那Byte每次最好解决单一问题,即开关列–宝石列–开关列func finishOneRow(){ while !isBlocked{ moveForward() if isOnGem{ collectG

2020-09-21 09:11:55 411

原创 青少年编程Playgrounds之十五--While循环

青少年编程Playgrounds之十五–逻辑运算第三关 正确选取工具因为已经给出了Byte小朋友的行为模式,所以我们只是需要完成循环即可,如果使用while循环,我们需要找到Byte的停止条件,仔细分析,拖拽,旋转地图,就会发现,使用for循环制定次数是最简单的,但是我们就是喜欢困难…根据给定行为模式分析,当搜集到最后一颗宝石的时候,Byte面对的方向是没有前进的道路的,而之前Byte都是有路可走的,所以,考虑把停止条件设定为isBlock,代码如果使用for循环,就直接根据宝石数量作为循环

2020-09-14 20:38:07 676

原创 青少年编程Playgrounds之十四--While循环

青少年编程Playgrounds之十四–While循环第一课 当…时运行代码地图本关非常容易,只是简单理解一下while循环。也给出了限定条件即我们需要做的是分析一下Byte小朋友前进的条件即可,通过地图,可以判断出仅当Byte站在未点亮的开关上时,才需要前进,所以条件即为isOnCloseSwitch注意while循环是在条件为真时才执行,那么循环内部需要什么操作呢?切换开关–前进运行代码第二关 创建更巧妙的while循环分析本关地图,与第一关思路相同,首先,whil

2020-09-13 16:21:58 366

原创 青少年编程Playgrounds之十三--逻辑运算

青少年编程Playgrounds之十三–逻辑运算第四关 检查这个或那个与第三关一字之差地图本关练习使用逻辑 或分析一下循环for i in 1 ... 12 { }也就是说,Byte需要走12步,则完成本关。当前方或者左边没有障碍这两个条件都不满足时,前进。而任一条件满足时,则先右转,然后前进一步。for i in 1 ... 12 { if isBlocked || isBlockedLeft{ turnRight() } moveF

2020-09-11 10:13:45 289

原创 青少年编程Playgrounds之十二--逻辑运算

青少年编程Playgrounds之十二–逻辑运算第一关 使用“非”运算符Byte总共需要直行四次,搜集四颗宝石,但是到底是哪一颗宝石在道路左边台阶下,这是随机的。所以需要一直判断当前所处位置是否有宝石,如果没有,则需要往左边完成宝石搜集动作。当前任务的代码区,并不支持自定义函数,所以只能将所有内容写进主程序的for循环中。原主程序内容for i in 1 ... 4 { moveForward()}修改后的程序内容for i in 1 ... 4{ moveForwar

2020-09-10 09:57:42 487

原创 青少年编程Playgrounds之十一--条件代码

青少年编程Playgrounds之十一–条件代码第六关 微困其中首先无脑完成开关或宝石搜集函数func collectOrToggle(){ if isOnGem{ collectGem() }else if isOnClosedSwitch { toggleSwitch() }}然后,当我们点击编程区域时,仔细看下方提供的函数时,会发现,它悄悄提供了一个函数,即isBlock有了这个函数,编程就会方便很多。那么分析Byte同学的

2020-09-08 08:40:43 421

原创 青少年编程Playgrounds之十--条件代码

青少年编程Playgrounds之十–条件代码第四关 循环条件代码地图根据提示,可以很容易解决问题,在每次移动以后,都检查是否有宝石或者没打开的开关。//检查需要搜集宝石或者打开开关 if isOnGem{ collectGem() }else if isOnClosedSwitch{ toggleSwitch() }此方式需要循环执行12次,则number为12程序运行结果第五关 条件

2020-09-07 09:09:58 557

原创 青少年编程Playgrounds之九--条件代码

青少年编程Playgrounds之九–条件代码第一关 检查开关老规矩,上目标以及地图地图条件语句,无论是什么语言,C,C++,C#,Python,Java,汇编,VHDL,哪怕图形编程,即使是自然语言编程都是躲不开的。由于开关的状态会随机发生变化,可以通过 运行我的代码 来观察开关的随机变化情况可以看到开关的随机变化是发生在程序运行以后,所以无法在运行程序之前预判哪个开关需要亮点,哪个不需要。所以当我们走到开关上时,需要判断开关状态,而示例也给出了判断方法,即//开关是否为关闭状态i

2020-09-04 08:28:07 637

原创 青少年编程Playgrounds之八--For循环

青少年编程Playgrounds之八–For循环第六课 宝石农场上目标地图思路与上一课一样,分解Byte的动作,然后找到完成任务的模式,循环仔细分析一下,Byte一共需要采集6颗宝石,点亮6个开关,每一行有2颗宝石,2个开关,那么点亮一行中的两个开关的动作为左转–前进–点亮–前进–点亮–转身–前进–前进搜集宝石动作为前进–搜集–前进–搜集–转身–前进–前进–右转–前进还可以再细分一下,不过意义也不大。第一个函数turnOnSwitchAndBack()运行一下代码,查看结果是

2020-09-03 08:19:05 250

原创 青少年编程Playgrounds之七--For循环

青少年编程Playgrounds之七–For循环第四课 循环跳跃者目标地图依然是使用循环完成所有宝石的采集。终点在于找到采集的模式,该模式要能够用于循环体中。搜集到第一颗宝石的指令顺序可为:前进–左转–前进–前进–搜集如果使用该指令顺序循环的话,显然不能完成任务,但是只要在搜集指令后,再添加1条指令,即前进,就可以找到重复模式,用于循环中了,即循环体{前进–左转–前进–前进–搜集–右转}一共五颗宝石,循环五次,主程序如下运行结果如下:第五课 拓展技能目标地图本课内容主

2020-09-02 08:32:17 316

原创 青少年编程Playgrounds之六--For循环

青少年编程Playgrounds之六–For循环第一课 使用循环先来看看课程目标以及地图吧观察地图可以发现,完成一排的动作为前进–前进–搜集–前进那么for循环内的代码则为最后一次前进后,进入传送门,Byte则会被传送到第二排的开始位置。for循环的number的大小要看需要执行同样的动作组多少次,这里需要执行5次,那么number的数值则为5.Swift语言的For循环有好几种形式,可以这样直接取包含值的[1,5],也可以是小于[1,5)即取值为1到4,则代码为for i in 1

2020-09-01 08:44:05 323

原创 青少年编程Playgrounds之五函数篇

青少年编程Playgrounds之五函数篇第四课–尽收囊中先看目标和地图吧地图可以看到地图上3*3的方格内共有九颗宝石需要搜集,那么移动和搜集指令必不可少。至于将哪些指令放入函数中呢?考虑将搜集一列宝石作为函数动作,则可以搜集–前进–搜集–前进–搜集那么只要处理好转向和移动则程序就可以完成了。目前我能想到的比较少指令的方法就是这样了。目前还不能自己创建新函数,也不能传递参数,考虑到循序渐进,也没有必要弄得特别复杂。第五课 – 嵌套模式目标及地图函数turnAroun

2020-08-31 08:46:18 508

原创 青少年编程Playgrounds之四函数篇

青少年编程Playgrounds之四函数篇第一课 组合新行为编程进入到函数部分,依然是很基础的东西,先来看看动作的组合部分。目标没有右转指令,为了实现右转,我们需要组合什么指令呢?很简答,三次左转即可以完成一次右转,如然后分析地图,Byte的移动方式直行3步–右转–直行3步–搜集宝石指令如下:三次左转实现了右转功能第二课 创建新函数目标将三次左转定义为一次右转函数,以后只需调用右转函数就可以了,不需要重复再键入三次左转命令,便于多次使用该命令。添加右转函数分析一下地

2020-08-30 10:08:10 325

原创 青少年编程Playgrounds之三

青少年编程Playgrounds之三第五课 发现并修复错误–程序员的日常编程去已经有代码了,只不过是错误的代码,根据游戏视图很容易发现代码的错误,但是还是先运行代码看看可以看到,原程序早了一个路口左拐了,所以只需要,调整一下顺序,就好了第六课–消灭程序错误练习通过地图可以非常方便的找出程序的问题,但是这里还是使用 以较慢速度单步调试 来查看问题,很快就能知道解决问题,修改程序。最终修改后的程序第六课–最短路径观察地图Byte需要吃到宝石,然后踩下未开启的开关,其最短

2020-08-28 10:07:52 221

原创 青少年编程Playgrounds之二

青少年编程Playgrounds之二第二课添加新的命令游戏视图从图中可以看到,Byte需要前进2步,然后左转,然后再前进2步,走到宝石处,搜集宝石点击编程区域不出所料,出现了左转函数,然后愉快的逻辑编程吧第二课完成。第三课 切换开关目标可以看到又新增加了新的要求–切换开关状态相应的代码也增加了一个函数分析游戏视图区域,Byte的运动逻辑为前进2步–左转–前进1步–搜集宝石–前进1步–左转–前进2步–切换开关为打开状态上逻辑代码上游戏视图第三课完成。第四课

2020-08-27 14:08:58 507

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除