0
Résolu

Memory/match game?

Anita Sølver il y a 10 ans mis à jour par Alin Alexandru Matei il y a 10 ans 16
How do I make a memory game?

I have checked the forum, user guide and YouTube channel, and though all 3 has some info on the subject, none of it is complete.

The forum has a link to an app that can be downloaded, and I tried that, and got an error while trying to open it in IB.

The user guide has a partially written instruction on how to do it.

The YouTube channel has a video about masking, but it's not really helpful in understanding the basics of how to do it, other than how to use a mask.

So, is there a guide or testapp somewhere, that will work with IB3, or can someone explain how to do it?

Any help will be most welcome :)

Solution

Solution
Résolu
The difference between match game and a memory game is that on the memory game all the elements are covered, so you will need additional mask/maskoff behaviors for it. I've attached to this post a sample app with two pages: page 1 a match game and page 2 a memory game. Let us know if you have any other questions regarding memory/match game. 
104 - Match Game.zip
À l'étude
We'll create a sample app for this and will post it to this topic.
Great! Can't wait to check it out :)
Additional question; Will a memory game have somewhat the same action set as a "find this"-game?

Example:
10 items is shown on the stage.
10 text-elements is being shown one at the time, and the user will have to find the image that matches the text.

Or should I make another topic for this?
Solution
Résolu
The difference between match game and a memory game is that on the memory game all the elements are covered, so you will need additional mask/maskoff behaviors for it. I've attached to this post a sample app with two pages: page 1 a match game and page 2 a memory game. Let us know if you have any other questions regarding memory/match game. 
104 - Match Game.zip
I have copied the unzipped folder into the games folder in the Interact Builder folder, but I am getting an error when I try to go to Interact. Should I do something specific, to be able to access it, other than place it in the folder? 
What version of Interact Builder are you using?
Version 3.3
Is there a newer version I should be using?
I couldn't copy the error when trying to going to Interact, but I got an error, when trying to go to the next page too, and this error I could copy:

InteractBuilder Version: 3.3 Build 325
Device: iMac
Processor: Intel Core 2 Duo
Memory: 4 GB
System: 10.9.1

--------------------
An error occurred while accessing the database.

An error occurred while accessing the database.

near "WHERE": syntax error
Query: open

line 2 of handler "mouseUp" of button "NextPage" of group "ElementBar" of card "Design" of stack "InteractBuilder"
line 1326 of handler "DoButton" of card "Design" of stack "InteractBuilder" of behavior button "DesignCd B" of group "Card Behaviors" of card id 1002 of stack "Behaviors"
line 3575 of handler "GoPage" of stack "InteractBuilder" of behavior button "Stack B" of card id 1002 of stack "Behaviors"
line 5366 of handler "SavePageElements" of stack "InteractBuilder" of behavior button "Stack B" of card id 1002 of stack "Behaviors"
line 6093 of handler "CheckDBErr" of stack "libApp" of stack "libApp"
line 14245 of handler "DoError" of stack "InteractBuilder" of behavior button "Stack B" of card id 1002 of stack "Behaviors"
Another error (while opening the app this time):

InteractBuilder Version: 3.3 Build 325
Device: iMac
Processor: Intel Core 2 Duo
Memory: 4 GB
System: 10.9.1

--------------------
An error occurred while accessing the database.

An error occurred while accessing the database.

near "WHERE": syntax error
Query: open

line 14552 of handler "SavePage" of stack "InteractBuilder" of behavior button "Stack B" of card id 1002 of stack "Behaviors"
line 5366 of handler "SavePageElements" of stack "InteractBuilder" of behavior button "Stack B" of card id 1002 of stack "Behaviors"
line 6093 of handler "CheckDBErr" of stack "libApp" of stack "libApp"
line 14245 of handler "DoError" of stack "InteractBuilder" of behavior button "Stack B" of card id 1002 of stack "Behaviors"
Sorry I was using a different version of interact builder. This is the correct link for the sample app for memory and match game:
100 - Memory game.zip
It's working without error in the app itself.
But the actions must have some error for the match game.

To make the error happen:

Click 1 + 2 = Not
Click 1 + 2pair = nothing happens
Click 1 + 3 = Not
Click 1 + 4pair = nothing happens
Click 1 + 1pair = Not
Click 1 + 1pair a number of times = nothing happens

Continue to try to match them all. I can't make the 1's go away, for some reason.

If I click all the pair as they should be matched, it works fine, but that's not the nature of this game ;)

The memory game seems to work fine, thank you :)



That bug will be fixed in the a future version of the builder.
We are working on our new documentation, here is a link to instructions on creating a memory game.  The bug you mentioned will be fixed in version 3.4 which is coming out this week.

http://interactbuilder.screenstepslive.com/s/5404/...

