关于代码,有一个建议:
目前形状是这么表示的:
0,0,1,1,/* ━ */
0,1,0,1,/* ┏ */
0,1,1,0,/* ┓ */
0,1,1,1,/* ┳ */
1,0,0,1,/* ┗ */
1,0,1,0,/* ┛ */
1,0,1,1,/* ┻ */
1,1,0,0,/* ┃ */
1,1,0,1,/* ┣ */
1,1,1,0,/* ┫ */
1,1,1,1,/* ╋ */
一个建议:可以用一个 byte 表示形状的连通性。例如,可以这样获取一个随机的形状:
char shape;
do
{
shape = rand() % 13 + 3;
}while((shape == 4) || (shape == 8));
然后,可以用位操作判断 shape 的各向连通性。例如,
如果 shape & 8 == true,就表示向上是连通的。
shape & 1 == true 就表示右连通。
下和左类似。
收起回复(4) 6楼2013-09-02 21:21删除 |
i92076: 好想法,程序初期为了直观,写好之后完全可以用位操作优化
删除 | 2013-9-2 21:43 回复
i92076: 采用位操作后顺、逆时针的映射变换也不需要搞一个映射表了,把原来‘上下左右’的规定改为‘上左下右’,然后用左、右循环移位就能模拟旋转问题了,真是高啊
删除 | 2013-9-2 22:10 回复
i92076: 回复 i92076 :再把贴图的排列顺序调整一下重新做一张,然后用for循环批量加载各个分块……程序精简n多行……要不是我懒我真就改了
c语言种地要浇水游戏源码.rar
需积分: 4 31 浏览量
2024-04-30
09:54:06
上传
评论
收藏 156KB RAR 举报
计算机学长2024
- 粉丝: 29
- 资源: 307
最新资源
- tudou-android-release (2).apk
- 三维重建-基于NeRF实现的稳定+实时3D说话人脸生成-附项目源码-优质项目实战.zip
- oracle-10g-32bit.zip
- com.aesq.zb_v1.0.35_danji100.com.apk
- 760996331259605建立门派1.360.apk
- 下面提供一些C语言的入门示例代码,并附有注释,以帮助理解每个部分的功能 1. Hello World程序 #include
- 下面提供一些C语言的入门示例代码,并附有注释,以帮助理解每个部分的功能 1. Hello World程序 #include
- 下面提供一些C语言的入门示例代码,并附有注释,以帮助理解每个部分的功能 1. Hello World程序 #include
- C语言是一种广泛使用的计算机编程语言,它是许多其他编程语言的基础 以下是一些C语言入门的例子和代码,适合初学者学习和实践
- C语言是一种广泛使用的计算机编程语言,它是许多其他编程语言的基础 以下是一些C语言入门的例子和代码,适合初学者学习和实践
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