# What can I make with Snap!?

I'm sort of new from Scratch. I joined Snap! two years ago, and I'm returning from a long break. What are some interesting projects that I can make with Snap!? Is game design a good choice?

Game design is an easy choice, since you would probably come up with something to make really quickly. Coming up with a library of blocks is a bit harder, since you have to actually think of a good use for it.

TLDR: yeah, game design is a good choice.

Depends what excites you. I like to build system-y things (e.g., convert regular expressions to finite state machines) but that's not everyone's cup of tea.

You can look at the assignments in Glen Bull's media course, which are posted on the forum, as a source of ideas.

If you want to do my kind of project, there are many suggestions in my Computer Science Logo Style books online.

The other thing is to click "explore" on the community site, and check out the various categories of projects listed there.

1. If you are interested in art & music, here's a link to a sequence of activities:

https://maketolearn.org/creating-art-animations-and-music/

1. If you would like to see some of the activities that others have done, search on "Art & Music" in the forum:

1. If you are interested in arcade games, here are some games that were developed this spring:

The fun part about snap is well
You can really make anything you can imagine

What exactly do you mean by "[converting] regular expressions to finite state machines?" It sounds very interesting.

Have you used regular expressions in text searching? In an editor, you can say "search for ABC" or you can say "search for A*BCC*" which means to search for zero or more As, then one B, then one or more Cs. That's a regular expression.

Now, how does the editor actually search for such a thing? The regular expression is a declarative notation in which you say what you want, not how to find it. But any regular expression can be converted algorithmically to a finite state machine, which is a runnable notation, a sort of programming language. The "finite state" part means that it's a limited programming language, not Turing-equivalent.

Details: Automata theory chapter from Computer Science Logo Style.

Markup messed that up. Does escaping with backslashes work?
A*BCC*
Yes, it does.
BTW, C+ also means one or more Cs.

Thanks! Fixed.

Technically, bells and whistles such as + are part of extended REs. The official automata theory definition of a RE includes just sequencing (AB means first A then B), * for general looping, and | for OR.

Sorry. I don't really understand. What editor are you talking about? Also, how would you convert the expression?

Any editor. They all have search and search-and-replace features. And they mostly all accept regular expressions.

How you convert: It's a complicated algorithm. Read the chapter I linked.

Snap! has a search-and-replace feature?

Thatâ€™s something i suggested

Text editors - think Notepad++.

Sorry, Snap! isn't a text editor, even though the non-presentation-mode screen has "editor" in its name. It does have a kind of text search: if you type control-F you get a text box into which you can type a block name and it incrementally shows in the palette area all the blocks that match. But that's just text, not regular expressions, sadly.

I didn't realize you meant text editor. Oops.

Wait...how would you convert regular expressions to finite state machines in Snap!? Did I misunderstand that?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.