<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Greenfoot Discuss</title>
    <link>https://greenfoot.org/topics</link>
    <description>The latest Greenfoot discussion posts</description>
    <language>en-us</language>
    <item>
      <title>Reply to Pulling the Code for my Game</title>
      <description>&lt;div class="bb_quote"&gt;&lt;div class="bb_quote_header"&gt;HaloToxin wrote...&lt;/div&gt;Hi there! I&amp;amp;#39;m coming back to Greenfoot after 13 years to try to get my game IceFisher to a working state, and I wanted to see if I could pull the project from the site down to my local. Is there a way that I can do that?&lt;/div&gt;You apparently made the code available when you uploaded the scenario.  Just go to the scenario page and click on the big green link (under your user image) that says &amp;amp;quot;Open in Greenfoot&amp;amp;quot;.  Move the downloaded folder to your &amp;amp;#39;scenarios&amp;amp;#39; folder, open greenfoot app and select it (the downloaded folder) to open.  Your original scenario folder should then be restored with all its codes.</description>
      <author>danpost</author>
      <pubDate>Mon, 23 Mar 2026 15:35:54 +0000</pubDate>
      <link>https://greenfoot.org/topics/66648?pid=150955#post_150955</link>
    </item>
    <item>
      <title>Reply to Pulling the Code for my Game</title>
      <description>Hi there! I&amp;amp;#39;m coming back to Greenfoot after 13 years to try to get my game IceFisher to a working state, and I wanted to see if I could pull the project from the site down to my local. Is there a way that I can do that?</description>
      <author>HaloToxin</author>
      <pubDate>Mon, 23 Mar 2026 13:58:09 +0000</pubDate>
      <link>https://greenfoot.org/topics/66648?pid=150954#post_150954</link>
    </item>
    <item>
      <title>Reply to How do i make it so the player kepts their horizontal velocity when they were moving on the ground, but cant change horizontal velocity midair?</title>
      <description>&lt;div class="bb_quote"&gt;&lt;div class="bb_quote_header"&gt;JosukeHigashikata wrote...&lt;/div&gt;
I did try that, but it didnt work and im not sure what is wrong
heres my code for the characters:
&amp;amp;lt;&amp;amp;lt; Codes Omitted &amp;amp;gt;&amp;amp;gt;&lt;/div&gt;Maybe you should take a look at the codes in my &lt;a href="https://www.greenfoot.org/scenarios/11302"&gt;Jump and Run Demo w/Moving Platform&lt;/a&gt; scenario.  You can run the scenario and look at the codes from within it (buttons along bottom of scenario window while running it).</description>
      <author>danpost</author>
      <pubDate>Wed, 18 Mar 2026 18:57:33 +0000</pubDate>
      <link>https://greenfoot.org/topics/66646?pid=150953#post_150953</link>
    </item>
    <item>
      <title>Reply to How do i make it so the player kepts their horizontal velocity when they were moving on the ground, but cant change horizontal velocity midair?</title>
      <description>&lt;div class="bb_quote"&gt;&lt;div class="bb_quote_header"&gt;danpost wrote...&lt;/div&gt;The title is confusing.  Sounds like you should be thinking it as:
    If &amp;amp;quot;on the ground&amp;amp;quot;, allow a change in velocity.
