Step I: Create variables score and turn and assign both the values 0.
Step II: Since there will be only one particle while calculating the score, we need to create a variable particle so create a variable particle and assign its value to null and at the same time, remove the array particles we created in last post.
Step III: Display the score at your desire position. In my case, I am placing it at top right corner.
Step IV: In for loop of division in setup() function, change the variable from 5 to 0 the shift the divisions.
Step V: Specify the points between the divisions using text.
Step VI: Now create a variable gameState and assign its value to play.
Step VII: Then we will use mouseReleased() function to create new particles at the x position similar to mouse x coordinate and y to 10 and assign it to variable particle which we created in step II.
Step VIII: Write the logic given below to determine in which division the particle is. After then, add the scores according to divisions and once the score is calculated, set the particle to null. At the same time, check that if the turn is greater then or equal to 5 or not. If it is greater then or equal to 5 then change the gameState to 'end'.
Step IX: Now, in mouseReleased() function, increase the turn by 1.
Step X: Then, in draw() function, display the text 'Game Over' using if condition when the gameState will be 'end'. Also, write one more if condition inside this if condition which will restart the game when we press 'ENTER' key.
Bug Fixing:
1. When the gameState is 'end', the plinko, divisions, ground and text of score should not be visible. So, for that, write an if condition that if gameState is not end, then inside it, display text of scores, divisions, plinkos and grounds.
2. When you press the mouse button when the particle is visible on screen, that particle goes vanished and new particle falls again or when the game over and you press the mouse button, the particle is created. To fix it, in mouseReleased() function, we have to write condition that if gameState is not equal to 'end' or the particle is null, then only, a new particle must be created.
0 Comments: