线上发售渠道一:京东 (上方扫码抢购)。
线谨困上发售渠道二:NB小程序。
线下发售渠道: 北京DEAL/成都DEAL/天津COLOUR。
简介:
Bearbrick就是众人熟知的积木熊,由日本MEDICOM公司出产的一款玩具,2001年8月正式推出,到2009年,第18代已经推出!大陆由PPW公司代理。昵称:Bearbrick,be@rbrick,BB,积木熊,布里克小熊,百变布里克。
原则上暴力熊并不是指Bearbrick,而是血粉熊,英文名字叫做Gloomy,出自于大阪插画家Mori Chack之手。
至于为什么国内会有关于各种熊概念的混淆,甚至把类似的几种熊的形象统称为暴力熊,应该是由于在这些形象和玩具最初进入中国时,并不是通过官方渠道和正规代理商进入,属于民间流传。而各个熊也因此没有正规的中文名。
各界群歼晌渣众为了更好地称呼熊们,便急迫地需要一个上口的中文名字,于是暴力熊的名字统称了各个种类的潮流熊形象,造成以后也无法再进行明确地区分,最终暴力熊的名字流传开来,很多人把Bearbrick错称为暴力熊。
建议以后喜欢Bearbrick的朋友们不要管氏悄Bearbrick叫暴力熊了,如果想叫中文名,“积木熊“、”布里克熊”都是不错的。另外,圈中人士也称其为“B熊”。更何况,暴力熊基本成了盗版的代名词。
使用乱裂 page 标签选择器,可以修改顶层哗升闭节点的样式 page { display: blockmin-height: 100%background-color: red}使用 page 标签选择器笑尘,可以修改顶层节点的样式page { display: blockmin-height: 100%background-color: red}问题一:其实主要是else语句弄巧成拙了。如果你希望point.X小于等于2的时候方块就不能往左移动了,那对应的当它小于2时,你不做汪备任何处理,他困陵顷不就停在那里不动了吗?
问题二:
最后要记得用CloseHandle关闭句柄
问题三:
两个函数的最后一个参数用NULL会出错,应该这样用:
DWORD written
FillConsoleOutputAttribute(hand,colour,len,point,&written)
WriteConsoleOutputCharacter(hand,string,len,point,&written)
这种用法参考自:
http://hi.baidu.com/console_app/blog/item/30488bec119a5a4779f055df.html
其实我也看到网上有个教程里就这样用,但是在codeblocks下运行程序会出错,改过来就可以运行了
此外我加了一个输出方块当前位置的语句,你可以看出,由于■在dos窗口上占两个字节的宽汪陆度,因此即使你按一下方向键,对应坐标也会变化2个单位。
简单改了一下。我建议还是用函数实现好一点,因为这个程序中类似的代码段重复出现,使程序变得很长。
代码:
#include<iostream>
#include<iomanip>
#include<windows.h>
using namespace std
int main()
{
int x=4
int y=4
HANDLE hand
hand=GetStdHandle(STD_OUTPUT_HANDLE)
int colour=200
int len=2
COORD point
point.X=x
point.Y=y
char *string="■"
SMALL_RECT rt = {0,0,35,35}// 窗口尺寸
SetConsoleWindowInfo(hand,true,&rt)// 由于DOS默认只有25行,为了便于观察,把dos窗口行数调为35,这个也可以用system函数实现
DWORD written
FillConsoleOutputAttribute(hand,colour,len,point,&written)
WriteConsoleOutputCharacter(hand,string,len,point,&written)
INPUT_RECORD keyRec
DWORD res
HANDLE hnd
hnd=GetStdHandle(STD_INPUT_HANDLE)
for()
{
cout<<setfill('0')<<"("<<setw(2)<<point.X<<","<<setw(2)<<point.Y<<")"
ReadConsoleInput(hnd,&keyRec,1,&res)
if(keyRec.EventType==KEY_EVENT)
{
if(keyRec.Event.KeyEvent.wVirtualKeyCode==65)
{
if(point.X>2) // 这里不用那么麻烦,因为按a时只会使X减小,下同
{
FillConsoleOutputAttribute(hand,1,len,point,&written)
WriteConsoleOutputCharacter(hand," ",len,point,&written)
point.X-=1
FillConsoleOutputAttribute(hand,colour,len,point,&written)
WriteConsoleOutputCharacter(hand,string,len,point,&written)
}
}
if(keyRec.Event.KeyEvent.wVirtualKeyCode==68)
{
if(point.X<30)
{
FillConsoleOutputAttribute(hand,1,len,point,&written)
WriteConsoleOutputCharacter(hand," ",len,point,&written)
point.X+=1
FillConsoleOutputAttribute(hand,colour,len,point,&written)
WriteConsoleOutputCharacter(hand,string,len,point,&written)
}
}
if(keyRec.Event.KeyEvent.wVirtualKeyCode==87)
{
if(point.Y>2)
{
FillConsoleOutputAttribute(hand,1,len,point,&written)
WriteConsoleOutputCharacter(hand," ",len,point,&written)
point.Y-=1
FillConsoleOutputAttribute(hand,colour,len,point,&written)
WriteConsoleOutputCharacter(hand,string,len,point,&written)
}
}
if(keyRec.Event.KeyEvent.wVirtualKeyCode==83)
{
if(point.Y<30)
{
FillConsoleOutputAttribute(hand,1,len,point,&written)
WriteConsoleOutputCharacter(hand," ",len,point,&written)
point.Y+=1
FillConsoleOutputAttribute(hand,colour,len,point,&written)
WriteConsoleOutputCharacter(hand,string,len,point,&written)
}
}
}
cout<<"\b\b\b\b\b\b\b"
}
// 最后记得关闭
CloseHandle(hand)
CloseHandle(hnd)
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)