Think about coding it that way.&lt;/div&gt;I did try that, but it didnt work and im not sure what is wrong
heres my code for the characters:
&lt;div class="bb_code_wrap"&gt;&lt;pre class="brush: java"&gt;public class Fighter extends Actor
{
    // todo: would it be better to put these in each character instead
    int weight;
    int xVelocity;
    int yVelocity;
    int moveSpeed;
    int hp = 100;
    int jumpHeight;
    int xPos = 150;
    int yPos = 150;
    
    /**
     * Act - do whatever the Fighter wants to do. This method is called whenever
     * the &amp;amp;#39;Act&amp;amp;#39; or &amp;amp;#39;Run&amp;amp;#39; button gets pressed in the environment.
     */
    public void act()
    {
        
    }
    public boolean isGrounded(){
        // if the players position is below the arenas limit, the player is
        // considered grounded
        if (yPos &amp;amp;gt;= Arena.ground){
            yPos = Arena.ground;
            return true;
        }
        return false;
    }
    public void fall(){
        // moves down if above the ground, if below, doesnt move at all
        if (isGrounded() == false){
            yVelocity = yVelocity + Arena.gravity + weight;
            yPos = yPos + yVelocity;
        } else {
            yVelocity = 0;
        }
    }
    public void jump(String up){
        if (Greenfoot.isKeyDown(up)){
            //can only jump when grounded
            if (isGrounded()){
                yVelocity = jumpHeight;
                //yPos = yPos - 1;
            }
        }
    }
    public boolean moveLeft(String left){
        if (Greenfoot.isKeyDown(left)){
            //can only change speed when on the ground,
            //same for moveright
            if (isGrounded()){
                xVelocity = -moveSpeed;
                return true;
            }
        }
        return false;
    }
    public boolean moveRight(String right){
        if (Greenfoot.isKeyDown(right)){
            if (isGrounded()){
                xVelocity = moveSpeed;
                return true;
            }
        }
        return false;
    }
}&lt;/pre&gt;&lt;/div&gt;
and heres the actual player
&lt;div class="bb_code_wrap"&gt;&lt;pre class="brush: java"&gt;public class Jotaro extends Fighter
{
    GifImage gifImage = new GifImage(&amp;amp;quot;jotarokujopixel.gif&amp;amp;quot;);
    /**
     * Act - do whatever the Jotaro wants to do. This method is called whenever
     * the &amp;amp;#39;Act&amp;amp;#39; or &amp;amp;#39;Run&amp;amp;#39; button gets pressed in the environment.
     */
    public void act()
    {
        weight = 1/2;
        jumpHeight = -10;
        moveSpeed = 3;
        
        setLocation(xPos, yPos);
        xPos = getX();
        yPos = getY();
        xPos = xPos + xVelocity;
        yPos = yPos + yVelocity;
        isGrounded();
        fall();
        jump(&amp;amp;quot;W&amp;amp;quot;);
        //todo this code is HORRID please put this into fighter somehow later
        if (moveLeft(&amp;amp;quot;A&amp;amp;quot;) &amp;amp;amp;&amp;amp;amp; moveRight(&amp;amp;quot;D&amp;amp;quot;)){
            // this is supposed to make the player not move if both buttons
            // are held but it doesnt work for some reason lol
            xVelocity = 0;
            setImage(&amp;amp;quot;jotarokujopixel21.png&amp;amp;quot;);
        } else if (moveLeft(&amp;amp;quot;A&amp;amp;quot;)){
            moveLeft(&amp;amp;quot;A&amp;amp;quot;);
            setImage(gifImage.getCurrentImage());
        } else if (moveRight(&amp;amp;quot;D&amp;amp;quot;)){
            moveRight(&amp;amp;quot;D&amp;amp;quot;);
            setImage(gifImage.getCurrentImage());
        }
        if (moveLeft(&amp;amp;quot;A&amp;amp;quot;) == false &amp;amp;amp;&amp;amp;amp; moveRight(&amp;amp;quot;D&amp;amp;quot;) == false){
            xVelocity = 0;
            setImage(&amp;amp;quot;jotarokujopixel21.png&amp;amp;quot;);
        }
    }
}&lt;/pre&gt;&lt;/div&gt;</description>
      <author>JosukeHigashikata</author>
      <pubDate>Mon, 16 Mar 2026 02:29:43 +0000</pubDate>
      <link>https://greenfoot.org/topics/66646?pid=150951#post_150951</link>
    </item>
    <item>
      <title>Reply to How do i make it so the player kepts their horizontal velocity when they were moving on the ground, but cant change horizontal velocity midair?</title>
      <description>The title is confusing.  Sounds like you should be thinking it as:
    If &amp;amp;quot;on the ground&amp;amp;quot;, allow a change in velocity.
Think about coding it that way.</description>
      <author>danpost</author>
      <pubDate>Mon, 16 Mar 2026 01:43:49 +0000</pubDate>
      <link>https://greenfoot.org/topics/66646?pid=150950#post_150950</link>
    </item>
    <item>
      <title>Reply to How do i make it so the player kepts their horizontal velocity when they were moving on the ground, but cant change horizontal velocity midair?</title>
      <description>The title is what i want to happen, but the only things that im able to do instead is either have the character move in the air, or when jumping the player completely stops and jumps in one spot.

