‘壹’ 咋用俄罗斯方块拼正方形
最下面一根条子平着放中间一个正方两边一边一个7
‘贰’ 用c语言编写俄罗斯方块程序 求详解
1、用C语言绘制图形界面
EasyX图形库(http://www.easyx.cn)即TC的图形库在VC下的移植。
包含库#include <graphics.h>
先初始化图形窗口
initgraph(WINDOW_WIDTH, WINDOW_HIGH) ;WINDOW_WIDTH为窗口的宽带,WINDOW_HIGH为窗口的高度。
清空绘图设备
cleardevice();
设置画笔颜色
setcolor(RED) ;
设置线条风格
setlinestyle(PS_SOLID, NULL, 0);
画矩形
rectangle
还有画线、显示文字等函数,可以参照其帮助文档。
注意:由于我们用的是EasyX图形库,故源文件后缀要为.cpp,但其中内容都是C的语法。
2、存储表示出俄罗斯方块的形状
一、我们可以用编号,不同的编号代表不同的俄罗斯方块,根据编号把不同方块的画法写在代码中,这样19种
方块就得有19种相应的代码来描绘。而且这样扩展性不好,若以后设计了新的方块,则需要更改大量源代码。
二、我们很自然的想到可用字模点阵的形式来表示,即设置一个4行4列的数组,元素置1即代表这个位置有小
方块,元素置0即代表这个位置无小方块,这个整个的4*4的数组组成俄罗斯方块的形状。
1000
1000
1100
0000
我们把俄罗斯方块点阵的数位存在rockArray中,我们可以事先把这19种方块的字模点阵自己转化成十六进制,然后在rockArray数组的初始化时赋值进去。
但这样做未免有点太费力,且扩展性也不太好,若以后设计的新方块种类加入,要改变数组rockArray中的值。
我们可以考虑把所有俄罗斯方块的点阵存储在配置文件中,在程序初始化时读取文件,把这些点阵转换成unsigned int的变量存储在rockArray中。
这样,以后我们增添新的方块形状只需要在配置文件中增加新的点阵即可。
@###
@###
@@##
####(为使得看起来更醒目,我们用@表示1,用#表示0)
3、让图形动起来
在某位置处用函数DrawRock在屏幕上画出俄罗斯方块,然后再擦除掉(即用背景色在原位置处重绘一次方块),最后在下落的下一个位置处用函数DrawRock在屏幕上画出俄罗斯方块,如此循环,中间用计时器间隔一段时间以控制下落的速度。
同理,按下屏幕的左右键也是如此,只是在按下键盘时把方块的位置重新计算了。
那么按下上方向键时,如何让方块翻转呢?
我们在配置文件中就把方块的顺时针翻转形态放在了一起:
@###
@###
@@##
####
@@@#
@###
####
####
@@##
#@##
#@##
####
##@#
@@@#
####
####
我们每按一次上方向键改变一次方块的形状即可。若一直按上键,形状应该是循环地翻滚。
我们想到了循环链表的数据结构可实现这个效果。
可是我们若把这些一种类的方块的各种形态串成循环链表形式,那么每次重新生成方块时我们就难以随机地生成方块了。
故还是得用数组来存储,但又要有循环链表的功能,于是我们想到了静态循环链表。
我们用结构体来作为一个方块在rockArray中的元素
typedef struct ROCK
{ //用来表示方块的形状(每一个字节是8位,用每4位表示方块中的一行)
unsigned int rockShapeBits ;
int nextRockIndex ; //下一个方块,在数组中的下标
} RockType ;
这样,当我们按下上方向键时,把传入函数DrawRock中的rockIndex变为当前方块结构体中的nextRockIndex即可。
‘叁’ 谁能给点用c#做俄罗斯方块的建议:
http://www.enet.com.cn/eschool/video/c/ C#的视频教学,最后有俄罗斯方块的实例,自己慢慢看
‘肆’ 如何用五种俄罗斯方块拼出一个5x4的长方形(每个只能用一次)
答案是不可能,先假设能放。由1*4的方块的放置入手,结合考虑到对称性,一共有 5 中可能
经过考虑,排除掉其中3中(由正方形的放置入手来排除)
只剩下2钟
1钟, 1*4的方块 在长方形的宽。
这种情况,结合对称性,正方形的放置有2钟可能。分析都不可能。
2钟,1*4的方块在长方形的高。
这种情况复杂一点,有8钟,结合正方形的判断,都不可能。
具体的我没有上图,如果这个对你很重要,我可以画出来
‘伍’ 用6个俄罗斯方块(1个可以重复)怎样组成长7格宽4格的长方形
没有答案 俄罗斯方块都是4个小方块组成6个一共是24个小方块 问题是7*4=28块 24怎么=28
‘陆’ 用6个俄罗斯方块(1个可以重复)怎样组成长7格宽4格的长方形
没有图,怎么操控。你可以试着变换一下位置!祝您成功!节日快乐!
‘柒’ 单独用四种模式到俄罗斯方块中的一种,拼出4*4的正方形,怎么拼呀
你要问什么啊?
四个“田”可以。每行两个田。
四个“长条”可以。每行一个条。
四个“L”可以。每两行两个L。
四个“凸”也可以。凸的尖都往中间,4个尖在中间构成一个“田”,整个是4*4的正方形。
‘捌’ 咋用俄罗斯方块拼正方形
最下面一根条子平着放
中间一个正方
两边一边一个7
‘玖’ 俄罗斯方块用二维数组构建 求教!!!
‘拾’ 在我的世界怎么用命令方块自动建房子
1.7以上可以用/setblock命令放置方块,但是只能放一个。
命令方块获取方式:
命令方块可以通过选取方块键或各种命令获取。
获取命令方块指令:/give [玩家] minecraft:command_block 1 0
基岩版获取指令:/give @s command_block 64
在1.8之前,物品id可用数字id,命令方块id为137。
命令方块不在创造模式物品栏中,不能在生存模式中或非管理员身份破坏,有和基岩一样的爆炸抗性。命令方块不能被活塞推动。