package org.example; import java.awt.*; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.StringSelection; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class Main { private static void menuMain() { System.out.println("Bienvenido a AsciiArtAttack :)"); System.out.println("¿Qué deseas hacer hoy? "); System.out.println("1.- Pintar figuras predeterminadas del sistema"); System.out.println("2.- Pintar figuras predeterminadas por archivos TXT"); System.out.println("3.- Realizar un Ascii Art manualmente y guardarlo"); System.out.println("4.- Salir del Sistema"); } public static void main(String[] args) { Scanner entrada = new Scanner(System.in); Scanner entrada2 = new Scanner(System.in); Scanner entrada3 = new Scanner(System.in); int opcion, opcion2, opcion3; do { System.out.println("Bienvenido a AsciiArtAttack :)"); System.out.println("¿Qué deseas hacer hoy? "); System.out.println("1.- Pintar figuras predeterminadas del sistema"); System.out.println("2.- Pintar figuras predeterminadas por archivos TXT"); System.out.println("3.- Realizar un Ascii Art manualmente y guardarlo"); System.out.println("4.- Salir del Sistema"); opcion = entrada.nextInt(); switch (opcion) { case 1: do { System.out.println("1.- Computadora normal"); System.out.println("2.- Enamorado"); System.out.println("3.- Salir"); opcion2 = entrada2.nextInt(); switch (opcion2) { case 1: { char[][] lienzo = new char[15][65]; Computadora computadora = new Computadora(15, 65, lienzo); computadora.prepararMatriz(lienzo, 15, 65); computadora.pintarComputadora1(lienzo); computadora.paint(15, 65, lienzo); break; } case 2: { char[][] lienzo2 = new char[15][65]; Computadora computadora2 = new Computadora(15, 65, lienzo2); computadora2.prepararMatriz(lienzo2, 15, 65); computadora2.pintarComputadora2(lienzo2); computadora2.paint(15, 65, lienzo2); break; } case 3: menuMain(); opcion = entrada.nextInt(); break; default: System.out.println("Digita una opcion correcta por favor"); } } while (opcion2 != 3); case 2: try { // Ruta del directorio que quieres listar System.out.println("Escribe el nombre del archivo Ascii Art que quieres imprimir:"); String rutaDirectorio = "C:\\Users\\edgar\\OneDrive\\Escritorio\\6yo\\Desarrollo\\AscciArt"; // Crear un objeto File con la ruta del directorio File directorio = new File(rutaDirectorio); if (directorio.isDirectory()) { // Obtener la lista de archivos en el directorio File[] archivos = directorio.listFiles(); // Imprimir el nombre de cada archivo en la lista System.out.println("Archivos .txt en " + rutaDirectorio + ":"); for (File archivo : archivos) { if (archivo.isFile() && archivo.getName().endsWith(".txt")) { System.out.println(archivo.getName()); } } } else { System.out.println("La ruta especificada no corresponde a un directorio válido."); } Scanner tecladoTxt = new Scanner(System.in); String nombreTxt = tecladoTxt.next(); File file = new File(rutaDirectorio, nombreTxt); if (!file.exists()) { System.out.println("El archivo especificado no existe."); break; } Scanner reader = new Scanner(file); while (reader.hasNextLine()) { String line = reader.nextLine(); System.out.println(line); Thread.sleep(500); } } catch (IOException e) { System.out.println("Error de lectura/escritura: " + e.getMessage()); } catch (InterruptedException e) { System.out.println("Interrupción de la ejecución: " + e.getMessage()); } break; case 3: String line; StringBuilder asciiArt = new StringBuilder(); Scanner scanner = new Scanner(System.in); System.out.println("Bienvenido al creador de arte ASCII Art manual"); System.out.println("Realiza tu Ascii Art línea por línea. Presiona Enter después de cada línea. Escribe 'fin' para terminar."); while (true) { line = scanner.nextLine(); if (line.equals("fin")) { break; } asciiArt.append(line).append("\n"); } do { System.out.println("Decide la opcion que deseas elegir "); System.out.println("1.- Guardar"); System.out.println("2.- Visualizar"); System.out.println("3.- Copiar en el portapapeles"); System.out.println("4.- Salir de esta opcion"); opcion3 = entrada3.nextInt(); switch (opcion3) { case 1: System.out.println("Nombre para tu Ascii Art:"); Scanner teclado = new Scanner(System.in); String nombre = teclado.next(); try { FileWriter archivo = new FileWriter(nombre); archivo.write(String.valueOf(asciiArt)); System.out.println("Ilustración guardada en " + nombre + ".txt"); archivo.close(); } catch (IOException e) { System.err.println("Error al guardar la ilustración: " + e.getMessage()); } break; case 2: System.out.println(asciiArt); break; case 3: StringSelection seleccion = new StringSelection(String.valueOf(asciiArt)); Clipboard portapapeles = Toolkit.getDefaultToolkit().getSystemClipboard(); portapapeles.setContents(seleccion, null); System.out.println("Texto copiado al portapapeles: "); break; case 4: menuMain(); opcion = entrada.nextInt(); break; default: } } while (opcion3 != 4); case 4: System.out.println("Saliendo..."); System.out.println("Que tengas un buen dia :)"); default: System.out.println("Digita una opción correcta por favor..."); break; } } while (opcion != 4); } }