xxxxxxxxxx
131
/*
* Written by Bhaswar Chakraborty
* With help of Moumi Samanta and Subhadeep Bannerjee
**/
// p5.disableFriendlyErrors = true
let u, m, numFont
function preload() {
numFont = loadFont("crashnumberingserif.ttf")
numFontTwo = loadFont("crashnumberingregular.ttf")
fontOne = loadFont("Oswald-Regular.ttf")
fontTwo = loadFont("Eastwood.ttf")
}
function setup() {
createCanvas(w = 800, h = 400);
u = h / 6
m = u / 6
noLoop()
}
function draw() {
// background(220);
// Ticket Shape
noStroke()
const gradient = drawingContext.createRadialGradient(w / 2, h / 2, u, w / 2, h / 2, 12 * u)
gradient.addColorStop(0, "#FBEBA9");
gradient.addColorStop(0.9, "#FCAA41");
drawingContext.fillStyle = gradient;
beginShape()
vertex(0, u)
bezierVertex(u / 2, u, u, u / 2, u, 0)
vertex(8 * u, 0)
bezierVertex(8 * u, u / 2, 8 * u + u / 2, u, 9 * u, u)
bezierVertex(9 * u + u / 2, u, 10 * u, u / 2, 10 * u, 0)
vertex(11 * u, 0)
bezierVertex(11 * u, u / 2, 11 * u + u / 2, u, w, u)
vertex(w, 5 * u)
bezierVertex(w - u / 2, 5 * u, 11 * u, h - u / 2, 11 * u, h)
vertex(10 * u, h)
bezierVertex(10 * u, h - u / 2, 9 * u + u / 2, 5 * u, 9 * u, 5 * u)
bezierVertex(8 * u + u / 2, 5 * u, 8 * u, h - u / 2, 8 * u, h)
vertex(u, h)
bezierVertex(u, h - u / 2, u / 2, 5 * u, 0, 5 * u)
endShape(CLOSE)
// Borders
stroke(0)
strokeWeight(2)
line(u + m, m, 8 * u - m, m)
line(10 * u + m, m, 11 * u - m, m)
line(w - m, u + m, w - m, 5 * u - m)
line(10 * u + m, h - m, 11 * u - m, h - m)
line(u + m, h - m, 8 * u - m, h - m)
line(m, u + m, m, 5 * u - m)
drawingContext.setLineDash([10, 10]);
line(u + m, 2 * m, 8 * u - m, 2 * m)
line(10 * u + m, 2 * m, 11 * u - m, 2 * m)
line(w - 2 * m, u + m, w - 2 * m, 5 * u - m)
line(10 * u + m, h - 2 * m, 11 * u - m, h - 2 * m)
line(u + m, h - 2 * m, 8 * u - m, h - 2 * m)
line(2 * m, u + m, 2 * m, 5 * u - m)
drawingContext.setLineDash([]); // reset
// Division in the flap
strokeCap(SQUARE)
strokeWeight(5)
drawingContext.setLineDash([5, 5]);
line(9 * u, u + m, 9 * u, 5 * u - m)
drawingContext.setLineDash([]); // reset
// Divisions in the body
strokeWeight(1)
line(3 * m, 4 * u, 9 * u - m, 4 * u)
line(3 * m, 3 * u, 9 * u - m, 3 * u)
// Texts
textFont(numFont)
textSize(36)
text("!2", w / 2 + u / 2, 4 * u - 2 * m)
text("È0", w / 2 + u / 2 + 4 * m, 4 * u - 2 * m)
text("2^", 5 * u, 4 * u - 2 * m + m / 3)
textFont(fontOne)
text("NOV", 4 * u - m, 4 * u - 2 * m + m / 3)
text("SATURDAY", u, 4 * u - 2 * m)
// Title
textFont(fontTwo)
textSize(72)
text("FresherS", 2 * u + m, u + 2 * m)
textFont(numFont)
textSize(32)
text("2 0 Ê 2", 3 * u + 2 * m, 2 * u)
textFont(fontOne)
textSize(36)
text("TICKET", 4 * u - m, 2 * u + u / 2 + 2 * m)
push()
translate(11 * u - u / 2 + m, h - u + m)
rotate(- PI / 2)
textFont(fontOne)
textSize(28)
text("DEPT. OF COMPUTER SCIENCE", 0, 0)
pop()
// Venue
textSize(40)
textFont(numFontTwo)
text("T", 4 * u + u / 2, h - 8 * m)
textSize(36)
textFont(numFont)
text("!", 5 * u + 4 * m, h - 8 * m)
textFont(fontOne)
text("Room", 3 * u + m / 2, h - 8 * m)
text("N", 5 * u + 2 * m, h - 8 * m)
textSize(28)
text("SCOTTISH CHURCH COLLEGE", 2 * u + 2 * m - m / 2, h - 4 * m)
// Support
// line(w / 4, 0, w / 4, h)
// line(w / 2, 0, w / 2, h)
// line(3 * w / 4, 0, 3 * w / 4, h)
}