/* __________________________________________________________ ASSIGNMENT 2 : INTERACTIVE TOY "The Digitized Go Board " by Nicklas Steffensen 991 318 977 This program creates a facsimile of a traditional "Go" board; a chinese board game utilizing nothing but simple black and white game pieces. __________________________________________________________ */ //These variables govern a loop that prints the lines dividing the game board into segments int endColumns=750; int endRows=600; int spacing = 50; int columnX=50; int columnY=50; int rowX=50; int rowY=50; int columnLength= 500; int rowLength=700; //The frame is set to be 800 by 600 pixels in size, with the rectangle and ellipse rules being set to 'CENTER' void setup() { size (800, 600); smooth(0); rectMode(CENTER); ellipseMode(CENTER); //A loop is utillized wiht a random number generator that changes the background of the program upon each intilization; as a result, a different shade of blue provides the backdrop each time for (int i=0; i<500; i++) { float backgroundColour = random (100, 255); background(124, 245, backgroundColour); } //The main body of the game board is drawn, independant of the divider lines stroke (3); fill (#F5E65B); rect (400, 300, 700, 500); println ("Left Click an intersection to place a white piece!"); println("Right Click to intersectino to place a black piece!"); } void draw() { //Two 'while' loops are used to print the horizontal and vertical lines dividing the game board several times strokeWeight(5); while (columnX<=endColumns) { line(columnX, columnY, columnX, columnY+columnLength); columnX = columnX+spacing; } while (rowY<=endRows) { line(rowX, rowY, rowX+rowLength, rowY); rowY=rowY+spacing; } } void mousePressed() { //The mouseButton system variable is used to determine the colour of piece being played; right clicks place white pieces, while left clicks place black ones if (mouseButton == LEFT) { fill (255); } else if (mouseButton == RIGHT) { fill (0); } //The criteria for where the mouse must be clicked on to generate a piece is established; pieces can only be placed on intersecting points if (mouseX<110 && mouseX>90 && mouseY<110 && mouseY>90) { ellipse (100, 100, 50, 50); } else if (mouseX<110 && mouseX>90 && mouseY<160 ) { ellipse (100, 150, 50, 50); } else if (mouseX<110 && mouseX>90 && mouseY<210) { ellipse (100, 200, 50, 50); } else if (mouseX<110 && mouseX>90 && mouseY<260) { ellipse (100, 250, 50, 50); } else if (mouseX<110 && mouseX>90 && mouseY<310) { ellipse (100, 300, 50, 50); } else if (mouseX<110 && mouseX>90 && mouseY<360) { ellipse (100, 350, 50, 50); } else if (mouseX<110 && mouseX>90 && mouseY<410) { ellipse (100, 400, 50, 50); } else if (mouseX<110 && mouseX>90 && mouseY<460) { ellipse (100, 450, 50, 50); } else if (mouseX<110 && mouseX>90 && mouseY<510 ) { ellipse (100, 500, 50, 50); } //Parameters for piece placement are set for column 2 if (mouseX<160 && mouseX>140 && mouseY<110 && mouseY>90) { ellipse (150, 100, 50, 50); } else if (mouseX<160 && mouseX>140 && mouseY<160 && mouseY>140) { ellipse (150, 150, 50, 50); } else if (mouseX<160 && mouseX>140 && mouseY<210 && mouseY>140) { ellipse (150, 200, 50, 50); } else if (mouseX<160 && mouseX>140 && mouseY<260 && mouseY>140) { ellipse (150, 250, 50, 50); } else if (mouseX<160 && mouseX>140 && mouseY<310 && mouseY>140) { ellipse (150, 300, 50, 50); } else if (mouseX<160 && mouseX>140 && mouseY<360 && mouseY>140) { ellipse (150, 350, 50, 50); } else if (mouseX<160 && mouseX>140 && mouseY<410 && mouseY>140) { ellipse (150, 400, 50, 50); } else if (mouseX<160 && mouseX>140 && mouseY<460 && mouseY>140) { ellipse (150, 450, 50, 50); } else if (mouseX<160 && mouseX>140 && mouseY<510 && mouseY>140) { ellipse (150, 500, 50, 50); } //Parameters for piece placement are set for column 3 if (mouseX<210 && mouseX>190 && mouseY<110 && mouseY>90) { ellipse (200, 100, 50, 50); } else if (mouseX<210 && mouseX>190 && mouseY<160 && mouseY>140) { ellipse (200, 150, 50, 50); } else if (mouseX<210 && mouseX>190 && mouseY<210 && mouseY>140) { ellipse (200, 200, 50, 50); } else if (mouseX<210 && mouseX>190 && mouseY<260 && mouseY>140) { ellipse (200, 250, 50, 50); } else if (mouseX<210 && mouseX>190 && mouseY<310 && mouseY>140) { ellipse (200, 300, 50, 50); } else if (mouseX<210 && mouseX>190 && mouseY<360 && mouseY>140) { ellipse (200, 350, 50, 50); } else if (mouseX<210 && mouseX>190 && mouseY<410 && mouseY>140) { ellipse (200, 400, 50, 50); } else if (mouseX<210 && mouseX>190 && mouseY<460 && mouseY>140) { ellipse (200, 450, 50, 50); } else if (mouseX<210 && mouseX>190 && mouseY<510 && mouseY>140) { ellipse (200, 500, 50, 50); } //Parameters for piece placement are set for column 4 if (mouseX<260 && mouseX>240 && mouseY<110 && mouseY>90) { ellipse (250, 100, 50, 50); } else if (mouseX<260 && mouseX>240 && mouseY<160 && mouseY>140) { ellipse (250, 150, 50, 50); } else if (mouseX<260 && mouseX>240 && mouseY<210 && mouseY>140) { ellipse (250, 200, 50, 50); } else if (mouseX<260 && mouseX>240 && mouseY<260 && mouseY>140) { ellipse (250, 250, 50, 50); } else if (mouseX<260 && mouseX>240 && mouseY<310 && mouseY>140) { ellipse (250, 300, 50, 50); } else if (mouseX<260 && mouseX>240 && mouseY<360 && mouseY>140) { ellipse (250, 350, 50, 50); } else if (mouseX<260 && mouseX>240 && mouseY<410 && mouseY>140) { ellipse (250, 400, 50, 50); } else if (mouseX<260 && mouseX>240 && mouseY<460 && mouseY>140) { ellipse (250, 450, 50, 50); } else if (mouseX<260 && mouseX>240 && mouseY<510 && mouseY>140) { ellipse (250, 500, 50, 50); } //Parameters for piece placement are set for column 5 if (mouseX<310 && mouseX>290 && mouseY<110 && mouseY>90) { ellipse (300, 100, 50, 50); } else if (mouseX<310 && mouseX>290 && mouseY<160 && mouseY>140) { ellipse (300, 150, 50, 50); } else if (mouseX<310 && mouseX>290 && mouseY<210 && mouseY>140) { ellipse (300, 200, 50, 50); } else if (mouseX<310 && mouseX>290 && mouseY<260 && mouseY>140) { ellipse (300, 250, 50, 50); } else if (mouseX<310 && mouseX>290 && mouseY<310 && mouseY>140) { ellipse (300, 300, 50, 50); } else if (mouseX<310 && mouseX>290 && mouseY<360 && mouseY>140) { ellipse (300, 350, 50, 50); } else if (mouseX<310 && mouseX>290 && mouseY<410 && mouseY>140) { ellipse (300, 400, 50, 50); } else if (mouseX<310 && mouseX>290 && mouseY<460 && mouseY>140) { ellipse (300, 450, 50, 50); } else if (mouseX<310 && mouseX>290 && mouseY<510 && mouseY>140) { ellipse (300, 500, 50, 50); } //Parameters for piece placement are set for column 6 if (mouseX<360 && mouseX>340 && mouseY<110 && mouseY>90) { ellipse (350, 100, 50, 50); } else if (mouseX<360 && mouseX>340 && mouseY<160 && mouseY>140) { ellipse (350, 150, 50, 50); } else if (mouseX<360 && mouseX>340 && mouseY<210 && mouseY>140) { ellipse (350, 200, 50, 50); } else if (mouseX<360 && mouseX>340 && mouseY<260 && mouseY>140) { ellipse (350, 250, 50, 50); } else if (mouseX<360 && mouseX>340 && mouseY<310 && mouseY>140) { ellipse (350, 300, 50, 50); } else if (mouseX<360 && mouseX>340 && mouseY<360 && mouseY>140) { ellipse (350, 350, 50, 50); } else if (mouseX<360 && mouseX>340 && mouseY<410 && mouseY>140) { ellipse (350, 400, 50, 50); } else if (mouseX<360 && mouseX>340 && mouseY<460 && mouseY>140) { ellipse (350, 450, 50, 50); } else if (mouseX<360 && mouseX>340 && mouseY<510 && mouseY>140) { ellipse (350, 500, 50, 50); } //Parameters for piece placement are set for column 7 if (mouseX<410 && mouseX>390 && mouseY<110 && mouseY>90) { ellipse (400, 100, 50, 50); } else if (mouseX<410 && mouseX>390 && mouseY<160 && mouseY>140) { ellipse (400, 150, 50, 50); } else if (mouseX<410 && mouseX>390 && mouseY<210 && mouseY>140) { ellipse (400, 200, 50, 50); } else if (mouseX<410 && mouseX>390 && mouseY<260 && mouseY>140) { ellipse (400, 250, 50, 50); } else if (mouseX<410 && mouseX>390 && mouseY<310 && mouseY>140) { ellipse (400, 300, 50, 50); } else if (mouseX<410 && mouseX>390 && mouseY<360 && mouseY>140) { ellipse (400, 350, 50, 50); } else if (mouseX<410 && mouseX>390 && mouseY<410 && mouseY>140) { ellipse (400, 400, 50, 50); } else if (mouseX<410 && mouseX>390 && mouseY<460 && mouseY>140) { ellipse (400, 450, 50, 50); } else if (mouseX<410 && mouseX>390 && mouseY<510 && mouseY>140) { ellipse (400, 500, 50, 50); } //Parameters for piece placement are set for column 8 if (mouseX<460 && mouseX>440 && mouseY<110 && mouseY>90) { ellipse (450, 100, 50, 50); } else if (mouseX<460 && mouseX>440 && mouseY<160 && mouseY>140) { ellipse (450, 150, 50, 50); } else if (mouseX<460 && mouseX>440 && mouseY<210 && mouseY>140) { ellipse (450, 200, 50, 50); } else if (mouseX<460 && mouseX>440 && mouseY<260 && mouseY>140) { ellipse (450, 250, 50, 50); } else if (mouseX<460 && mouseX>440 && mouseY<310 && mouseY>140) { ellipse (450, 300, 50, 50); } else if (mouseX<460 && mouseX>440 && mouseY<360 && mouseY>140) { ellipse (450, 350, 50, 50); } else if (mouseX<460 && mouseX>440 && mouseY<410 && mouseY>140) { ellipse (450, 400, 50, 50); } else if (mouseX<460 && mouseX>440 && mouseY<460 && mouseY>140) { ellipse (450, 450, 50, 50); } else if (mouseX<460 && mouseX>440 && mouseY<510 && mouseY>140) { ellipse (450, 500, 50, 50); } //Parameters for piece placement are set for column 9 if (mouseX<510 && mouseX>490 && mouseY<110 && mouseY>90) { ellipse (500, 100, 50, 50); } else if (mouseX<510 && mouseX>490 && mouseY<160 && mouseY>90) { ellipse (500, 150, 50, 50); } else if (mouseX<510 && mouseX>490 && mouseY<210 && mouseY>90) { ellipse (500, 200, 50, 50); } else if (mouseX<510 && mouseX>490 && mouseY<260 && mouseY>140) { ellipse (500, 250, 50, 50); } else if (mouseX<510 && mouseX>490 && mouseY<310 && mouseY>140) { ellipse (500, 300, 50, 50); } else if (mouseX<510 && mouseX>490 && mouseY<360 && mouseY>140) { ellipse (500, 350, 50, 50); } else if (mouseX<510 && mouseX>490 && mouseY<410 && mouseY>140) { ellipse (500, 400, 50, 50); } else if (mouseX<510 && mouseX>490 && mouseY<460 && mouseY>140) { ellipse (500, 450, 50, 50); } else if (mouseX<510 && mouseX>490 && mouseY<510 && mouseY>140) { ellipse (500, 500, 50, 50); } //Parameters for piece placement are set for column 10 if (mouseX<560 && mouseX>540 && mouseY<110 && mouseY>90) { ellipse (550, 100, 50, 50); } else if (mouseX<560 && mouseX>540 && mouseY<160 && mouseY>90) { ellipse (550, 150, 50, 50); } else if (mouseX<560 && mouseX>540 && mouseY<210 && mouseY>90) { ellipse (550, 200, 50, 50); } else if (mouseX<560 && mouseX>540 && mouseY<260 && mouseY>140) { ellipse (550, 250, 50, 50); } else if (mouseX<560 && mouseX>540 && mouseY<310 && mouseY>140) { ellipse (550, 300, 50, 50); } else if (mouseX<560 && mouseX>540 && mouseY<360 && mouseY>140) { ellipse (550, 350, 50, 50); } else if (mouseX<560 && mouseX>540 && mouseY<410 && mouseY>140) { ellipse (550, 400, 50, 50); } else if (mouseX<560 && mouseX>540 && mouseY<460 && mouseY>140) { ellipse (550, 450, 50, 50); } else if (mouseX<560 && mouseX>540 && mouseY<510 && mouseY>140) { ellipse (550, 500, 50, 50); } //Parameters for piece placement are set for column 11 if (mouseX<610 && mouseX>590 && mouseY<110 && mouseY>90) { ellipse (600, 100, 50, 50); } else if (mouseX<610 && mouseX>590 && mouseY<160 && mouseY>90) { ellipse (600, 150, 50, 50); } else if (mouseX<610 && mouseX>590 && mouseY<210 && mouseY>90) { ellipse (600, 200, 50, 50); } else if (mouseX<610 && mouseX>590 && mouseY<260 && mouseY>140) { ellipse (600, 250, 50, 50); } else if (mouseX<610 && mouseX>590 && mouseY<310 && mouseY>140) { ellipse (600, 300, 50, 50); } else if (mouseX<610 && mouseX>590 && mouseY<360 && mouseY>140) { ellipse (600, 350, 50, 50); } else if (mouseX<610 && mouseX>590 && mouseY<410 && mouseY>140) { ellipse (600, 400, 50, 50); } else if (mouseX<610 && mouseX>590 && mouseY<460 && mouseY>140) { ellipse (600, 450, 50, 50); } else if (mouseX<610 && mouseX>590 && mouseY<510 && mouseY>140) { ellipse (600, 500, 50, 50); } //Parameters for piece placement are set for column 12 if (mouseX<660 && mouseX>640 && mouseY<110 && mouseY>90) { ellipse (650, 100, 50, 50); } else if (mouseX<660 && mouseX>640 && mouseY<160 && mouseY>90) { ellipse (650, 150, 50, 50); } else if (mouseX<660 && mouseX>640 && mouseY<210 && mouseY>90) { ellipse (650, 200, 50, 50); } else if (mouseX<660 && mouseX>640 && mouseY<260 && mouseY>140) { ellipse (650, 250, 50, 50); } else if (mouseX<660 && mouseX>640 && mouseY<310 && mouseY>140) { ellipse (650, 300, 50, 50); } else if (mouseX<660 && mouseX>640 && mouseY<360 && mouseY>140) { ellipse (650, 350, 50, 50); } else if (mouseX<660 && mouseX>640 && mouseY<410 && mouseY>140) { ellipse (650, 400, 50, 50); } else if (mouseX<660 && mouseX>640 && mouseY<460 && mouseY>140) { ellipse (650, 450, 50, 50); } else if (mouseX<660 && mouseX>640 && mouseY<510 && mouseY>140) { ellipse (650, 500, 50, 50); } //Parameters for piece placement are set for column 13 if (mouseX<710 && mouseX>690 && mouseY<110 && mouseY>90) { ellipse (700, 100, 50, 50); } else if (mouseX<710 && mouseX>690 && mouseY<160 && mouseY>90) { ellipse (700, 150, 50, 50); } else if (mouseX<710 && mouseX>690 && mouseY<210 && mouseY>90) { ellipse (700, 200, 50, 50); } else if (mouseX<710 && mouseX>690 && mouseY<260 && mouseY>140) { ellipse (700, 250, 50, 50); } else if (mouseX<710 && mouseX>690 && mouseY<310 && mouseY>140) { ellipse (700, 300, 50, 50); } else if (mouseX<710 && mouseX>690 && mouseY<360 && mouseY>140) { ellipse (700, 350, 50, 50); } else if (mouseX<710 && mouseX>690 && mouseY<410 && mouseY>140) { ellipse (700, 400, 50, 50); } else if (mouseX<710 && mouseX>690 && mouseY<460 && mouseY>140) { ellipse (700, 450, 50, 50); } else if (mouseX<710 && mouseX>690 && mouseY<510 && mouseY>140) { ellipse (700, 500, 50, 50); } }