Git Product home page Git Product logo

flower-time's Introduction

User Stories

  • As a player, I would like to see my previous guesses on the screen, so that I know what letters I have used.
  • As a player, I would like to see the amount of letters needed for the word, so that I know the size of the word I am guessing.
  • As a player, I would like to see how the flower is changing, so that I know if I am doing well or not.
  • As a player, I would like to choose a category of words, so that I can pick my strengths or more of a challenge.
  • As a player, I would like to choose difficulty levels, so that I can guess harder words.
  • As a player, I would like to see how many games I have won, so that I can keep track of my high score.
  • As a player, I would like to be able to see how many game I have lost, so that I know if I am improving.
  • As a player, I would like a congratulations screen, so that I feel more accomplished.
  • As a player, I would like a losing screen, so that I know that I need to try again.
  • As a player, I would like to be able to reset the game, so that I can start over or pick something easier.
  • As a player, I would like to be presented the rules, so that I know how to play.
  • As a player, I would like to know how many times I can get my guesses wrong, so that I know how careful I need to be.
  • As a player, I would like to customize my flower, so that the games feel more personal.

Project Wireframe

Flower time wireframe

MVP Goals

  • Show the game screen โˆš
  • Show the player how many letters are in the word
  • Present the rules
  • Display the flower's creation progress
  • Display previous guesses
  • Display correct guesses as they form the word
  • Display a 'Winning message' when the player wins
  • Display a 'Losing message' when the player loses
  • Do not allow the player to guess the same letter twice.
  • Create a reset / game start button

Bronze Stretch Goals

  • Make the background color customizable
  • Make the flower customizable
  • Keep count of how many wins / losses
  • Make the winning screen animated
  • Make the losing screen animated
  • Show how many chances the player has left before a loss
  • Be able to share the game with friends

Silver Stretch Goals

  • Choose word categories / difficulty level
  • Make the flower animated on a win or a loss

Gold Stretch Goals

  • Play against a computer
  • Show different flower animations

List of Technologies Used

  • HTML5
  • CSS3
  • Javascript
  • DOM

Working App Screenshots

  • Flower Time screenshot 2
  • Flower Time screenshot 1

Unsolved problems / Major Hurdles

  • I did not manage to make the word choices dynamic. I have plans on how to fix this, but I just ran out of time.
  • One major hurdle and a proud moment for me was creating the makeUnderScore() function. When I typed it out and it worked, the moment the logic clicked I had felt I made the perfect function for what I was looking for and it felt great. The underscore issue gave me toruble for the first part of my assignment, and I made a good function that works dynamically.
  • A second hurdle that I crossed, was designing the flower with CSS. I hadn't really worked with CSS shapes before but I figured it out and made something I am really proud of. It fits perfect with the design and the extra costumes were an added bonus.

Installation Instructions

  • Clone this repository.
  • Open HTML in a web browser or Live Server using a text editor.

Credits

flower-time's People

Contributors

gabrielpompa1 avatar

Watchers

 avatar

flower-time's Issues

Project 1 Feedback

Project 1 Feedback

Code Quality - Performing

Criteria: Is the code well formatted? Are variable and function names semantic and sensible? Is the code easy to read and understand?

Strengths:

  • Code is well-formatted with semantic and sensible naming throughout. No console.logs observed.
  • Code is easy to read and understand.
  • HTML and CSS both pass validators with no errors or major warnings! ๐Ÿ’ช
  • I really like how your JS code is organized into sections and clearly labeled with good use of commenting !

Areas for Growth:

  • There are some instances of commented-out code in your JS file. Be sure to remove those from deployed code in the future!
  • One area to focus on would be DRY-ing up your JS code. For instance, how could you make your submitGuess function more dynamic, so that it accepts the input value and checks to see if it's anywhere in the word, rather than checking each letter one at a time?
  • The HTML looks pretty good in terms of using semantic elements, such as using button elements appropriately, but there is always room to grow! There are a lot of div elements, some of which are super handy for your CSS art, but consider using HTML elements that provide a clue as to their function on the page, such as section. Here's a great quick guide to semantic HTML elements.

Technical Requirements - Performing

Criteria: How does the project stack up to the requirements for this project? Is the developer making use of the material we've covered in a way that makes sense?