i dont know if the code i have right now is required (and which parts to include and exclude) so i will send if someone needs it</description>
      <author>JosukeHigashikata</author>
      <pubDate>Fri, 13 Mar 2026 11:31:57 +0000</pubDate>
      <link>https://greenfoot.org/topics/66646?pid=150948#post_150948</link>
    </item>
    <item>
      <title>Reply to is anyone dealing with cacert nonsense</title>
      <description>i hate when it gives the nonexistent cacert nonsense, is this normal</description>
      <author>john_hackermann</author>
      <pubDate>Mon, 26 Jan 2026 21:19:41 +0000</pubDate>
      <link>https://greenfoot.org/topics/66642?pid=150945#post_150945</link>
    </item>
    <item>
      <title>Reply to creation</title>
      <description>there are some tutorials on Youtube aswell</description>
      <author>TheMusteryMan</author>
      <pubDate>Tue, 20 Jan 2026 09:06:16 +0000</pubDate>
      <link>https://greenfoot.org/topics/66637?pid=150941#post_150941</link>
    </item>
    <item>
      <title>Reply to creation</title>
      <description>You can access tutorials by going to the &lt;span class="bb_italic"&gt;Documentation &lt;/span&gt;tab along, but below, the top of the screen</description>
      <author>danpost</author>
      <pubDate>Fri, 16 Jan 2026 20:07:58 +0000</pubDate>
      <link>https://greenfoot.org/topics/66637?pid=150940#post_150940</link>
    </item>
    <item>
      <title>Reply to I am trying to make a kill counter but it resets every time a new bullet spawns.</title>
      <description>It would help if you documented the classes with comments to indicate what each code set does.  Also, it is hard to tell which counter you are referring to.  The &lt;span class="bb_italic"&gt;Plane &lt;/span&gt;class codes might be needed as well, since some variables seem to be defined there.</description>
      <author>danpost</author>
      <pubDate>Fri, 16 Jan 2026 20:04:46 +0000</pubDate>
      <link>https://greenfoot.org/topics/66636?pid=150939#post_150939</link>
    </item>
    <item>
      <title>Reply to creation</title>
      <description>how do I make a game? can someone give me some tips?</description>
      <author>zay_knight28</author>
      <pubDate>Thu, 15 Jan 2026 09:48:03 +0000</pubDate>
      <link>https://greenfoot.org/topics/66637?pid=150938#post_150938</link>
    </item>
    <item>
      <title>Reply to I am trying to make a kill counter but it resets every time a new bullet spawns.</title>
      <description>&lt;div class="bb_code_wrap"&gt;&lt;pre class="brush: java"&gt;import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.List;
import greenfoot.World;
/**
 * Write a description of class Bullet here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Bullet extends Plane
{
    private int count;
    private GreenfootImage image1;
    private GreenfootImage image2;

    /**
     * Act - do whatever the Bullet wants to do. This method is called whenever
     * the &amp;amp;#39;Act&amp;amp;#39; or &amp;amp;#39;Run&amp;amp;#39; button gets pressed in the environment.
     */
    @Override
    protected void addedToWorld(World world) {
        //summons the bullet so it point where the plane is pointing

        List&amp;amp;lt;PlayerPlane&amp;amp;gt; planesInWorld = world.getObjects(PlayerPlane.class);

        if (!planesInWorld.isEmpty()) {
            PlayerPlane targetPlane = planesInWorld.get(0);

            int planeAngle = targetPlane.getRotation();
            this.setRotation(planeAngle);

        }
    }

    public Bullet(){
        //initialization
        count = 0;
        image1 = new GreenfootImage(&amp;amp;quot;BulletImage.png&amp;amp;quot;);
        image2= new GreenfootImage(&amp;amp;quot;Explosion.png&amp;amp;quot;);
        setImage(image1);
        killsNeeded=4;

    }

    public void act() {
        move(20);
        //displays the kills needed to win
        getWorld().showText(&amp;amp;quot;You need &amp;amp;quot; +killsNeeded+ &amp;amp;quot; kills to win&amp;amp;quot;,165, 175);
        //if the bullet touches the edge the bullet will get removed
        if (isAtEdge()) {
            getWorld().removeObject(this); 

            return; 
        }
        lookForEnemy();
        win();
        ImageChecker();
    }
    //if the bullet touches the enemy it removes the enemy, plays a sound, and sets the image to an explosion.
    public void lookForEnemy(){
        if(getImage() == image1){
            if(isTouching(EnemyPlane.class)){

                removeTouching(EnemyPlane.class);
                setImage(image2);
                Greenfoot.playSound(&amp;amp;quot;explosion-sound-effect-made-with-Voicemod.mp3&amp;amp;quot;);
                killsNeeded --;

            }
        }
        else{

        }
    }
    //if the explosion image is on screen the bullet becomes harmless and is removed after 5 counts

    public void ImageChecker(){
        if(getImage() == image2){
            count++;
            if(count == 5){
                getWorld().removeObject(this);
            }
        }
    }
    //if kills needed is met the game stops and a win sound effect plays

    public void win(){
        if(killsNeeded == 0){
            Greenfoot.playSound(&amp;amp;quot;fanfare.wav&amp;amp;quot;);
            Greenfoot.stop();

        }
    }
}&lt;/pre&gt;&lt;/div&gt;that is the code for my bullet.
this is the player code:
&lt;div class="bb_code_wrap"&gt;&lt;pre class="brush: java"&gt;import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.List;
import greenfoot.World;
/**
 * Write a description of class PlayerPlane here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class PlayerPlane extends Plane
{
    private Bullet myNewObject;

    private int counter;        

    /**
     * Act - do whatever the PlayerPlane wants to do. This method is called whenever
     * the &amp;amp;#39;Act&amp;amp;#39; or &amp;amp;#39;Run&amp;amp;#39; button gets pressed in the environment.
     */
    public PlayerPlane(){
        //initializes the bullets remaining
        counter = 0;
        BulletsRemaining = 40;
    }

    public void act()
    {
        //automatically moves the plane and displays the remaining bullets
        move(5);
        getWorld().showText(&amp;amp;quot;You have &amp;amp;quot; +BulletsRemaining+ &amp;amp;quot; remaining bullets&amp;amp;quot;,200, 150);
        checkKeyPress();
        FireBullet();
        getRotation();
    }

    public void checkKeyPress(){
        //turns up, down, and gives a speed boost
        if(Greenfoot.isKeyDown(&amp;amp;quot;w&amp;amp;quot;)){
            turn(-4);

        }
        if(Greenfoot.isKeyDown(&amp;amp;quot;s&amp;amp;quot;)){
            turn(4);

        }
        if(Greenfoot.isKeyDown(&amp;amp;quot;e&amp;amp;quot;)){
            move(10);
        }

    }

    public void FireBullet(){
        //fires a bullet if you have more than 1 bullet remaining. 
        //Sets a delay for the bullets and only spawns one every 10 counts. 
        //If you have no bulelts remaining it will automatically stop shooting.

        if(BulletsRemaining &amp;amp;gt;=1){

            if(Greenfoot.isKeyDown(&amp;amp;quot;space&amp;amp;quot;)){
                counter +=1;
                if(counter == 10){

                    Bullet bullet = new Bullet();
                    getWorld().addObject(bullet, getX(), getY());
                    counter = 0;
                    BulletsRemaining -=1;
                }
            }

        }
        else{
            getWorld().showText(&amp;amp;quot;You ran out of bullets!&amp;amp;quot;,500, 500);
            getWorld().showText(&amp;amp;quot;Game Over!&amp;amp;quot;,500, 525);
            Greenfoot.stop();
        }
    }

}
&lt;/pre&gt;&lt;/div&gt;
this is the enemy plane code: &lt;div class="bb_code_wrap"&gt;&lt;pre class="brush: java"&gt;import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class EnemyPlane here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class EnemyPlane extends Plane
{
    private GreenfootImage image1;
    private boolean touching;

    /**
     * Act - do whatever the EnemyPlane wants to do. This method is called whenever
     * the &amp;amp;#39;Act&amp;amp;#39; or &amp;amp;#39;Run&amp;amp;#39; button gets pressed in the environment.
     */
    public EnemyPlane(){
        image1= new GreenfootImage(&amp;amp;quot;EnemyPlane.jpeg&amp;amp;quot;);

        setImage(image1);

    }

    public void act()
    { 
        //turns at edge and randomly turns
        if(isAtEdge()){
            turn(Greenfoot.getRandomNumber(180) +90);
        }
        if(Greenfoot.getRandomNumber(100) ==1){
            turn(Greenfoot.getRandomNumber(90)-45);

        }
        move(10);

    }
}&lt;/pre&gt;&lt;/div&gt;
Here is the world code just in case: &lt;div class="bb_code_wrap"&gt;&lt;pre class="brush: java"&gt;import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class WorldP here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class WorldP extends World
{

    /**
     * Constructor for objects of class WorldP.
     * 
     */
    public WorldP()
    {    
        // Create a new world with 600x400 cells with a cell size of 1x1 pixels.
        super(1000, 1000, 1); 
        PlayerPlane myP = new PlayerPlane();
        addObject(myP, 0, Greenfoot.getRandomNumber(1000));
        for(int m =0; m&amp;amp;lt;10; m++){
            addObject(new EnemyPlane(), Greenfoot.getRandomNumber(1000)+250, Greenfoot.getRandomNumber(1000));
        }

    }}
&lt;/pre&gt;&lt;/div&gt;</description>
      <author>HelpAccount2</author>
      <pubDate>Thu, 15 Jan 2026 09:48:01 +0000</pubDate>
      <link>https://greenfoot.org/topics/66636?pid=150937#post_150937</link>
    </item>
    <item>
      <title>Reply to A minimal re-implementation of GF in JavaScript</title>
      <description>The link is here: http://andval.net/Greenfoot_JS/index.html</description>
      <author>andrea270872</author>
      <pubDate>Wed, 31 Dec 2025 17:51:13 +0000</pubDate>
      <link>https://greenfoot.org/topics/66634?pid=150935#post_150935</link>
    </item>
    <item>
      <title>Reply to A minimal re-implementation of GF in JavaScript</title>
      <description>I was surprised to find that JavaScript classes and reflection mechanisms are now actually usable. So, even if the language is loosely typed and interpreted, it was possible to implement many of the central GF features.

If anybody wants to have a go at Greenfoot_JS, check it out here at my personal site: andval.net:

&lt;span class="bb_fake_link"&gt;the link&lt;/span&gt; 

Feel free to tell me how (terrible) you find it! :D</description>
      <author>andrea270872</author>
      <pubDate>Wed, 31 Dec 2025 17:50:46 +0000</pubDate>
      <link>https://greenfoot.org/topics/66634?pid=150934#post_150934</link>
    </item>
    <item>
      <title>Reply to A minimal re-implementation of GF in JavaScript</title>
      <description>I was a bit annoyed that applets and JARs cannot be made to run in the browser... so I tried (with some success) to use cheerpj.
But more recently, I decided, just for fun, to re-implemented (some main parts of) Greenfoot in javascript</description>
      <author>andrea270872</author>
      <pubDate>Wed, 31 Dec 2025 17:50:33 +0000</pubDate>
      <link>https://greenfoot.org/topics/66634?pid=150933#post_150933</link>
    </item>
    <item>
      <title>Reply to found my old scenario but now doesnt seem to work</title>
      <description>i made a scenario as part of my college work 12 years or so ago and found some of my old papers when moving house.

i was just wondering is there anyway to get this working on modern day browser or if i can somehow open the scenario in greenfoot to relive my old college days.

i dont have the original files as usb got lost a long time ago so any help would be greatly appreciated.

i am willing to do just about pretty much anything to get this work or if i can get the sorce code from the back end etc.

https://www.greenfoot.org/scenarios/8524

any help would be greatly appreciated.

thanks 

Stephen</description>
      <author>shindingg</author>
      <pubDate>Thu, 11 Dec 2025 00:12:51 +0000</pubDate>
      <link>https://greenfoot.org/topics/66624?pid=150931#post_150931</link>
    </item>
    <item>
      <title>Reply to why should you use getOneIntersectingObject</title>
      <description>&lt;div class="bb_quote"&gt;&lt;div class="bb_quote_header"&gt;Jang wrote...&lt;/div&gt;i am programming a game for school at the moment aboout kollisions and as far as i know is getOneIntersectingObject important for that. But i really dont get what de benefits are. wouldnt it not just be easier to say isTouching.&lt;/div&gt;Believe me.  As you continue programming, you will find how useful those other collision methods can be.  They all have there benefits (and drawbacks).</description>
      <author>danpost</author>
      <pubDate>Sun, 07 Dec 2025 16:39:44 +0000</pubDate>
      <link>https://greenfoot.org/topics/66622?pid=150930#post_150930</link>
    </item>
    <item>
      <title>Reply to Snake game</title>
      <description>&lt;div class="bb_quote"&gt;&lt;div class="bb_quote_header"&gt;BenBoi wrote...&lt;/div&gt;I am trying to make snake, but i can&amp;amp;#39;t seem to get the other parts to follow correctly&lt;/div&gt;Provided the parts of the snake each retain which part it follows, you only need to keep the head and the tail parts in fields.  Never move the &amp;amp;quot;body&amp;amp;quot; of the snake.  When moving, replace head with a body part and move head.  Then, only if not eating, remove tail piece (the tail field needs updated first to the piece the tail follows).</description>
      <author>danpost</author>
      <pubDate>Sun, 07 Dec 2025 15:19:22 +0000</pubDate>
      <link>https://greenfoot.org/topics/66621?pid=150929#post_150929</link>
    </item>
    <item>
      <title>Reply to how do i add delay to 1 actor?</title>
      <description>&lt;div class="bb_quote"&gt;&lt;div class="bb_quote_header"&gt;Fat_moose wrote...&lt;/div&gt;I am trying to make a healthbar but the healthbar goes down way to fast, i tried the Greenfoot.delay() but then everything slows down. Can someone help me?&lt;/div&gt;The Greenfoot.delay() method will suspend all actions for the number of act cycles given as its parameter.  If the touching of another actor causes the healthbar to decrease, then it is probably true that for each act the touching occurs or continues, the healthbar will decrease.  My suggestion is to list objects it touches and only decrease the healthbar when an object is added to the list (and not when the object is already on the list).  The sequence of checks might be as follows:
* create new touching list
* remove objects from touch list that are not in new list (removing those no longer touching)
* add objects from new list to touch list when not in touch list and perform actions (healthbar, for example)
This last step may require the use of &lt;span class="bb_italic"&gt;instanceof&lt;/span&gt; checks to determine the type of objects touched.</description>
      <author>danpost</author>
      <pubDate>Sun, 07 Dec 2025 15:08:26 +0000</pubDate>
      <link>https://greenfoot.org/topics/66620?pid=150928#post_150928</link>
    </item>
    <item>
      <title>Reply to How would i go about making an upgrade that is continuous?</title>
      <description>&lt;div class="bb_quote"&gt;&lt;div class="bb_quote_header"&gt;Just_a_person847 wrote...&lt;/div&gt;Whenever the world changes, how do i make the upgrade *not* reset?&lt;/div&gt;My suggestion is to use &lt;span class="bb_italic"&gt;static &lt;/span&gt;fields for the upgrades.  They must be initialized during your initial world constructor only.

Static fields are &amp;amp;quot;class fields&amp;amp;quot; which do not reset when a new world is created, nor when the scenario is reset.  This is why they need initialized in the initial world constructor.  The keyword &amp;amp;quot;static&amp;amp;quot; is added to the field declaration line.  For example:
&lt;div class="bb_code_wrap"&gt;&lt;pre class="brush: java"&gt;public static java.util.List&amp;amp;lt;Upgrade&amp;amp;gt; upgrades;

public MyWorld() {
    super(600, 400, 1);
    upgrades = new java.util.ArrayList&amp;amp;lt;Upgrade&amp;amp;gt;();
    // etc.
}&lt;/pre&gt;&lt;/div&gt;</description>
      <author>danpost</author>
      <pubDate>Sun, 07 Dec 2025 14:46:35 +0000</pubDate>
      <link>https://greenfoot.org/topics/66623?pid=150927#post_150927</link>
    </item>
  </channel>
</rss>
