You are on page 1of 1

Nic Guerrero

Madison Krenzel
Megan Nicoski
Dalton Sherratt
COM S 309 Fall 2019

Project Description: User Interfaces


CyPuzzle is an app designed for entertainment. Users can relax and • Puzzle Selection
enjoy putting together puzzles of varying difficulties at their Users can choose the difficulty level and then select the
leisure. They may also add friends, chat with those friends, create puzzle they wish to complete
their own puzzles, and strive to set speed records on the • Leaderboard
leaderboard. Users can select a difficulty level and view which users
Users: have set speed records for puzzles of that difficulty
• Regular user • Friends List
Put together puzzles Users can view their friends
Set leaderboard records • Add Friend
Add friends and chat with them Users can add new friends
Import image for puzzle • Puzzle Creation
• Administrators Users can upload files that are turned into puzzles
Add new puzzles
• Moderators
Edit any data (i.e. change
the leaderboard)

Team Info: BS_06


Nic Guerrero — Com S (Sr)
Module Interfaces: Madison Krenzel- Math+Com S (Sr)
Megan Nicoski — Com S/English (Soph)
private void setPicFromAsset(String assetName, ImageView imageView)
Block Diagram
Method to set puzzle image from an asset
private ArrayList<PuzzlePiece> divideImage()
Dalton Sherratt — CPRE (Sr)
This method divides the image into 12 puzzle pieces then draws the edges for the pieces

What went wrong:


the edge drawing should ideally be moved into the PuzzlePiece class for modularity
private int[] getBmpPosInsideImageView(ImageView imageView)
This method finds position of piece and scales it to size of a .img file
public float checkGameOver()
private void setPicFromPhotoPath(String mCurrentPhotoPath, ImageView imageView)
• People frequently sick
Method to set puzzle image from photo path • Issues with GitHub going down
private void getEasy()
This method performs a get volley call to load the leaderboard inputs for easy puzzles
private void getMedium()
This method performs a get volley call to load the leaderboard inputs for medium puzzles
private void getHard()
This method performs a get volley call to load the leaderboard inputs for hard puzzles What went right:
public void volley()
This method uses a get volley call to load in a user's friends list • Started working early
public void addFriend(int friendID)
This method uses a put volley call to add a friend by username
• Strong communication between team members

Design Decisions: Lessons Learned:


• Use web sockets for chat • Starting early is helpful when issues arise
• Store friendships in their own table, linking together two user IDs • Figuring out the design before writing code helps prevent
• Store completion times for puzzles in the PuzzleResults table issues later
Screenshots

You might also like