In Japan, there is a game called "Shiritori" where 2 or more people try to chain together words by grabbing the last letter of the word that the previous person said and using it as the first letter of the word that you say. We realized that despite the fact that we had played "Shiritori" so many times growing up, we never played it in English. Because of this, we decided to create our own English version of "Shiritori" and include features that we thought would be fun to have in an app.
What it does
The essence of the app remains the same as "Shiritori". You take the last letter of the baseWord and try to come up with a new word that starts with it. For example, you can chain together words like this: apple -> elk -> king kong -> godzilla -> apricot ... We had to levels- beginner and advanced. The beginner level was catered towards young people like our 4-year-old younger sister. The advanced level gives the user more freedom. We made a random word generator that gives you a random word to use as the baseWord and then you have to use your own creativity to chain together as many words as possible within 10 seconds.
How we built it
We used XCode and Swift to make the app.
Challenges we ran into
Ironically, the beginner level gave us much more trouble when we coding the app. The first challenge we ran into was how some images were not showing up at all. To fix this, we had to go through all 40 individual images ourselves, since the computer wouldn't tell us which images were showing up as empty space. The next challenge we ran into was how some images were looping through each other infinitely - octopus -> sun -> naruto -> octopus ... To fix this, we had to first add more images for each letter and brainstorm words that did not loop through common letters so instead of octopus, we settled with ox. Lastly, an issue we ran into was how there were so many variables we had to take care of - UIImageView for all four images, the image itself for all four images, and the names of all four images. This made it incredibly confusing and interwoven when we were writing the code. We didn't really have a solution to this other than being very very careful when writing out the code.
Accomplishments that we're proud of
We are all very much beginners when it comes to XCode and Swift. The way that we were able to create a functioning app like this is something we are very proud of. Another thing we are proud of was being able to see the parallel of Swift with other languages we are comfortable with like Java. We were able to incorporate concepts we knew from Java like if-else if-else blocks, while loops, and randomly choosing elements to make the coding process more enjoyable and make the app more intricate.
What we learned
Every new function we attempted to add into our app was a learning process for us. For example, passing data between view controllers and representing a data set with arrays was something new to us in swift.
What's next for CHAIN IT
"Shiritori" the base game is multiplayer by nature. Although our app allows users to exercise their mental flexibility, we know it would be much more fun if players could chain together words with their friends instead of chaining words by themselves. Another feature we hope to add are themes. Adding restrictions to the types of words that people can use to, for example, fruits or animals, the difficulty of the game increases by a lot.