Code Sketch


alex
By: Mhalsakant School
Category: Art
//> using platform jvm
//> using jvm 17

import javax.swing._
import javax.swing.event._
import java.awt._
import java.awt.event._

object HorrorStoryPart3App {

  def main(args: Array[String]): Unit = {

    SwingUtilities.invokeLater(new Runnable {
      def run(): Unit = {

        // STORY DATA (HORROR STORY PART 3 - EPISODES 1 TO 20 in Hindi & English)
        val storyData: Map[String, String] = Map(
          "Chapter 1: The New Shadow at the Window" ->
            """==================================================
              |HORROR STORY PART 3: THE HAUNTED HOSTEL - FINAL CHAPTER
              |Written & Adapted by Bixuu (Hindi & English Mix)
              |==================================================
              |
              |MAIN CHARACTERS:
              | - Alok (The Fearless Leader)
              | - Bhavesh (The Hungry & Scared Friend)
              | - Yadnesh (The Smart & Analytical Thinker)
              |
              |CHAPTER 1 STORY & DIALOGUES:
              |Raat ke 3 baj rahe the. Alok ne jaise hi window ka parda hataya, wahan khidki ke baahar ek kaali parchhai khadi thi jo bina palak jhapkaye use dekh rahi thi aur uske chehre par ek ajeeb si shaitani muskan thi.
              |
              |Alok (Hichkichate hue): "Wo... wo Maya nahi thi! Yeh koi aur hai!"
              |===================================================""".stripMargin,

          "Chapter 2: The Mysterious Whispers in the Hall" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 2 STORY & DIALOGUES:
              |Subah hone par teeno ne apas mein us parchhai ke baare mein baat ki. Yadnesh ko ehsas hua ki Maya ke jaane ke baad block 404 mein ek aur shakti jaag chuki hai jo pehle se kai guna zyada taakatwar hai.
              |
              |Yadnesh: "Lagta hai Room 404 ke andar koi aur bhi tha jise Maya ka aana bura laga."
              |Bhavesh: "Main kehta hoon hum yeh hostel hi chhod dein!"
              |===================================================""".stripMargin,

          "Chapter 3: The Sealed Room Opens Again" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 3 STORY & DIALOGUES:
              |Achanak raat ko guard ki chilane ki aawaz aati hai. Jab teeno bhaag kar corridor mein jate hain, toh dekhte hain ki jis Room 404 ko seal kiya gaya tha, uska tala tuta hua hai aur andar se laal roshni nikal rahi hai.
              |
              |Alok: "Tala kisne toda? Chalo andar chal kar dekhte hain!"
              |===================================================""".stripMargin,

          "Chapter 4: Entering the Forbidden Room" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 4 STORY & DIALOGUES:
              |Teeno dare-sahme ek baar firse Room 404 ke andar kadam rakhte hain. Room ke andar ki diwarein khoon se rangi thi aur beech mein ek purana aaina rakha tha jis par kaale rang se kuch likha tha.
              |
              |Yadnesh (Torch ki roshni dalte hue): "Yeh aaina pehle yahan nahi tha..."
              |===================================================""".stripMargin,

          "Chapter 5: The Reflection That Moves Alone" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 5 STORY & DIALOGUES:
              |Yadnesh aur Alok jab aaine ke samne khade hote hain, toh aaine mein unki parchhaiyan unke sath move nahi karti, balki wo aaine se bahar nikalne ki koshish kar rahi hoti hain.
              |
              |Bhavesh (Cheekhte hue): "Aaine mein dekho! Unki aankhein laal ho gayi hain!"
              |Alok: "Jaldi se piche hato!"
              |===================================================""".stripMargin,

          "Chapter 6: The Trap Closes In" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 6 STORY & DIALOGUES:
              |Room ka darwaza achanak apne aap band ho jata hai aur ek bhari aawaz poore kamre mein goonjti hai?Tumne mere raaste ka kaanta hataya hai, ab tumhe saza milegi!
              |
              |Yadnesh: "Yeh Maya ki aawaz nahi hai... yeh koi bohot purani aur khatarnak shakti hai!"
              |===================================================""".stripMargin,

          "Chapter 7: Bhavesh Gets Possessed" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 7 STORY & DIALOGUES:
              |Achanak ek thandi hawa ka jhonka aata hai aur Bhavesh hawa mein thoda upar uth jata hai. Uska sharir kaanpne lagta hai aur wo ek alag hi bhari aawaz mein hasne lagta hai.
              |
              |Bhavesh: "Ab yeh sharir mera hai... tum dono ko main hi khatam karunga!"
              |Alok: "Bhavesh! Khud ko samhalo dost!"
              |===================================================""".stripMargin,

          "Chapter 8: Yadnesh's Desperate Plan" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 8 STORY & DIALOGUES:
              |Yadnesh jaldi se apne bag se ek purana holy mantra nikalta hai jo usne library ke archives se nikali thi. Wo zorse shlok padhne lagta hai.
              |
              |Yadnesh: "Alok! Isko pakad kar rakho jab tak main mantra padh raha hoon!"
              |Alok: "Main puri taakat laga raha hoon!"
              |===================================================""".stripMargin,

          "Chapter 9: The Battle of Energies" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 9 STORY & DIALOGUES:
              |Jaise-jaise Yadnesh mantra padhta hai, room ke andar ki shakti aur Bhavesh ke upar ka saaya dard se chillane lagte hain. Kamre ki cheezein hawa mein ghoomne lagti hain.
              |
              |Bhavesh: "Yeh mantra tumhe nahi bacha sakte! Main sabko jala dunga!"
              |===================================================""".stripMargin,

          "Chapter 10: Revealing the Master Spirit" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 10 STORY & DIALOGUES:
              |Mantra ke prabhav se Bhavesh zameen par gir padta hai aur behosh ho jata hai. Uske sharir se wo kaali parchhai nikal kar hawa mein ek bhayankar daanav ke roop mein khadi ho jati hai.
              |
              |Demon: "Main is hostel ka pehla malik hoon! Tumne meri neend kharab ki hai!"
              |===================================================""".stripMargin,

          "Chapter 11: The Ultimate Weakness" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 11 STORY & DIALOGUES:
              |Yadnesh ko kitab mein padha hua yaad aata hai ki is daanav ki taakat hostel ke purane foundation stone se judi hai jo ishi room ke farsh ke niche hai.
              |
              |Yadnesh: "Alok! Farsh todo! Uske niche wo patthar hai!"
              |Alok: "Theek hai, main dekhta hoon!"
              |===================================================""".stripMargin,

          "Chapter 12: Breaking the Floor" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 12 STORY & DIALOGUES:
              |Alok wahan rakhe lohe ke ek bhari rod se farsh par var karta hai. Do-teen baar marne ke baad farsh toot jata hai aur uske niche ek chamakne wala kaala patthar dikhai deta hai.
              |
              |Demon: "Use mat chhona! Piche hato!"
              |===================================================""".stripMargin,

          "Chapter 13: Destroying the Dark Source" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 13 STORY & DIALOGUES:
              |Bina dare Alok us kaale patthar par apna poora zor lagakar rod de Marta hai. Patthar ke toot te hi poore room mein ek tej dhamaka hota hai aur ajeeb si roshni fail jati hai.
              |
              |Alok: "Yeh lo! Khatam ho gaya tera antt!"
              |===================================================""".stripMargin,

          "Chapter 14: The Final Shriek" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 14 STORY & DIALOGUES:
              |Daanav dard se ek aakhri bhayankar cheekh marta hai jo poore campus mein sunai deti hai. Uska sharir dheere-dheere dhuein ki tarah hawa mein gayab hone lagta hai.
              |
              |Demon: "Main... main haar gaya... par yeh hostel kabhi shant nahi rahega..."
              |===================================================""".stripMargin,

          "Chapter 15: Bhavesh Regains Consciousness" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 15 STORY & DIALOGUES:
              |Daanav ke gayab hote hi Bhavesh dheere se apni aankhein kholta hai. Use kuch yaad nahi hota ki kya hua tha. Wo haafte hue uthkar baith jata hai.
              |
              |Bhavesh: "Mujhe... mujhe kya hua tha? Main kahan hoon?"
              |Alok: "Bach gaye yaar, sab theek ho gaya!"
              |===================================================""".stripMargin,

          "Chapter 16: Dawn of Peace" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 16 STORY & DIALOGUES:
              |Subah ki pehli sunehri kiran Room 404 ki tooti hui khidki se andar aati hai. Aaj pehli baar wo room bilkul normal aur shant lag raha tha. Wahan se saari darawani smell gayab ho chuki thi.
              |
              |Yadnesh: "Dekho dosto, ab yeh jagah puri tarah azaad ho chuki hai."
              |===================================================""".stripMargin,

          "Chapter 17: Permanent Closure of Room 404" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 17 STORY & DIALOGUES:
              |College management ne is ghatna ke baad us purane block ko hamesha ke liye tod kar wahan ek naya playground banane ka faisla kiya. Sabhi students ne chain ki saans li.
              |
              |Alok: "Humaari himmat ne aaj sach mein jeet hasil kar li."
              |===================================================""".stripMargin,

          "Chapter 18: The Unbreakable Friendship" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 18 STORY & DIALOGUES:
              |Is khatarnak safar ke baad Alok, Bhavesh aur Yadnesh ki dosti misaal ban chuki thi. Wo jante the ki unhone darr ka samna karke ek dusri zindagi jeeti hai.
              |
              |Bhavesh: "Chalo ab khane mein kuch acha order karte hain, bhookh lag rahi hai!"
              |===================================================""".stripMargin,

          "Chapter 19: Leaving the Hostel with Memories" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 19 STORY & DIALOGUES:
              |College ke aakhri saal mein teeno apne graduation ke baad hostel se vida lete hain. Wo jate hue ek baar us nayi jagah ki taraf dekhte hain jahan kabhi wo darawana Room 404 hua karta tha.
              |
              |Yadnesh: "Goodbye Haunted Hostel... hum tumhe kabhi nahi bhulenge."
              |===================================================""".stripMargin,

          "Chapter 20: Part 3 Grand Finale & Complete Ending" ->
            """==================================================
              |WRITTEN BY BIXUU
              |==================================================
              |CHAPTER 20 STORY & DIALOGUES (TRILOGY FINALE):
              |College gate par khade hokar teeno aakhri baar muskurate hain. Andhera ja chuka tha aur ek naya savera unka intezaar kar raha tha. Darr ki wo kahani ab hamesha ke liye khatam ho chuki thi!
              |
              |THE END - HORROR STORY TRILOGY WRITTEN & ADAPTED BY BIXUU.
              |==================================================
              |
              |ANNOUNCEMENT:
              |ALOK, BHAVESH AND YADNESH SUCCESSFULLY DEFEATED ALL EVIL FORCES! 
              |THANK YOU FOR READING THE HAUNTED HOSTEL TRILOGY!
              |===================================================""".stripMargin
        )

        // 3. GUI WINDOW CREATION
        val frame = new JFrame("Horror Viewer: THE HAUNTED HOSTEL PART 3 (FINALE) - By Bixuu")
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)
        frame.setSize(950, 650)
        frame.setLocationRelativeTo(null)

        // Header Theme Color (Dark Purple & Mystic Theme)
        val headerLabel = new JLabel("  HORROR STORY PART 3: THE FINAL CHAPTER (Alok, Bhavesh & Yadnesh)  ", SwingConstants.CENTER)
        headerLabel.setFont(new Font("Arial", Font.BOLD, 14))
        headerLabel.setOpaque(true)
        headerLabel.setBackground(new Color(30, 10, 40))
        headerLabel.setForeground(Color.WHITE)
        headerLabel.setPreferredSize(new Dimension(950, 40))

        // Chapter List
        val chapterKeys = (1 to 20).map(i => storyData.keys.find(_.startsWith(s"Chapter $i:")).getOrElse(s"Chapter $i")).toArray
        val listModel = new DefaultListModel[String]()
        chapterKeys.foreach(listModel.addElement)

        val chapterList = new JList[String](listModel)
        chapterList.setFont(new Font("Arial", Font.PLAIN, 12))
        chapterList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION)
        chapterList.setSelectedIndex(0)

        val listScrollPane = new JScrollPane(chapterList)
        listScrollPane.setPreferredSize(new Dimension(320, 500))

        // Story Text Area (Dark Horror Theme)
        val storyArea = new JTextArea()
        storyArea.setFont(new Font("Monospaced", Font.PLAIN, 13))
        storyArea.setEditable(false)
        storyArea.setLineWrap(true)
        storyArea.setWrapStyleWord(true)
        storyArea.setBackground(new Color(15, 10, 20))
        storyArea.setForeground(new Color(240, 220, 255))
        storyArea.setText(storyData(chapterKeys(0)))
        storyArea.setCaretPosition(0)

        val textScrollPane = new JScrollPane(storyArea)

        // Selection Listener
        chapterList.addListSelectionListener(new ListSelectionListener {
          def valueChanged(e: ListSelectionEvent): Unit = {
            if (!e.getValueIsAdjusting) {
              val selectedKey = chapterList.getSelectedValue
              if (selectedKey != null && storyData.contains(selectedKey)) {
                storyArea.setText(storyData(selectedKey))
                storyArea.setCaretPosition(0)
              }
            }
          }
        })

        // Layout Assembly
        val mainPanel = new JPanel(new BorderLayout())
        mainPanel.add(headerLabel, BorderLayout.NORTH)
        mainPanel.add(listScrollPane, BorderLayout.WEST)
        mainPanel.add(textScrollPane, BorderLayout.CENTER)

        frame.add(mainPanel)
        frame.setVisible(true)
      }
    })
  }
}

HorrorStoryPart3App.main(Array())