简介
基于我上次写的头文件制作了一个可以在控制台上绘制移动的3D立方体的程序。
图片
(截屏看起来会有显示BUG,然而实际上看起来并没有)
注意事项
要在头文件中引用头文件,我这里用的是 Drawer.h 如果你保存为了其他名字要改成那个名字。
原理
将3D的坐标点映射到2d平面上然后连线。
代码
#include "Drawer.h"
using namespace std;
const int n = 100;
cube c;
void draw()
{
c.draw(blue, clean);
}
void game()
{
while(1)
{
for(int i=-20; i<=-5; ++i)
{
c.pos.x = i;
fill(black);
draw();
update();
Sleep(10);
}
for(int i=5; i<=15; ++i)
{
c.pos.z = i;
fill(black);
draw();
update();
Sleep(50);
}
for(int i=-5; i>=-20; --i)
{
c.pos.x = i;
fill(black);
draw();
update();
Sleep(10);
}
for(int i=15; i>=5; --i)
{
c.pos.z = i;
fill(black);
draw();
update();
Sleep(50);
}
}
}
int main()
{
//更改图形渲染到屏幕上的偏移量
ChangePy(50, 50);
// n x n screen and fontsize is 6
init(n, 6);
system("mode con cols=202 lines=102");
// init(xpos, ypos, zpos, xlen, ylen, zlen)
c.init(-10, 30, 5, 30, 30, 30);
game();
return 0;
}