English Language and Literature homework help

this is an add-on to the tetris file you have been working onYou have already displayed the Tetris Bucket and started dropping the shapes. During this module, you stop the falling shape at the bottom of the Bucket. If there are shapes already stacked at the bottom of the bucket, then you stop the shape on top of other shapes. At the same time, you drop another shape from the top. Add plenty of narrative comments. Your program must be compilable and executable.If you need guidance, you will find some detailed instruction (below) to assist you.User input is provided using the arrow keys. By default (with no user input being entered), the shape falls one cell in each loop. The shape can also be made to fall more quickly by pressing the down-arrow key. Assuming that you are using a switch block to handle the user input, in each switch case, you will change the top left x, y and calling different functions to process that arrow input. Regardless of which of the two methods triggered the shape’s downward movement, you will probably call the functionÿprocessDownArrow(TetrisShape& tetrisShape). You will probably find that you need separate functions to handle different key inputs.In each of these arrow-key input process functions, you need to check whether the shape is stuck and needs to stop. You need to go over the values of the shape array using two nested “for loops”. Remember, the shape is not stuck if the cell is empty. Below is the logic to check when the shape is stuck:if (shapeArray[x][y] != ‘ ‘){ÿÿÿÿÿif (x,y dimensions are inside the bucket){ÿÿÿÿÿÿÿÿÿÿif bucket cell is not empty{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿThe shape is stuckÿÿÿÿÿÿÿÿÿÿ}ÿÿÿÿÿ}ÿÿÿÿÿÿelse if (x dimension reaches the bottom){ÿÿÿÿÿÿÿÿÿÿThe shape is stuck, so stop the shape.ÿÿÿÿÿ}ÿÿÿÿÿelse{ÿÿÿÿÿÿÿÿÿÿ/*Here the shape hits the side wall, but not stuck. The situation is, the shape is at the left wall, and user is pressing the left arrow. In this case, the input is ineffective. So, we will let the shape drop one cell here, and call the processDownArrow(*this). The processDownArrow function will return a bool value whether the shape is stuck or not.*/ÿÿÿÿÿÿÿÿÿÿif (the shape is stuck){ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿStop the shapeÿÿÿÿÿÿÿÿÿÿ}ÿÿÿÿÿÿÿÿÿÿelse{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿthe shape is not stuck, let it fallÿÿÿÿÿÿÿÿÿÿ}ÿÿÿÿÿ}}When the current shape stops at the bottom, the next shape starts to drop. In theÿmain()ÿfunction, before the while loop (game loop), you will create two Tetris objects at the same time:ÿcurrentTetrisShape, andÿnextTetrisShape. Inside the game loop, when the current shape is stuck, you check whether a line is complete. Then, you callÿcurrentTetrisShape.setShape(nextTetrisShapeType). In theÿsetShape()ÿfunction, you assign the properties of the shape:ÿshapeType, top left X and Y,ÿshapeArray, etc. Then you callÿnextTetrisShape.setShapeÿ(use a new randomly generated int).

"Order a similar paper and get 100% plagiarism free, professional written paper now!"

Order Now