//> using platform jvm
//> using jvm 17
import javax.swing._
import javax.swing.event._
import java.awt._
import java.awt.event._
object PenitentiaryPart2App {
def main(args: Array[String]): Unit = {
SwingUtilities.invokeLater(new Runnable {
def run(): Unit = {
// 1. SECURITY VERIFICATION
val correctPassword = "Bixuu02_anime"
val userInput = JOptionPane.showInputDialog(
null,
"? SECURITY VERIFICATION (PENITENTIARY PART 2)\n\nPlease enter Password to access Penitentiary Part 2 Story:",
"Boxing Ring Access",
JOptionPane.QUESTION_MESSAGE
)
if (userInput == null || userInput != correctPassword) {
JOptionPane.showMessageDialog(
null,
"? Access Denied! Incorrect Password.",
"Error",
JOptionPane.ERROR_MESSAGE
)
sys.exit(0)
}
// 2. STORY DATA (PENITENTIARY PART 2 - EPISODES 1 TO 20)
val storyData: Map[String, String] = Map(
"Chapter 1: The Taste of Freedom" ->
"""==================================================
|MOVIE STORY: PENITENTIARY II (PART 2 - 1982)
|Directed by Jamaa Fanaka | Adapted by Bixuu
|==================================================
|
|MAIN CHARACTERS:
| - Martel "Too Sweet" Gordone (The Ex-Con / Boxer)
| - Clarisse (Too Sweet's Girlfriend)
| - Half Dead (The Escaped Prison Enemy - Played by Ernie Hudson)
| - Henderson / Gym Trainer (Featuring Mr. T)
|
|CHAPTER 1 STORY & DIALOGUES:
|Too Sweet jail se parole par riha hone ke baad apni zindagi ko naye sire se shuru karne ki koshish karta hai. Wo ab boxing ki dunya se door rehna chahta hai.
|
|Too Sweet: "Main ab bas ek normal life jeena chahta hoon, bina kisi ladai ke."
|Friend: "Too Sweet, dunya tumhe bhuli nahi hai. Ring ki duniya mein tumhara naam abhi bhi zinda hai."
|Too Sweet: "Nahi bhai, wo kaala adhyay khatam ho chuka hai."
|===================================================""".stripMargin,
"Chapter 2: Returning to the Neighborhood" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 2 STORY & DIALOGUES:
|Too Sweet apne purane neighborhood mein wapas aata hai jahan uski mulaqat apni purani girlfriend Clarisse se hoti hai.
|
|Clarisse: "Mujhe khushi hai ki tum wapas aa gaye, Too Sweet. Maine tumhara bohot intezaar kiya."
|Too Sweet: "Ab main kahin nahi ja raha, Clarisse. Hum ek nayi shuruat karenge."
|*Lekin unhe nahi pata hota ki unke peeche khatra mandra raha hai.*
|===================================================""".stripMargin,
"Chapter 3: The Threat from the Past" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 3 STORY & DIALOGUES:
|Prison ke andar se wo khunkhar qaidi 'Half Dead' jail tod kar (escape karke) baahar nikal chuka hota hai aur uska ek hi maqsad hota hai?Too Sweet se badla lena.
|
|Half Dead (Apne sathiyon se): "Too Sweet ne mujhe jail mein zaleel kiya tha... ab main usse sab kuch chheen lunga!"
|Henchman: "Boss, police poore sheher mein aapko dhoond rahi hai."
|Half Dead: "Police mera kuch nahi bigaad sakti, mujhe pehle wo champion chahiye!"
|===================================================""".stripMargin,
"Chapter 4: Pressures to Fight Again" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 4 STORY & DIALOGUES:
|Financial tangi aur parivaar ki zarooraton ke chalte Too Sweet ko samajh aata hai ki bina boxing ke guzara mushkil hai. Wo ek local training gym mein jata hai.
|
|Gym Manager: "Too Sweet, agar paise kamane hain aur apna future banana hai, toh professional boxing ring mein utarna hi hoga."
|Too Sweet: "Main sirf paise ke liye ladunga, kisi ki dushmani ke liye nahi."
|===================================================""".stripMargin,
"Chapter 5: Meeting the Tough Guys" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 5 STORY & DIALOGUES:
|Gym ke andar uski bhent wahan ke tough sparring partners aur trainers (jisme Mr. T bhi shamil hain) se hoti hai jo uske skills ka test lete hain.
|
|Trainer (Mr. T): "Dekhte hain is naye champion mein kitna dum hai! Ring mein aao!"
|*Too Sweet bina kisi koshish ke apne shandar reflexes se uske saare punches bach jata hai.*
|===================================================""".stripMargin,
"Chapter 6: Respect in the Gym" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 6 STORY & DIALOGUES:
|Too Sweet ki speed aur technique dekh kar gym ke sabhi log uski taarif karne lagte hain.
|
|Mr. T: "Man, tumhari speed kamaal ki hai! Tumhe jaldi hi championship match ke liye tayar hona chahiye."
|Too Sweet: "Mehnat toh karni padegi, agar upar aana hai toh."
|===================================================""".stripMargin,
"Chapter 7: The Shadow in the Dark" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 7 STORY & DIALOGUES:
|Wahin dusri taraf, Half Dead chupke se sheher mein ghus chuka hota hai aur Too Sweet ke ghar ke aas-paas manmarzi ke chakkar kaatne lagta hai.
|
|Half Dead (Khidki se dekhte hue): "Haste raho Too Sweet... ye tumhari zindagi ke aakhri kuch khushnuma din hain."
|===================================================""".stripMargin,
"Chapter 8: A Dark Incident" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 8 STORY & DIALOGUES:
|Ek din jab Too Sweet gym gaya hota hai, tab Half Dead mauka paakar Clarisse par hamla kar deta hai aur use dardnak maut de deta hai.
|
|Clarisse (Chilate hue): "Nahi! Door raho mujhse!"
|*Jab Too Sweet ghar wapas aata hai, toh wo Clarisse ki laash dekh kar pathar ban jata hai.*
|Too Sweet (Zor se chilate hue): "CLARISSEEE! Yeh kisne kiya?!"
|===================================================""".stripMargin,
"Chapter 9: Consumed by Vengeance" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 9 STORY & DIALOGUES:
|Is bhyankar tragedy ke baad Too Sweet ka dil gusse aur badle ki aag se jalne lagta hai. Wo samajh jata hai ki shaitaan abhi zinda hai.
|
|Too Sweet (Apne aaine ke saamne): "Ab koi kanoon nahi, koi parole nahi... main khud uska shikaar karunga!"
|Coach: "Gusse mein uthaya gaya kadam tumhe wapas jail ya kabristan pahuncha dega, Too Sweet."
|===================================================""".stripMargin,
"Chapter 10: Entering the Championship Scene" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 10 STORY & DIALOGUES:
|Too Sweet ko pata chalta hai ki Half Dead ko public mein bahar laane ka ek hi tarika hai?ek bada televised championship match jeetna, jisse pura sheher dekhega.
|
|Too Sweet: "Mujhe wo title match chahiye. Main ring mein champion ban kar us darinde ko bahar bulaunga."
|Promoter: "Done! Agla title match tumhara hi hai."
|===================================================""".stripMargin,
"Chapter 11: Rigorous Hardcore Training" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 11 STORY & DIALOGUES:
|Too Sweet din-raat pagal ki tarah training karta hai. Uski ankhon mein sirf badle ki chingari dikhti hai.
|
|Mr. T: "Yeh hui na champions wali mehnat! Is baar ring mein koi rahem mat dikhana."
|Too Sweet: "Rahem shabd meri dictionary se mit chuka hai."
|===================================================""".stripMargin,
"Chapter 12: The Grand Arena Night" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 12 STORY & DIALOGUES:
|Match ki raat aati hai. Statorium khach-khach bhara hota hai. Television par poora desh is maha-muqabale ko live dekh raha hota hai.
|
|Announcer: "Ladies and gentlemen, presenting the legendary Too Sweet Gordone!"
|*Crowd jor-jor se cheers karne lagti hai.*
|===================================================""".stripMargin,
"Chapter 13: Half Dead's Challenge" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 13 STORY & DIALOGUES:
|Wahin TV screen par Half Dead ek live message bhejta hai aur open challenge deta hai ki wo stadium ke andar hi mojood hai.
|
|Half Dead (Screen par haste hue): "Too Sweet! Match jeetne ke baad tera agla opponent main hounga, aur tera anjam bhi wahi hoga jo teri girlfriend ka hua tha!"
|Too Sweet (Gusse se mutthi bheethte hue): "Main tera hi intezaar kar raha hoon, Half Dead!"
|===================================================""".stripMargin,
"Chapter 14: Winning the Title Match" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 14 STORY & DIALOGUES:
|Apne gusse aur takat ko channelize karte hue Too Sweet apne opponent ko pehle hi round mein brutal knockout de deta hai aur belt apne naam kar leta hai.
|
|Referee: "Knockout! The new champion is Too Sweet Gordone!"
|Crowd: "Too Sweet! Too Sweet!"
|===================================================""".stripMargin,
"Chapter 15: The Ultimate Showdown Setup" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 15 STORY & DIALOGUES:
|Match ke turant baad arena ki saari lights off ho jati hain aur emergency alarms bajne lagte hain. Half Dead apne hathiyar ke sath ring mein enter karta hai.
|
|Half Dead: "Belt jeet li na? Ab apni jaan bachane ki baari hai!"
|Too Sweet: "Aaj ya toh tu zinda bachega ya main!"
|===================================================""".stripMargin,
"Chapter 16: Clashing in the Dark Ring" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 16 STORY & DIALOGUES:
|Ring ke andar dono ke beech maut ka khel shuru hota hai. Half Dead knife (chaku) se hamla karta hai, jabki Too Sweet apne bare fists (mukko) se jawaab deta hai.
|
|*Ek tezi se mara gaya punch Half Dead ke mooh par lagta hai jisse uska khoon nikal padta hai.*
|Half Dead (Gusse mein chilate hue): "Tujhe toh main zinda kaatunga!"
|===================================================""".stripMargin,
"Chapter 17: The Final Retribution" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 17 STORY & DIALOGUES:
|Too Sweet apni poori takat laga kar ek aakhri devastating combination punch marta hai jo Half Dead ko seedha ring ke roopes todte hue zameen par patak deta hai.
|
|Half Dead (Behosh hote hue): "Yeh... kaise... mumkin hai..."
|Too Sweet: "Ye Clarisse ke badle ki shuruat hai!"
|===================================================""".stripMargin,
"Chapter 18: Police Arrival" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 18 STORY & DIALOGUES:
|Police aur security guards daudte hue ring mein aate hain aur khunkhar criminal Half Dead ko arrest kar lete hain.
|
|Police Chief: "Good job, Gordone. Tumne ek khatarnak fugitive ko hara diya hai."
|Too Sweet (Thak kar saans lete hue): "Mera kaam poora ho gaya."
|===================================================""".stripMargin,
"Chapter 19: Peace Restored" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 19 STORY & DIALOGUES:
|Kuch dino baad, Too Sweet champions ki trophy ke sath khada hokar Clarisse ki tasveer ko yaad karta hai.
|
|Too Sweet: "Clarisse, maine apna wada poora kiya. Tumhara qatil ab apne anjam tak pahunch chuka hai. Rest in peace."
|===================================================""".stripMargin,
"Chapter 20: The Epic Conclusion - Epilogue" ->
"""==================================================
|WRITTEN BY BIXUU
|==================================================
|
|CHAPTER 20 STORY & DIALOGUES (PART 2 FINALE):
|Ek final grand message screen par flash hota hai.
|
|Author's Final Note:
| "Too Sweet ne apni mohabbat ke liye aakhri ladai jeeti aur darr ka ant kiya. Penitentiary II yahan khatam hota hai!"
|
|THE END - PENITENTIARY PART 2 WRITTEN & ADAPTED BY BIXUU.
|==================================================
|
|? ANNOUNCEMENT FROM CREATOR BIXUU:
|"BIXUU (??????) BROUGHT YOU PENITENTIARY PART 2!
|Hope you enjoyed this action-packed sequel. Stay tuned for more!"
|===================================================""".stripMargin
)
// 3. GUI WINDOW CREATION
val frame = new JFrame("Movie Story Viewer: PENITENTIARY PART 2 - By Bixuu")
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)
frame.setSize(950, 650)
frame.setLocationRelativeTo(null)
// Header (Action/Boxing Theme Color - Dark Gold/Black)
val headerLabel = new JLabel(" ? PENITENTIARY PART 2: THE REVENGE & CHAMPIONSHIP (Adapted by Bixuu) ", SwingConstants.CENTER)
headerLabel.setFont(new Font("Arial", Font.BOLD, 14))
headerLabel.setOpaque(true)
headerLabel.setBackground(new Color(60, 40, 0))
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
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(20, 20, 20))
storyArea.setForeground(new Color(230, 230, 230))
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)
}
})
}
}
// Direct Execution Entrypoint for Scala Script / REPL
PenitentiaryPart2App.main(Array())