SUBSHOT: program in CASIO BASIC

by sonone, May 3, 2022, 8:49 PM

SUBSHOT: Submarine Sinking Game
This is one of my earlier games inspired when I was learning projectile motion in physics. The object of the game is simple: sink as many subs as you can in ten shots. Depending on where you shoot determines how much damage the sub takes. The game methodology is as follows:
  • Draw board
  • Position gun
  • Fire gun and calculate hit
  • Update stats
The shooting mechanism is vector based. There is a pixel you can move around the screen that acts as the head of the initial velocity vector. The longer the vector the father it shoots etc. Using this information the program calculates the final location using 2D kinematics equations.

I have attached two pictures of what the game looks like on the calculator, one is the initial screen and the other is after the first shot.

The code is rather lengthy and not appealing to type out right now. If the code is asked for I will endeavor to type it up ASAP.
Attachments:

Function to turn a string into an int

by sonone, May 18, 2021, 12:35 PM

As requested by piphi here, I have made a function that turns a string into an integer (the default value is 0, if the string is not an integer).
int parse_int(string n) {
    int parse_digit(string n) {
        if (ascii(n) >= 48 && ascii(n) <= 57)
            return ascii(n) - 48;
        else
            return -1;
    } 
 
    bool is_int(string idk) {
        bool yes = true;
        string n;
 
        for (int i = 0; i < length(idk); ++i) {
            n = substr(idk, i, 1);
            if (parse_digit(n) == -1) {
                yes = false;
                break;
            }
        }
 
        return yes;
    }
 
    int multiplier = 1;
    int start_index = 0;
 
    if (substr(n,0,1) == "-") {
        multiplier = -1;
        start_index = 1;
    }
 
    if (is_int(n)) {
        int result = 0;
        for (int i = start_index; i < length(n); ++i) {
            result += parse_digit(substr(n,i,1))*10^(length(n) - i - 1);
          }
        return multiplier * result;
    }
    else {
        return 0;
    }
}
This post has been edited 1 time. Last edited by sonone, May 18, 2021, 12:37 PM
Reason: add link

Easy way to delete your post in another user's blog

by sonone, May 17, 2021, 6:57 PM

Here is a really easy way to delete your post in another user's blog.
Step 1: Inspect Element
Right click on the report button, and click "Inspect Element". h

Step 2: Locate line
There should be a highlighted line. Right click and do to "Edit", then click "HTML". h

Step 3: Edit HTML
Change "blog-report-post" to "blog-delete-post". h

Step 4: Click the "Report" button
Click out of the editing area and click "Repot". h

Step 5: Delete post
Click "OK" and POOF!, your post is gone. h
You can also edit a post in a similar fashion.
This post has been edited 1 time. Last edited by sonone, May 17, 2021, 7:00 PM

Old material is mostly Asymptote, new material is calculator programming

avatar

sonone
Archives
+ April 2023
+ August 2022
+ April 2021
+ August 2020
Shouts
Submit
  • I still exist as well.

    by G.G.Otto, Aug 11, 2023, 2:44 AM

  • hello I'm still here lol

    by player01, Aug 6, 2022, 6:24 PM

  • [REVIVAL] I will start posting more calculator relating posts very soon. Even though school has been busy, I have been programming my calculators a decent amount, so I have a lot to share...

    by sonone, Feb 18, 2022, 10:29 PM

  • wow its been like 2.5 years since geo class

    by pieMax2713, Feb 4, 2022, 8:38 PM

  • @violin21, I've been very busy with school lately and haven't been able to add another lesson. I will when i get a free moment

    by sonone, Aug 19, 2021, 12:45 AM

  • ORZ CODER

    by samrocksnature, Aug 9, 2021, 9:57 PM

  • Could you make more Asymptote lessons on your "How to do Asymptote" blog?

    by violin21, Aug 9, 2021, 7:26 PM

  • You can take it, just C&P the CSS into your CSS area

    by sonone, Apr 17, 2021, 10:08 PM

  • how can we take the CSS if we have permission to not take it?

    by GoogleNebula, Apr 17, 2021, 5:22 PM

  • That is awesome!

    by sonone, Apr 15, 2021, 10:09 PM

  • I modified your dodecahedron and got:
    [asy]
    import three;
    import solids;
    size(300);
    currentprojection=orthographic(0,1.3,1.2);
    light(0,5,10);

    real phi=(sqrt(6)+1)/3;
    real g=(phi-1)/2;
    real s=1/2;
    real a=sqrt(1-phi*phi/4-g*g)+phi/2;

    triple[] d;
    d[0]=(phi

    by Andrew2019, Mar 26, 2021, 12:15 AM

  • Not too many, just changing the color here and there. I really like your CSS!

    by sonone, Feb 2, 2021, 10:35 AM

  • Nice!

    I see you're making changes to the CSS. :)

    by G.G.Otto, Feb 1, 2021, 9:26 PM

  • I'm learning Java now!

    by sonone, Feb 1, 2021, 5:56 PM

  • And I took part of it from CaptainFlint and then added a ton of modifications. ;)

    by G.G.Otto, Dec 1, 2020, 8:56 AM

98 shouts
Tags
About Owner
  • Posts: 2106
  • Joined: Aug 20, 2016
Blog Stats
  • Blog created: Mar 28, 2020
  • Total entries: 61
  • Total visits: 4961
  • Total comments: 146
Search Blog
a