import java.util.Scanner;
import java.io.*;
import javax.swing.JOptionPane;
public class Drawing {
public static void main(String[] args) {
Paint();
}
//从文件里读取数据
public static int[][] getText(int[] HangLie){
int Hang, Lie;
int[][] IntArray=new int[10][10];
try{
Scanner a=new Scanner(new File("input.txt"));
Hang=a.nextInt();
Lie=a.nextInt();
HangLie[0]=Hang;
HangLie[1]=Lie;
for(int i=0;i<Hang;i++)
{
for(int j=0;j<Lie;j++)
{
IntArray[i][j]=a.nextInt();
}
}
}
catch(Exception ex){
JOptionPane.showMessageDialog(null,ex.toString());
}
return IntArray;
}
//输出最基础的一个完整立方体
public static char[][] PaintBase(char[][] CharArray,int Hang,int Lie){
int t=CharArray.length;
char CharArrayCopy[][]={{'.','.','+','-','-','-','+'},
{'.','/',' ',' ',' ','/','|'},
{'+','-','-','-','+',' ','|'},
{'|',' ',' ',' ','|',' ','+'},
{'|',' ',' ',' ','|','/','.'},
{'+','-','-','-','+','.','.'}
};
for(int i=0;i<6;i++)
{
for(int j=0;j<7;j++)
{
CharArray[49-Hang*2-i][Lie*2+j]=CharArrayCopy[5-i][j];
}
}
return CharArray;
}
//向里覆盖立方体
//public void PaintPartOne(char[][] CharArray){
//for(int i=CharArray[1].length-3;i>=0;i-=6){
///
//}
// }
//向右覆盖立方体
//public static void PaintPartTwo(char[][] CharArray){
//int t=3;
//for(int i=0;i<7;i++)
//CharArray[i][t++]=PaintBase(CharArray)[5-i][i];
//}
//向上覆盖立方体
public void PaintPartThree(char[][] CharArray){
}
//画立方体
public static void Paint(){
//int Hang=0;int Lie=0;
int[] HangLie=new int[2];
char[][] CharArray=new char[50][50];
int[][] IntArray=getText(HangLie);
int Hang=HangLie[0],Lie=HangLie[1];
for(int i=0;i<CharArray.length-1;i++)
{
CharArray[i]=PaintBase(CharArray,Hang,Lie)[i];
System.out.println(CharArray[i]);
}
//PaintPartTwo(CharArray);
/*for(int i=0;i<Hang;i++)
{
for(int j=0;j<IntArray[i][j];j++)
{
PaintBase(CharArray);
}
}
for(int i=CharArray.length-1;i>=0;i--)
{
PaintBase(CharArray);
//System.out.println(CharArray[i]);
//for(int j=0;j<Lie;j++)
//{
// }
}*/
}
}
import java.io.*;
import javax.swing.JOptionPane;
public class Drawing {
public static void main(String[] args) {
Paint();
}
//从文件里读取数据
public static int[][] getText(int[] HangLie){
int Hang, Lie;
int[][] IntArray=new int[10][10];
try{
Scanner a=new Scanner(new File("input.txt"));
Hang=a.nextInt();
Lie=a.nextInt();
HangLie[0]=Hang;
HangLie[1]=Lie;
for(int i=0;i<Hang;i++)
{
for(int j=0;j<Lie;j++)
{
IntArray[i][j]=a.nextInt();
}
}
}
catch(Exception ex){
JOptionPane.showMessageDialog(null,ex.toString());
}
return IntArray;
}
//输出最基础的一个完整立方体
public static char[][] PaintBase(char[][] CharArray,int Hang,int Lie){
int t=CharArray.length;
char CharArrayCopy[][]={{'.','.','+','-','-','-','+'},
{'.','/',' ',' ',' ','/','|'},
{'+','-','-','-','+',' ','|'},
{'|',' ',' ',' ','|',' ','+'},
{'|',' ',' ',' ','|','/','.'},
{'+','-','-','-','+','.','.'}
};
for(int i=0;i<6;i++)
{
for(int j=0;j<7;j++)
{
CharArray[49-Hang*2-i][Lie*2+j]=CharArrayCopy[5-i][j];
}
}
return CharArray;
}
//向里覆盖立方体
//public void PaintPartOne(char[][] CharArray){
//for(int i=CharArray[1].length-3;i>=0;i-=6){
///
//}
// }
//向右覆盖立方体
//public static void PaintPartTwo(char[][] CharArray){
//int t=3;
//for(int i=0;i<7;i++)
//CharArray[i][t++]=PaintBase(CharArray)[5-i][i];
//}
//向上覆盖立方体
public void PaintPartThree(char[][] CharArray){
}
//画立方体
public static void Paint(){
//int Hang=0;int Lie=0;
int[] HangLie=new int[2];
char[][] CharArray=new char[50][50];
int[][] IntArray=getText(HangLie);
int Hang=HangLie[0],Lie=HangLie[1];
for(int i=0;i<CharArray.length-1;i++)
{
CharArray[i]=PaintBase(CharArray,Hang,Lie)[i];
System.out.println(CharArray[i]);
}
//PaintPartTwo(CharArray);
/*for(int i=0;i<Hang;i++)
{
for(int j=0;j<IntArray[i][j];j++)
{
PaintBase(CharArray);
}
}
for(int i=CharArray.length-1;i>=0;i--)
{
PaintBase(CharArray);
//System.out.println(CharArray[i]);
//for(int j=0;j<Lie;j++)
//{
// }
}*/
}
}