![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
scratch游戏编程
geng_zhaoying
72年北京大学无线电系学生,76年河北电子研究所技术员,80年北方交通大学电信系研究生,83河北电子研究所技术员,1996河北师范大学计算机系系主任、教授,2008年退休随女儿在北京,2021年73岁
展开
-
用scratch实现网上“超人训练”游戏
网上有很多超人游戏,例如:超人训练、超人锤练、超人磨练、超人考验、超人飞跃、超人冲刺等。一般用火柴人扮演超人,能跑、能跳、能攀峭壁,能力超强,游戏场面宏大,关卡一个比一个难。外孙女也喜欢超人游戏,也想自己编一个。但编写网上那样宏伟场面的游戏不太现实,我们只是学习编程,精力应放在用scratch实现超人的跑、跳、攀爬等各种动作脚本,因此仅设置两个关卡,来验证这些脚本。查看游戏源代码是不可能的,只能是自己玩或看别人玩游戏,想办法用scratch脚本实现看到的动作。这些游戏都是敏捷类游戏,老人可能玩不了,小孩玩坏原创 2020-05-10 20:09:39 · 1046 阅读 · 0 评论 -
用scratch实现网上游戏“球球情侣2”
网上有个“球球情侣2”的游戏,游戏中有两个不同颜色的球,玩者首先用鼠标画线画出球移动的路,分别单击两个球,使两球沿线移动,如果两球碰到一起,进入下一关。外孙女喜欢这个游戏,也想用scratch自己编写一个。编写很多关是游戏公司的事,我们只编写一个最简单的一关,说明实现的方法。本程序要实现两个功能,第一,用鼠标画线,但在鼠标移出工作区时不能画线,单击球时不能画线,在红色块上不能画线。第二,球沿所画线...原创 2020-04-25 16:51:43 · 681 阅读 · 1 评论 -
用scratch编写游戏2048(印章法)
用列表记录2048游戏4*4矩阵每位显示的数字。增加角色有多个造型包括游戏所有数字。游戏移动数字,首先按游戏移动规则修改列表数据,角色移到矩阵所有位置,每到新位置,按列表数据变换其造型显示该位应显示的数字,用印章固定,完成数字移动。原创 2020-07-13 20:00:29 · 2538 阅读 · 0 评论 -
用scratch编写游戏2048(克隆法)
游戏2048用16个有13个造型的克隆体组成4行4列矩阵显示数字。用列表记录不同位置克隆体要显示的数字造型。玩家用方向键控制整行(列)数字按规则向一侧移动时,程序不移动克隆体,而是按游戏规则修改列表的数据,各克隆体按列表数据修改自己的造型,完成数字的移动。原创 2020-07-11 16:26:09 · 4907 阅读 · 0 评论 -
scratch游戏“小蝌蚪成长”用大背景(分割法)
有时在游戏中希望背景大于480*360,例如使用960*720图形背景,可将其分割为4个480*360的小图像,用这4个图像建立4个角色,它们协同工作实现大背景,使角色能移到960*720大图像的任何位置。原创 2020-06-26 20:01:26 · 1384 阅读 · 0 评论 -
用scratch编写游戏“小蝌蚪成长”中使背景大于480*360
有时在游戏中希望背景大于480*360,例如960*720,如将其放入scratch的背景或对象中,都将其缩小为480*360,对象最大允许将图像放大1.5倍。本文提出一种方法使对象中的图像放大倍数大于1.5倍,例如两倍。原创 2020-06-24 09:42:41 · 2657 阅读 · 0 评论 -
用脚本为scratch设置断点提供简单的动态调试功能
当脚本没有按希望的那样运行,仅分析源代码又不能发现问题时,希望能运行部分程序代码后停下来,此时通过分析各个变量的值,来发现错误。通过用脚本设置断点方法,为scratch提供简单的动态调试功能。原创 2020-06-14 17:37:56 · 1351 阅读 · 0 评论 -
用scratch编写游戏-数字华容道(不移动块法)
提出一种新方法用scratch编写游戏-数字华容道。该法仍然采用克隆法,每个克隆体有25个造型。所有克隆体不移动,用改变造型方法实现数字重新排列。原创 2020-06-13 16:53:23 · 5282 阅读 · 1 评论 -
在scratch中用多边形逼近法和弧度概念画指定圆心和半径的圆
有很多文章讨论在scratch中画圆的方法,所看到的文章中有如下方法:多边形逼近法、图章法、克隆法、三角函数法、方程遍历法、圆的标准方程法等。对于多边形逼近法,所看到文章都认为其缺点是很难精准的控制圆的半径和圆心的位置,感觉这种看法有些片面。首先看下面的脚本,使用360个边的多边形逼近圆,每边对应1度圆心角,边长为2,该圆圆心在(0,0),半径为114.6。见下图。所画圆的半径是可以计算出来的。弧度定义:弧长/半径。所以360度角度所对应的弧度为2πr/r=2π,1度角度用弧度表示为2π/360,即近似原创 2020-05-29 16:26:42 · 3466 阅读 · 0 评论 -
用scratch编写游戏-蹦床小姑娘
4399上有个“蹦床火柴人”游戏,我们也用scratch编写了一个。游戏开始小姑娘在蹦床上边上下蹦跳,玩家用左右键使小姑娘旋转,旋转360度增加1分,得分越多,上下速度越快。如果头或手碰到蹦床,游戏结束。游戏运行效果如下。游戏有2个角色:小姑娘和蹦床,是系统自带的。小姑娘有四个造型,蹦床只有一个造型。碰到蹦床小姑娘应向上跳,如用两个角色碰撞检测判断是否上跳,将使小姑娘碰到蹦床边缘就上跳,不太合理。改进方法是在蹦床面上画一个红色的椭圆,检测到小姑娘碰到红色就上跳,就像小姑娘是从蹦床面上跳起。两角色及其造型原创 2020-05-25 16:50:43 · 1996 阅读 · 2 评论 -
游戏数字华容道的改进
在“用scratch编写游戏-数字华容道”(以后简称“前文”)一文中仅介绍了3行3列数字块的设计方法。本文介绍克隆法,该法在设计更多行和列的数字华容道时,使所有数字块都使用相同的脚本,极大减少了工作量。两方法采用的数据结构基本相同。首先给每一个可放置“数字块”的位置一个编号,叫“位置编号”,从第1行开始从左到右顺序编号1、2…,然后第2行,直到最后一行,“位置编号”顺序就是胜利完成游戏后所有数字块上的数字所排列的顺序。建立两个列表:“块可放位置X”和“块可放位置Y”,分别记录所有位置的X和Y坐标,列表的项号原创 2020-05-18 09:37:49 · 901 阅读 · 0 评论 -
在scratch中使用语句“停止这个脚本”增加程序可读性
scratch中的分支语句只有“如果-那么”和“如果-那么-否则”。如程序中要判断条件比较多,往往出现分支语句嵌套,即一个分支语句在另一个分支语句语句中。如果出现多重嵌套,将使程序变得很难读懂。发现使用语句“停止这个脚本”可增加程序可读性。下边图中的脚本块“前进”是一段火柴人移动的脚本。行走可能遇到4情况:走到舞台边缘、走平地、上坡和遇到峭壁。走到舞台边缘和遇到峭壁,停止前进,上坡Y值增加5,平地...原创 2020-05-08 10:52:42 · 4137 阅读 · 0 评论 -
scratch编写游戏:火柴人避开防守投篮
这是一个实验原创 2020-04-30 15:41:36 · 4437 阅读 · 0 评论 -
用scratch编写游戏-数字华容道
由于疫情,只能在家,外孙女要学scratch,先学了南海出版社的“编程真好玩”,然后和外孙女一起用scratch编了一些游戏,想把编写步骤和设计思想写出来,和大家交流。刚编了“数字华容道”,就先说它吧。游戏初始,写有数字的方块(简称:数字块)随机摆放如图1所示。单击和空白块相邻的数字块,图1中是块5、块6、块2和块8,数字块移到空白块处,用此法移动数块,最后成为图2所示,就算赢了。图1图...原创 2020-04-21 00:06:26 · 7869 阅读 · 1 评论