Strengths:

  • Your application meets all the technical requirements listed below! The app renders in the browser and no errors were observed in the console. Nice job getting your app deployed to GH Pages, and also having a VERY extensive history of commits dating back to the start of your project.
  • Great job making use of Git Branches to work on code without affecting the main branch -- this will keep you from having to worry about breaking the working code, and is a useful development practice to continue.
  • Amazing job using CSS to illustrate the game play! I'm really impressed.

Areas for Growth:

  • GitHub repo shows an extensive history of commits, but work on the consistency of your commit message formatting. The standard is usually 'present-tense verb + description of what was done' for each and every commit. For example, 'Add styling to gameboard container' or 'Refactor API call'.ย This is my favorite article on how to write good commit messages and why it's an important focus for developers.

Creativity and Interface - Performing

Criteria: Is the application easy to navigate? Does it work well in every major browser? Is it responsive? Does it incorporate modern UI Themes?

Strengths:

  • App is very easy to navigate and use. It renders great in Chrome and Safari.
  • The UI is so charming, well-designed and mobile-friendly! Nice color scheme and engaging graphics. The flower's face after a wrong guess gets me every time!!!
  • Great job using DOM manipulation to deliver user feedback rather than alerts.

Areas for Growth

  • For the game instructions, go back and revisit how to implement that modal! That would be a much more polished way to convey instructions rather than the alert.
  • Add a favicon to your site to round out the UI and eliminate the 404 error. This is my favorite site for quickly designing and generating favicons.
  • Consider adding CSS reset code to remove browsers' default styles. This will make your app look more consistent across different browsers.

Functionality - Performing

Criteria: Does the application work without errors or bugs? Does it present a complete app, where every feature is fully implemented in a way that makes sense?

Strengths:

  • The application works without any major errors or bugs.
  • Application presents a complete game, with a clear beginning, middle, and end, as well as user feedback and the option to start over.
  • Game reset does not manually refresh the page -- instead, DOM manipulation allows the user to start over.

Areas for Growth:

  • The only bug I noticed is that users can enter the same letter repeatedly and lose the game. How could you add to the code so that the user can't select the same letter multiple times?
  • I'm sure you got really close to making the mystery word dynamic and enterable by the user. Keep working on that and let me know if/how I can help!
  • I loved your other ideas for stretch goals and have full faith that you can build those out!

Presentation - Performing

Criteria: Is there adequate documentation? Is the repository well organized and free of clutter?

Strengths:

  • The README.md looks great! It includes your screenshot, technologies used, installation instructions, wireframes, challenges, and user stories.
  • Nice job using the GH Projects board to organize your tasks for the sprint!

Areas for Growth:

  • Consider organizing your images into their own image file to cut down on clutter in the repo. Alternatively, host the files on a service like imgur and use URLs for your image source. That will also cut down on the size of this repository, which was a bit hefty.
  • Add your deployed URL to the About section of your GH repo:

Project Checklist: (Almost) Complete

  • A game, built by you, hosted on Github Pages
  • Your HTML/CSS should pass the HTML5 Validator and CSS Validator
  • Your JavaScript should be cleanly formatted (use Prettier!) and not contain any console.logs (you can search for them with command + F [or ctrl + F on Windows/Ubuntu] and then remove them or comment them out).
  • A git repository hosted on Github with frequent commits dating back to the very beginning of the project (at least one commit is required per day of the project).
  • A README.md file that includes the following sections:
    • An embedded screenshot of the app
    • List of the Technologies used
    • Installation instructions
    • Your User stories โ€“ who are your users, what do they want and why?
    • Your Wireframes โ€“ sketches of major views / interfaces in your application
    • Descriptions of any Unsolved problems or major hurdles you had to overcome
  • A link to your hosted project in the URL section of your Github repo. โŒ This is a quick fix, see above!

Grade: Pass ๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰

Gabriel, amazing work on this project! This is truly one of the most visually and artistically creative projects I've seen, and it always delights me when students really dive into CSS. Your code looks great as well, but definitely work on making your JS DRY-er and more dynamic, and getting that user-generated word functionality in place. I'm proud of everything you achieved in a very short sprint -- thank you for all your hard work and dedication to this class. Can't wait to see what you do next for Project 2!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.