Code Sketch
Bixuu02 jokes
Category: Programming
// ============================================================
// BIXUU STYLE: TMKOC JOKES WORLD 2026 (ALL FAMILIES & CHARACTERS)
// ============================================================
cleari()
originBottomLeft()
// ============================================================
// APP STATES & VARIABLES
// ============================================================
var screen = 0 // 0: Welcome, 1: Families List, 2: Members View, 3: Line-wise Joke Reader
var selectedFamilyHead = ""
var selectedMember = ""
var currentJokeIndex = 0
// Background Star Animation Class
class Star(val x: Double, val y: Double, val size: Double) {
var phase = randomDouble(6.28)
def step() { phase += 0.04 }
def view(canvas: CanvasDraw) {
val brightness = 150 + (math.sin(phase) * 80).toInt
canvas.noStroke()
canvas.fill(200, 220, 255, brightness)
canvas.ellipse(x, y, size, size)
}
}
val stars = ArrayBuffer.empty[Star]
for (i <- 0 until 60) {
stars.append(new Star(randomDouble(cwidth), randomDouble(cheight), 1.0 + randomDouble(2.5)))
}
// ============================================================
// TMKOC ALL FAMILIES HEADS (BIXUU STYLE 2026)
// ============================================================
val familyHeads = Array(
"Jethalal Gada Family",
"Atmaram Bhide Family",
"Taarak Mehta Family",
"Dr. Hansraj Hathi Family",
"Krishnan & Babita Iyer",
"Patrakar Popatlal Pandey",
"Roshan Singh Sodhi Family",
"Abdul & Soda Shop")
// ============================================================
// FAMILY MEMBERS MAPPING (ALL CHARACTERS)
// ============================================================
def getFamilyMembers(head: String): Array[String] = {
head match {
case "Jethalal Gada Family" => Array("Jethalal Gada", "Dayaben Gada", "Champaklal Gada", "Sundarlal Sala Ji")
case "Atmaram Bhide Family" => Array("Atmaram Bhide Secretary", "Madhavi Bhide", "Sonu Bhide", "Sakharam Scooter")
case "Taarak Mehta Family" => Array("Taarak Mehta", "Anjali Mehta Diet Expert", "Fire Brigade Friend")
case "Dr. Hansraj Hathi Family" => Array("Dr. Hansraj Hathi", "Komal Hathi", "Goli Hathi")
case "Krishnan & Babita Iyer" => Array("Krishnan Iyer Scientist", "Babita Iyer", "Iyer-Jetha Comedy")
case "Patrakar Popatlal Pandey" => Array("Popatlal Pandey Reporter", "Popatlal Chi Chhata", "Marriage Bureau")
case "Roshan Singh Sodhi Family" => Array("Roshan Singh Sodhi Party Sharty", "Roshan Bhabhi", "Gogi Sodhi")
case _ => Array("Abdul Soda Shop Owner", "Gokuldham Caretaker", "Society Secret Master")
}
}
// ============================================================
// 50+ NIBANDH STYLE CHUNKS (ALL FAMILIES & CHARACTER SITUATIONS)
// ============================================================
def getNibandhJokes(member: String): Array[Array[String]] = {
member match {
// --- JETHALAL FAMILY ---
case m if m.contains("Jethalal") =>
Array(
Array(
"Bixuu Joke No. 1: Jethalal & Natukaka",
"Jethalal: Ae Natukaka, mala aisi ek",
"chai banun de ji pitach mi dukaanat",
"zhopun jaail!",
"Natukaka: Sheth, me tea madhe poison",
"taku ka mag?",
"Jethalal: Arey murkha, tea magitalay,",
"khoon nahi kay!"
),
Array(
"Bixuu Joke No. 2: Bapuji ani Jethiya",
"Champaklal: Ayya Jethiya! Tu punha",
"usheera uthalaes? Amchya zamanyat",
"aamhi rooj 4 vajta uthun 10 km",
"chalat school la jaycho!",
"Jethalal: Arey Bapuji, tyaveli mobile",
"navhte na, mhanun paypat karavi lagt hoti!"
)
) ++ (3 to 50).map(i => Array(
s"Bixuu Joke No. $i: Jethalal Special",
"Jethalal: He Bhagwan, mala ya sanktatun",
"vachav! Daya pan geli ani Bapuji pan",
"maage lagle ahet!",
"Popatlal: Jethalal bhai, tension nako",
"gheus, chhatri ghein ka majhi?"
))
// --- BHIDE FAMILY ---
case m if m.contains("Bhide") =>
Array(
Array(
"Bixuu Joke No. 1: Atmaram Bhide",
"Bhide: Ekmev secretary Atmaram",
"Tukaram Bhide boltoy!",
"Society che rules todnarala seedha",
"fine lagel!",
"Madhavi: Aho aatta tari shant vha,",
"amche papad ani pickle che order",
"bagha jaaun!"
),
Array(
"Bixuu Joke No. 2: Sakharam Scooter",
"Bhide: Majha Sakharam kiti changla",
"ahe, ekdam marathi manus sarkha",
"veli var start hoto!",
"Jethalal: Bhide, tuzi gadi mhanje",
"running train madhla steam engine ahe!"
)
) ++ (3 to 50).map(i => Array(
s"Bixuu Joke No. $i: Bhide Masterji",
"Bhide: Mi tution classes madhe",
"pachvi standard chya mulaana",
"shikavtoy!",
"Tappu: Masterji, aamhi pan tution",
"madhe ek naving plan banavtoy!"
))
// --- TAARAK MEHTA FAMILY ---
case m if m.contains("Taarak Mehta") =>
Array(
Array(
"Bixuu Joke No. 1: Taarak & Anjali",
"Anjali: Taarak ji, aaj breakfast madhe",
"karela juice ahe, sagla piyacha!",
"Taarak: Anjali, mala vatat mi",
"fire brigade madhe jaun swatahla",
"aag lavun ghyavi!",
"Jethalal: Taarak bhai, mala vachav,",
"majhya life madhe pan heduch chaltoy!"
)
) ++ (2 to 50).map(i => Array(
s"Bixuu Joke No. $i: Fire Brigade Mehta",
"Taarak Mehta: Jethalal, tu punha",
"koanata raada kelaes?",
"Jethalal: Mehta saab, mi kahich",
"kelay re baaba, sagla naseebacha khel ahe!"
))
// --- HATHI FAMILY ---
case m if m.contains("Hathi") =>
Array(
Array(
"Bixuu Joke No. 1: Dr. Hathi & Goli",
"Hathi Bhai: Sahi baat hai ji!",
"Jevan kashala pan aadhi samosa",
"ani jalebi ali pahije!",
"Goli Hathi: Pappa, mi pan aataa",
"don plate extra order karnar!",
"Komal Bhabhi: Hathi bhai, tumhi",
"fakt khata ani diet visarta!"
)
) ++ (2 to 50).map(i => Array(
s"Bixuu Joke No. $i: Hathi Family Special",
"Hathi: Doctor ki salah - rooj",
"10 rasgulla khao aur sehatmand raho!",
"Gokuldham Wasi: Doctor sahab, tumhi",
"swatah patient banar ka kiti kharata?"
))
// --- IYER & BABITA FAMILY ---
case m if m.contains("Iyer") =>
Array(
Array(
"Bixuu Joke No. 1: Iyer & Babita Ji",
"Iyer: Jethalal, mi senior scientist aahe",
"ani Babita ji majhi wife ahet!",
"Jethalal: Babita ji, good morning!",
"Tumhi kiti chhan distaay aaj!",
"Iyer: Jethalal, tumhala kiti vela",
"sangitlay ki majhya bayko pasun",
"laamb raha!"
)
) ++ (2 to 50).map(i => Array(
s"Bixuu Joke No. $i: Iyer Science Joke",
"Babita Ji: Jethalal ji, tumhi kay",
"navin business idea kadhli ahe?",
"Jethalal: Babita ji, tumhi sangitala",
"ani mi aakashatun taare anale nahitar kay!"
))
// --- POPATLAL FAMILY ---
case m if m.contains("Popatlal") =>
Array(
Array(
"Bixuu Joke No. 1: Patrakar Popatlal",
"Popatlal: Duniya Hila Dunga!",
"Arey mi aakashvani cha senior",
"journalist aahe, majhi shadi ka",
"hot nahiye koanala mahit?",
"Jethalal: Popatlal, tuzi shadi zali",
"tar aamcha Gokuldham cha main",
"hero kothe jaail!"
)
) ++ (2 to 50).map(i => Array(
s"Bixuu Joke No. $i: Popatlal Chhata Special",
"Popatlal: Majhi laadki chhatri hech",
"majhi real ardhangini ahe!",
"Inspector: Popatlal ji, chhatri sobat",
"koan marriage registry kartay ka?"
))
// --- SODHI FAMILY ---
case m if m.contains("Sodhi") =>
Array(
Array(
"Bixuu Joke No. 1: Roshan Singh Sodhi",
"Sodhi: Oye Jethiya! Balle Balle!",
"Aaj ratri party sharty honar!",
"Koni pan yeu dya, sodnar nahi!",
"Roshan Bhabhi: Oye ji, aadhi gharat",
"yeva, nahi tar baherch ubhe karnar!",
"Gogi: Pappa, mala pan party sharty",
"madhe yaaychay!"
)
) ++ (2 to 50).map(i => Array(
s"Bixuu Joke No. $i: Sodhi Oye Paji",
"Sodhi: Pyare tussi great ho!",
"Jethalal: Sodhi bhai, mala party",
"madhe neus nako, Bapuji baghtil!"
))
// --- ABDUL & SODA SHOP ---
case _ =>
Array(
Array(
"Bixuu Joke No. 1: Abdul Soda Shop",
"Abdul: Gokuldham madhla pratyek",
"secret mala sarvat aadhi mahit asto!",
"Jethalal: Abdul bhai, ek thanda",
"limbu soda banun de patkan!",
"Bhide: Abdul, society chya meeting",
"sathi soda shop band kar patkan!"
)
) ++ (2 to 50).map(i => Array(
s"Bixuu Joke No. $i: Abdul Caretaker Special",
"Abdul: Mi rooj sakali sakali soda",
"shop clean karun saglyanchi wat",
"pahat asto!",
"Gokuldham Wasi: Abdul bhai tu",
"nasatas tar aamcha gossips kothe",
"zalasta?"
))
}
}
// ============================================================
// SCREENS UI LOGIC
// ============================================================
def drawWelcomeScreen(canvas: CanvasDraw) {
canvas.background(20, 15, 35)
repeatFor(stars) { s => s.view(canvas) }
canvas.fill(255, 252, 245)
canvas.stroke(255, 140, 0)
canvas.strokeWeight(4)
canvas.rect(cwidth/2 - 270, cheight/2 - 210, 540, 420)
canvas.fill(220, 100, 0)
canvas.text("BIXUU STYLE: TMKOC ALL FAMILIES 2026", cwidth/2 - 195, cheight/2 + 175)
canvas.fill(40, 40, 40)
canvas.text("Welcome to Gokuldham All Families World!", cwidth/2 - 230, cheight/2 + 130)
canvas.text("Yithe Jethalal, Bhide, Mehta, Hathi, Iyer,", cwidth/2 - 230, cheight/2 + 100)
canvas.text("Popatlal, Sodhi & Abdul che nibandh jokes ahet!", cwidth/2 - 230, cheight/2 + 75)
// Start Button
canvas.fill(0, 140, 0)
canvas.noStroke()
canvas.rect(cwidth/2 - 160, cheight/2 - 20, 320, 60)
canvas.fill(255, 255, 255)
canvas.text("EXPLORE ALL FAMILIES JOKES", cwidth/2 - 130, cheight/2 + 15)
}
def drawFamiliesListScreen(canvas: CanvasDraw) {
canvas.background(15, 25, 40)
repeatFor(stars) { s => s.view(canvas) }
canvas.fill(255, 215, 0)
canvas.text("BIXUU STYLE | SELECT ANY GOKULDHAM FAMILY", cwidth/2 - 190, cheight - 30)
for (i <- 0 until familyHeads.length) {
val col = i % 2
val row = i / 2
val bx = if (col == 0) cwidth/2 - 240 else cwidth/2 + 10
val by = (cheight/2 + 130) - (row * 48)
canvas.fill(40, 80, 140)
canvas.stroke(255, 165, 0)
canvas.strokeWeight(2)
canvas.rect(bx, by, 230, 40)
canvas.fill(255, 255, 255)
canvas.noStroke()
canvas.text((i + 1) + ". " + familyHeads(i), bx + 10, by + 24)
}
canvas.fill(120, 40, 40)
canvas.noStroke()
canvas.rect(cwidth/2 - 80, 12, 160, 28)
canvas.fill(255, 255, 255)
canvas.text("BACK TO HOME", cwidth/2 - 50, 28)
}
def drawMembersScreen(canvas: CanvasDraw) {
canvas.background(15, 25, 40)
repeatFor(stars) { s => s.view(canvas) }
canvas.fill(255, 215, 0)
canvas.text(selectedFamilyHead + " - BIXUU STYLE 50+ JOKES", cwidth/2 - 175, cheight - 30)
val members = getFamilyMembers(selectedFamilyHead)
for (i <- 0 until members.length) {
val my = (cheight/2 + 100) - (i * 48)
canvas.fill(50, 100, 80)
canvas.stroke(255, 215, 0)
canvas.strokeWeight(2)
canvas.rect(cwidth/2 - 220, my, 440, 38)
canvas.fill(255, 255, 255)
canvas.noStroke()
canvas.text((i + 1) + ". " + members(i) + " (Click for Jokes)", cwidth/2 - 200, my + 24)
}
canvas.fill(150, 50, 50)
canvas.rect(cwidth/2 - 110, 12, 220, 30)
canvas.fill(255, 255, 255)
canvas.text("BACK TO FAMILIES", cwidth/2 - 65, 28)
}
def drawJokeReaderScreen(canvas: CanvasDraw) {
canvas.background(25, 15, 35)
repeatFor(stars) { s => s.view(canvas) }
canvas.fill(255, 215, 0)
canvas.text("BIXUU LAUGHING WORLD: " + selectedMember, cwidth/2 - 170, cheight - 35)
// Main Box for Jokes (Nibandh Style)
canvas.fill(250, 248, 235)
canvas.stroke(255, 140, 0)
canvas.strokeWeight(3)
canvas.rect(cwidth/2 - 280, cheight/2 - 180, 560, 330)
canvas.fill(30, 30, 30)
canvas.noStroke()
val jokeChunks = getNibandhJokes(selectedMember)
val currentJokeLines = jokeChunks(currentJokeIndex)
// Rendering lines in essay/nibandh format inside the box one below another
for (lineIdx <- 0 until currentJokeLines.length) {
val ly = (cheight/2 + 115) - (lineIdx * 28)
canvas.text(currentJokeLines(lineIdx), cwidth/2 - 265, ly)
}
// NEXT BUTTON
canvas.fill(0, 140, 0)
canvas.rect(cwidth/2 + 40, cheight/2 - 165, 200, 38)
canvas.fill(255, 255, 255)
canvas.text("NEXT JOKE ?", cwidth/2 + 85, cheight/2 - 140)
// PREV BUTTON
canvas.fill(180, 100, 0)
canvas.rect(cwidth/2 - 240, cheight/2 - 165, 200, 38)
canvas.fill(255, 255, 255)
canvas.text("? PREV JOKE", cwidth/2 - 195, cheight/2 - 140)
// BACK BUTTON
canvas.fill(150, 50, 50)
canvas.rect(cwidth/2 - 110, 15, 220, 32)
canvas.fill(255, 255, 255)
canvas.text("BACK TO MEMBERS", cwidth/2 - 65, 31)
}
// ============================================================
// CLICK HANDLER LOGIC
// ============================================================
def handleClick(x: Double, y: Double) {
if (screen == 0) {
if (x >= cwidth/2 - 160 && x <= cwidth/2 + 160 && y >= cheight/2 - 20 && y <= cheight/2 + 40) {
screen = 1
}
}
else if (screen == 1) {
if (x >= cwidth/2 - 80 && x <= cwidth/2 + 80 && y >= 12 && y <= 40) {
screen = 0
} else {
for (i <- 0 until familyHeads.length) {
val col = i % 2
val row = i / 2
val bx = if (col == 0) cwidth/2 - 240 else cwidth/2 + 10
val by = (cheight/2 + 130) - (row * 48)
if (x >= bx && x <= bx + 230 && y >= by && y <= by + 40) {
selectedFamilyHead = familyHeads(i)
screen = 2
}
}
}
}
else if (screen == 2) {
if (x >= cwidth/2 - 110 && x <= cwidth/2 + 110 && y >= 12 && y <= 42) {
screen = 1
} else {
val members = getFamilyMembers(selectedFamilyHead)
for (i <- 0 until members.length) {
val my = (cheight/2 + 100) - (i * 48)
if (x >= cwidth/2 - 220 && x <= cwidth/2 + 220 && y >= my && y <= my + 38) {
selectedMember = members(i)
currentJokeIndex = 0
screen = 3
}
}
}
}
else if (screen == 3) {
if (x >= cwidth/2 - 110 && x <= cwidth/2 + 110 && y >= 15 && y <= 47) {
screen = 2
}
else if (x >= cwidth/2 + 40 && x <= cwidth/2 + 240 && y >= cheight/2 - 165 && y <= cheight/2 - 127) {
val totalJokes = getNibandhJokes(selectedMember).length
currentJokeIndex = (currentJokeIndex + 1) % totalJokes
}
else if (x >= cwidth/2 - 240 && x <= cwidth/2 - 40 && y >= cheight/2 - 165 && y <= cheight/2 - 127) {
val totalJokes = getNibandhJokes(selectedMember).length
currentJokeIndex = (currentJokeIndex - 1 + totalJokes) % totalJokes
}
}
}
onMouseClick { (x, y) => handleClick(x, y) }
// ============================================================
// MAIN ANIMATION LOOP
// ============================================================
animateWithCanvasDraw { canvas =>
repeatFor(stars) { s => s.step() }
if (screen == 0) drawWelcomeScreen(canvas)
else if (screen == 1) drawFamiliesListScreen(canvas)
else if (screen == 2) drawMembersScreen(canvas)
else if (screen == 3) drawJokeReaderScreen(canvas)
}