GithubHelp home page GithubHelp logo

Classic Values's Projects

oneview-puppet icon oneview-puppet

This project is no longer being developed and has limited support. In the near future this repository will be fully deprecated. Please consider using other OneView projects, such as Terraform and Ansible Collection

oneview-redfish-toolkit icon oneview-redfish-toolkit

HPE OneView Redfish Toolkit provides a REST service to answer DMTF's Redfish compliant requests by querying HPE OneView

oneview-sdk-ruby icon oneview-sdk-ruby

This project is no longer being developed and has limited support. In the near future this repository will be fully deprecated. Please consider using other OneView projects, such as Golang and Python.

onnxruntime icon onnxruntime

ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator

oosw-project2- icon oosw-project2-

Project 2: Space Invader - enhanced features and utilizing design patterns For this project, students are allowed to do pair-programming but are not required. Thus, students can choose to do project 2 either individually or pair-programming. For details of pair-programming, refer to Pair Programming The pair-programming team has an additional requirement specified in "E. Additional Requirement of Pair-programming Team" A. Overview of Program Requirements Your code must be based on Lesson 7. No credits will be given if your code is not based on Lesson 7. The key structures of Lesson 7 student should keep include (but is not limited to): The way Java GUI window is created and initialized. Use of Java GUI other than Swing (with some AWT) is not allowed. I.e., the use of JavaFX is not allowed. The use of MVC architecture: Separation codes among model, view, controller functions. The use of MyCanvas to render graphics: paintComponent() method in JPanel class represents a canvas for drawing The use of the game loop: Events of Timer provides the periodic loop to update canvas rendering and collision processing Add more features to make a better Space Invader game. Add more functionality to the gameplay. Visual changes using graphic images or adding sound effects are not counted for credits. E.g., the use of graphic image files to represent the enemy is not counted for credits. However, you may do it for your own interests. Implement 3 design patterns in the project B. Required Features to Add The enemies The enemy array goes down by 20 pixels (ENEYMY_SIZE) whenever it changes direction (hits the side walls). When an enemy reaches the bottom, the game ends (showing game over screen) Game Score and Game over Score: 10 points every time an enemy is destroyed. Display the live score updates. "You Won" if all enemies are destroyed "You Lost" if (1) one of the enemies reaches the bottom or (2) the shooter is hit 4 times by bombs - all 4 squares of the shooter get destroyed. When the game ends, the game over message ("You Won" or "You Lost") with "score: XXX" must be displayed on the canvas. The shooter As a bomb hits one of the four squares, the corresponding square is destroyed and disappears from the game scene. When all four squares are destroyed, the game ends C. Add Your Own Ideas Add your own creative ideas to enhance the functionality of the gameplay Note: Graphic image changes or adding sound effects including background music will not be counted for credits. Credits will be given as you add new features to the gameplay, and the amount of the credits will be determined by the complexity of implementation. You may borrow ideas from the original space invader game or you may add your own ideas to make the game more fun D. Implement 3 Design Patterns (1) Strategy pattern, (2) Observer pattern, (3) An additional design pattern (other than Strategy and Observer). The third design pattern must be from one of the patterns learned in Lesson 5. If not, it is not counted for credits. i.e., the third design pattern should be one of these: State, Decorator, or Builder You should implement yourself ALL participants in the corresponding design pattern. Utilizing Java libraries is not counted as an implementation requirement (e.g., the use of JButton event listener as observer design pattern). E. Additional Requirement of Pair-programming Team Implement one more design pattern (the fourth design pattern) from the ones learned in Lesson 5. Two implementations of the same design pattern is not counted. E.g., implementing Observer pattern in two places is not counted. The same requirements in item "D" apply Video Presentation Requirements Video 1: Show running program demo that you've completed "B. Required Features" Video 2: Show running program demo about "C. Your Own Ideas" Video 3: Show you've correctly implemented the Strategy pattern as follows: From running program, indicate where the Strategy pattern is utilized Show and explain the UML diagram for your implementation of the Strategy pattern Students should mannually draw UML diagrams by a software tool such as draw.io web site The use of automatic UML generator tool is NOT allowed (No credits if violated). Include classes only if they are participants of the Strategy pattern (No credits if other classes are included) In Class UML, show member variables/methods only if they are relevant to the Strategy pattern (No credits if unrelated members are included) Show and explain the source code to prove the Strategy pattern is correctly implemented Explain how your implementation meets (1) the intent of the design pattern and (2) the responsibility of each participant in the design pattern You may not get credits if your explanation is not correct. Video 4: The same as Video 3 but this is for the Observer pattern Video 5: The same as Video 3 but this is for an additional (third) design pattern Video 6 (only for the pair-programming team): The same as Video 3 but this is for the fourth design pattern. Max video length: Each video should not be longer than 4 minutes. Refer to the submission instructions below as to the places you should submit the video links. Submission Program code Download from GitHub and submit the zip file to Project2 Video presentation Post the URLs of Videos 1 and 2 at the corresponding Student Video Presentation forum (i.e., Videos 1 and 2 are disclosed to all students) Paste the URLs of Videos 3, 4, 5, (6 if pair programming) in the "Comments" box of the Program submission page (i.e., Videos 3,4,5,6 are not disclosed to students) Note: D2L keeps only the last submission if you submit multiple times. If you submit again, you should submit everything again together. E.g., submitting the code only or submitting the revised URL only is not allowed. Grading Program code and ALL videos should be submitted to get credits. If a video is not submitted, zero points will be given for the corresponding part. In videos 3,4,5,6, incorrect explanation of the design pattern implementation will cause significant penalty. Points allocation: Total of 220 points 60 points for "B. Required Features" 70 points for "C. Your Own Ideas" 90 points for "D. Design Patterns"; 30 points for each design pattern (22.5 points for each pattern if pair-programming)

oot icon oot

A decompilation of Ocarina of Time: Master Quest (debug) brought to you by a bunch of clever folks. This is an old repo. Active development has moved to https://github.com/zeldaret/oot

opacus icon opacus

Training PyTorch models with differential privacy

open-data-smn icon open-data-smn

An API to serve publicly available data from the SwissMetNet in 10min intervals

open-match icon open-match

Flexible, extensible, and scalable video game matchmaking.

open-source-search-engine icon open-source-search-engine

Nov 20 2017 -- A distributed open source search engine and spider/crawler written in C/C++ for Linux on Intel/AMD. From gigablast dot com, which has binaries for download. See the README.md file at the very bottom of this page for instructions.

openai-gemm icon openai-gemm

Open single and half precision gemm implementations

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.