The Art of Concatenation: Credits to @Zypheir and @Blackhole927- Difficulty 7.5/10 or 🟧

Thank you so much! This is EXACTLY what I needed! I would show you what I could use concatenation for, but it was in the post…

6 Likes

hmmm… but how would you do the greater or equal?

7 Likes

I guess I’ll try to research this more…

7 Likes

Someone should try and simplify the Fishtopia blocks with this

4 Likes

too bad it doesn’t work for greater or equal, so right now im thinking of ways to help

7 Likes

The pattern here is pretty much the same thing, but in increments of 100 - you can use math blocks to divide by 100 and make it a unit increment of 1.

The only problem is that rounding up (ceiling function) is only used to find whole/integer numbers, so setting ‘crateproperty’ to 0 will result in the message ‘seed0’ being sent… you could add an extra if-else statement to account for that or just change your program to work with that message, I suppose, but it’s something that you might need to fix one way or another.

17 Likes

Good Idea!
Can I use that image?
Unfortunately, in increments, it works, but if you have uneven rarities, then it doesn’t work.

6 Likes

thanks! i might try it with the interger set 1-1500 so that that doesn’t happen! thx so much

5 Likes

This is really useful to know! It’s nice to see more and more things be discovered about how to use creative more effectively! Great guide!

5 Likes

@Zypheir, is there a quicker way to code multiple exceptions to a concatenation? I am trying to make Monopoly, and I made a popup that appears when you run out of an item while in a zone space, and it shows the name and price of the space, and an option to buy or not. The problem arises when all the spaces are not the same, like the community chest. How would I code in all of these exceptions, and is there a way to change the call to action buttons based on in-game conditions?

1 Like

I, uh… I’m not quite sure how to conceptualize that. I’m going to try and make a simple version myself in order to test it, but is there any particular pattern that your game uses that can make the concatenation process easier (some spaces are different than others, but still follow certain placement rules)?

3 Likes

Okay. Imagine the basic Monopoly board. I had two properties (read: variables) per space: the cost, and the name. I used concatenation to simplify the code for pulling the two property indexes when you stopped on a space. However, if you’ve seen the Monopoly board, there are random different spaces everywhere. Is there a way to simplify the code without going full _____Land?

2 Likes

The idea behind concatenation is to use existing patterns to simplify a segment of code that references every individual possibility - unfortunately this only works in rather specific situations, and random distribution tends to ruin any chances that you might’ve had to reference those things reliably (think of it as a way for the computer to make decisions based on what it knows - if the program knows that certain things are always going to be in certain places, it can use shortcuts to skip past redundant evaluations… but if it doesn’t already know which space contains which square, it isn’t going to be able to use those shortcuts to skip ahead and end up making the correct decision). There might be a way to do it by storing certain information (like the number and/or name of the tile that the player is currently on) in properties and then using those properties in the concatenation, but I haven’t really tested this yet so I can’t be sure that it works as intended.

If it does work, though, it would do something like this: the player moves around the board a certain number of spaces and ends up on a certain tile. Something representing the specific type of the tile (can be a number, name, shorthand text bit - anything you and the program can identify as belonging to that certain tile) is stored in a property. Inside your program, blocks are used to decide how much money the player has to pay… and one way or another, you use that number to perform some sort of mathematical operation that results in a value related to the tile’s identity (which the program now knows).

What you would most likely need to do here is set that property to something reflecting the cost (would probably only work if a specific tile always has a specific cost). That being said, it would probably just be faster to run another process that is connected to that tile and sets a cost value when activated… I’ll try and test something like that out when I figure out how to make it work.

tl;dr there isn’t any easy solution, and there isn’t a way to do it at all without certain patterns that you can have the program reference

11 Likes

This is helpful, I just need to add another row to my property spreadsheet

3 Likes
Should I make a Monopoly guide?
  • Yea
  • Nah

0 voters

7 Likes

i don’t actually know how to play monopoly :skull:

6 Likes

This is bad…

Monopoly is going to take forever to make, let alone write about.

2 Likes

I thought you deleted the map- are you starting over?

4 Likes

dunno why im “tracking” this post
i dont even kno wat dis post is about

1 Like

Read it then- it’s super useful for repeated sections of code

3 Likes