Panepon Remake - Detecting Pieces in a Row

I’m remaking the SNES game Panel de Pon in Flowlab (known as Tetris Attack elsewhere), and I’m trying to come up with a system that detects three or more blocks of the same color placed in a row so that they can be destroyed to clear room for the new pieces at the bottom. All the ideas that I’ve come up with in the past are too laggy on paper, since I had experience with my Tetris remake Tebris.

Does anyone have ideas on how to make an efficient block-clearing system that maintains the speed and precision of the original game?

Thanks in advance.

1 Like

I love tetris attack, I played both versions since it was re-skinned with Yoshi when released nationally. Good luck, I plan to make my own normal Tetris on here soon. It may be advance but I suggest using a number list that is turned into a 2D list with expression math that lets you check and change each index.

I have explained it here:
I Tried making a 2-dimensional list - #4 by JR01.

1 Like

Hey, thanks for the reply!

Unfortunately, I’m very lost on how to use the concepts from your example for my game, seeing as Tebris was made primarily with proximity checks and attached objects, which are definitely somewhat primitive ways to check when working with a grid. I know you likely don’t have the time to give me a lecture on how everything works, but I would appreciate it if I got a point of reference to work off of when researching this 2D list idea.

Here’s what I have so far for my game, if you want an idea of how things are going.

Your help is much appreciated!

It can be confusing, even in code, that example just mostly shows how that math formulas work with the idea. Here’s a more visual example of turning a list into a table (2d list).

Tetris Example

In Tetris, the board is a grid that’s 10x20 (200 positions). We can have a list of 200 values to represent its position. With the width of 10, we can use math to use a single list as if it is a table (2d list).

0 0 0 0 0 0 0 0 0 0
0 0 0 0 7 0 0 0 0 0
0 0 0 7 7 7 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
3 3 3 0 0 0 0 0 0 0
3 5 5 0 6 6 0 0 0 0
5 5 0 0 2 6 6 0 4 4
1 1 1 1 2 2 2 0 4 4