I'm listing a few options that you can choose to do as a project for the last assignment.
If you have been doing a ray-tracer, this is fairly simple. You will make your shapes polymorphic. This means that you will have a supertype for a general shape and then you will have subtypes that inherit from it for the different kinds of shapes. Make your code work with that. If you want to add something interesting, put in a type other than a sphere and a plane as another subtype. I recommend that your supertype for shapes has at least one method that does the intersection with a Ray and another method that tells you the normal direction at a particular point.
Write a basic graphic game that uses inheritance. You are allowed and encouraged to build off of what we have written in class. You must include at least two new subtypes of BThing and change the appearance. For example, you could make a Player that is a BThing that moves around and shoots and have a second enemy. You could also have two new enemy types, power-ups, etc.
To turn these projects in, zip up your whole project directory and submit that using the assignment submission page. Go into the project directory (called something like cs1-starter-*) and type the following can do something like this:
zip -r assn4.zip src build.sbt project
That will recursively zip all the contents of the current directory into a file called assn4.zip. Then you can submit that one file.