如何在C++中移动 ASCII 艺术绘图
How to move an ASCII art drawing in C++?
我想让三角形向左和/或向右移动,只有 1 个空格。
cout << setw(10) << "*" << endl;
cout << setw(9) << "*" << setw(2) << "*" << endl;
cout << setw(8) << "*" << setw(4) << "*" << endl;
cout << setw(7) << "*" << setw(6) << "*" << endl;
cout << setw(6) << "*" << setw(8) << "*" << endl;
cout << setw(5) << "*" << setw(10) << "*" << endl;
cout << setw(4) << "*" << setw(12) << "*" << endl;
cout << setw(3) << "*" << setw(14) << "*" << endl;
cout << setw(2) << "*" << setw(16) << "*" << endl;
cout << setfill('*') << setw(19) << "*" << endl;
while(ch = 'a','d'){
cout << "Enter: 'a' move left, 'd' move right" << endl;
cin >> ch;
if(ch == 'a'){
cout.setf(ios::left);
上面的代码显示了三角形的样子。所以基本上我希望用户输入"a"[向左移动]和/或"b"[向右移动]。如何对它进行编程,使其在保持形状的同时移动整个三角形以向左或向右移动 1 个空间?
根据我所看到的,使用 cout.setf(ios::left) 是最容易的,但我还不知道该怎么做。
将cout用于图形总是有点奇怪。它并不是真正为绘图/动画而设计的。
您可以尝试这样的事情(使用某些函数从while循环内部重复打印三角形):
void print_triangle(int n)
{
cout << setw(n + 10) << "*" << endl;
cout << setw(n + 9) << "*" << setw(2) << "*" << endl;
cout << setw(n + 8) << "*" << setw(4) << "*" << endl;
cout << setw(n + 7) << "*" << setw(6) << "*" << endl;
cout << setw(n + 6) << "*" << setw(8) << "*" << endl;
cout << setw(n + 5) << "*" << setw(10) << "*" << endl;
cout << setw(n + 4) << "*" << setw(12) << "*" << endl;
cout << setw(n + 3) << "*" << setw(14) << "*" << endl;
cout << setw(n + 2) << "*" << setw(16) << "*" << endl;
cout << setfill('*') << setw(19) << "*" << endl;
}
void clear_screen()
{
cout << string( 100, 'n' );
}
像 :
int n = 0;
while(ch == 'a' || ch == 'd'){
clear_screen();
print_triangle(n);
cout << "Enter: 'a' move left, 'd' move right" << endl;
cin >> ch;
if(ch == 'a'){
n++;
} else if(ch == 'd'){
n--;
}
}
相关文章:
- C++,在int数组中输入字符串或字符会输出0,而不是ascii或error
- 为什么我的C++程序的程序集输出充满了 .ascii,没有汇编代码?
- 有没有办法通过使用十进制 ASCII 代码自动类型扣除来获取字符?
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- ascii 和 unicode 在处理级别有什么区别吗?
- 在C++中使用 ASCII 代码将输入从小写转换为大写
- 弄清楚如何在C++中将整数读入 ASCII
- 如何修复艺术ASCII,我点击一个字母就可以了,但输入一个阶段艺术出来了
- 使用指针将 ASCII 值添加到整数
- 用于 ASCII 的环绕式 C++
- RE2 不匹配非 ASCII 字符
- 打印从 0 到 255 的所有 ASCII 字符
- C++ 电话号码字母拨号程序 - 语法错别字?还是非 ASCII 字符?
- 无符号字符打印其 ASCII 值
- Windows 非 ASCII 文件路径
- 如何在C++中创建 ASCII 艺术条形图
- 如何在C++中移动 ASCII 艺术绘图
- ASCII 艺术 - 按亮度级别对 ASCII 字符数组进行排序 (C/C++)
- ASCII 艺术 - C/C++ 中的固定边框
- ASCII艺术,代码块C++问题