tetris ghost piece
This commit is contained in:
parent
1b8c0a32a5
commit
7baabd7cc3
17
Tetris.cs
17
Tetris.cs
|
@ -115,6 +115,20 @@ namespace Tetris {
|
|||
canvas.SetPixel((player.x + current[0]) * sw + k, (player.y + current[1]) * sh + l, player.color);
|
||||
}
|
||||
|
||||
// Calculate ghost piece y-coordinate
|
||||
int ty = player.y;
|
||||
while (!collisionCheck(player.x, ++ty, player.positions)) { }
|
||||
ty--;
|
||||
// Display ghost piece onto Matrix
|
||||
foreach (var current in player.positions) {
|
||||
for (int k = 0; k < sw; k+=sw-1)
|
||||
for (int l = 0; l < sh; l++)
|
||||
canvas.SetPixel((player.x + current[0]) * sw + k, (ty + current[1]) * sh + l, player.color);
|
||||
for (int k = 0; k < sw; k++)
|
||||
for (int l = 0; l < sh; l+=sh-1)
|
||||
canvas.SetPixel((player.x + current[0]) * sw + k, (ty + current[1]) * sh + l, player.color);
|
||||
}
|
||||
|
||||
// Draw line "in the middle"
|
||||
for (int i = 0; i < 192; i++)
|
||||
canvas.SetPixel(sw*10, i, grey);
|
||||
|
@ -141,7 +155,8 @@ namespace Tetris {
|
|||
canvas.SetPixel(j, 192-i, grey);
|
||||
|
||||
// Display score
|
||||
canvas.DrawText(font, 92, 180, col, $"Score: {score}");
|
||||
canvas.DrawText(font, 92, 162, col, $"Score:");
|
||||
canvas.DrawText(font, 92, 180, col, score.ToString());
|
||||
|
||||
// Move Player down every few frames
|
||||
if (frameCount % 30 == 0 && collisionCheck(player.x, ++player.y, player.positions)) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user