Ah, that sounds great, Alin and Ezra :D
Love the look of the new documentation.

I'll get my hands dirty, and see if I can make it work with my own game.
Thank you so much for all your help with this. I'm sure a lot of people will enjoy the documentation and the test app as well. Your support is really excellent!

I still have questions about the match game though. Should I take these to another thread, since it's a bit more complicated than the matchgame shown in the app?

In fact, it's a series of question all related to the same game, but with different action sets that does very different things? Like timer, show/hide, conditional actions and so on... Not sure if you prefer questions together, when the topics are different action set?

Of course, before I ask anymore, I will check out the new documentation. Maybe the answers I am looking for are all there. I have checked all I could with your YouTube channel, user guide, FAQ and forums, but I seem to be hitting weird topics, that I can't find much info about ;)

Please advice if you prefer questions separated after all issues I have with one game, or each action set type alone?

I have tried to follow the tutorial, and now I get this error, when going to the Interact tab. I have restarted the program, and it's still the same:

InteractBuilder Version: 3.3 Build 325
Device: iMac
Processor: Intel Core 2 Duo
Memory: 4 GB
System: 10.9.1

--------------------
InteractBuilder Version: 3.3 Build 325
Device: iMac
Processor: Intel Core 2 Duo
Memory: 4 GB
System: 10.9.1

--------------------
An application error occurred while attempting to perform the last action.

Restarting InteractBuilder is recommended.

An application error occurred while attempting to perform the last action.

Restarting InteractBuilder is recommended.

Error: baseConvert: can't convert this number / param: error in expression / format: bad format string or parameter mismatch / Operators &: error in right operand / put: error in expression
Handler: _Behavior_Do
Hint:
Location: Line 3348, char 42
Object: button id 1008 of group id 1010 of card id 1002 of stack "Behaviors" of stack "/Applications/InteractBuilder.app/Contents/MacOS/Local Components/Data/InteractBuilder.livecode"

42: Line 3348 at char 42: baseConvert: can't convert this number
380: Line 3348 at char 42: param: error in expression
218: Line 3348 at char 27: format: bad format string or parameter mismatch
119: Line 3348 at char 23: Operators &: error in right operand
465: Line 3348 at char 1: put: error in expression
587: Line 3202 at char 1: switch: error in statement
253: Line 3172 at char 1: if-then: error in statement
253: Line 3169 at char 1: if-then: error in statement
253: Line 3095 at char 1: if-then: error in statement
241: Line 3095 at char 1: Handler: error in statement ----> _Behavior_Do
353: Line 0 at char 0: Object Name: ----> button id 1008 of group id 1010 of card id 1002 of stack "Behaviors" of stack "/Applications/InteractBuilder.app/Contents/MacOS/Local Components/Data/InteractBuilder.livecode"


line 150 of handler "errorDialog" of button "stsErrors_FS" of card id 1002 of stack "libSTSErrors"
line 14245 of handler "DoError" of stack "InteractBuilder" of behavior button "Stack B" of card id 1002 of stack "Behaviors"
I removed the actions one by one, and got the error all the way to the first action (MaskOn), so deleted that too, and then it could go to interact, without problems.

So I decided to delete the mask card, and try to insert it again, and then it works. Really weird, but I must have had something  clicked on the other card, that made this error occur.

So, I'll just try again :D
Hi Alin,
I wanted to use your Memory Game sample you posted above, but when open this the following message that comes up when I try to move to the second page:  Would you please check this and see if you can re-post, I really need help with the memory game.  Thanks.  Ann

InteractBuilder Version: 3.3 Build 325
Device: 4313CTO
Processor: 1 Processor(s) Installed.
[01]: Intel64 Family 6 Model 37 Stepping 5 GenuineIntel ~2640 Mhz
Memory: 3,956 MB
System: NT 6.1
--------------------
An error occurred while accessing the database.
An error occurred while accessing the database.
near "WHERE": syntax error
Query: open
line 2 of handler "mouseUp" of button "NextPage" of group "ElementBar" of card "Design" of stack "InteractBuilder"
line 1326 of handler "DoButton" of card "Design" of stack "InteractBuilder" of behavior button "DesignCd B" of group "Card Behaviors" of card id 1002 of stack "Behaviors"
line 3575 of handler "GoPage" of stack "InteractBuilder" of behavior button "Stack B" of card id 1002 of stack "Behaviors"
line 5366 of handler "SavePageElements" of stack "InteractBuilder" of behavior button "Stack B" of card id 1002 of stack "Behaviors"
line 6093 of handler "CheckDBErr" of stack "libApp" of stack "libApp"
line 14245 of handler "DoError" of stack "InteractBuilder" of behavior button "Stack B" of card id 1002 of stack "Behaviors"