326
OOP at home: (feddit.nu)
you are viewing a single comment's thread
view the rest of the comments
[-] ZILtoid1991@lemmy.world 3 points 1 day ago* (last edited 1 day ago)

Now someone needs to make it an entity component system!

Attempt 1:

public struct Entity {
  bool isDog : 1;
  bool isAircraftCarrier : 1;
  bool isFlea : 1;
  bool canFlyInAir : 1;
  ubyte opt_numOfAircrafts : 4;
  int entityID;
  int opt_parentID;
  static Entity createDog(int entityID) {
    Entity result;
    result.isDog = true;
    result.entityID = entityID;
    return result;
  }
  static Entity createFlea(int entityID) {
    Entity result;
    result.isFlea = true;
    result.canFlyInAir = true;
    result.entityID = entityID;
    return result;
  }
  void addAirCraft(ref Entity aircraft) {
    if (aircraft.canFlyInAir && this.isAircraftCarrier) {
      aircraft.opt_parentID = this.entityID;
      this.opt_numOfAircrafts++;
    }
  }
  void woof() {
    if (isDog) {
      if (isAircraftCarrier) writeln("I'm a motherfucking aircraft carrier");
      else writeln("Woof!");
    }
  }
}

void main() {
  Entity dog = Entity.createDog(1);
  Entity flea = Entity.createFlea(2);
  dog.woof();
  dog.isAircraftCarrier = true;
  dog.addAirCraft(flea);
  dog.woof();
}
[-] WhyJiffie@sh.itjust.works 1 points 14 hours ago* (last edited 14 hours ago)

but but why would you do that?

[-] a_jackal@pawb.social 4 points 1 day ago

You forgot the component part.

this post was submitted on 10 Feb 2026
326 points (95.8% liked)

Programmer Humor

29692 readers
1556 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS