Add more levels and introduce NOT gate with single input

This commit is contained in:
csd4ni3l
2025-10-14 18:23:41 +02:00
parent b02b192f93
commit ab9035e76d
3 changed files with 123 additions and 24 deletions

View File

@@ -7,6 +7,8 @@ menu_background_color = (30, 30, 47)
log_dir = 'logs'
discord_presence_id = 1427213145667276840
SINGLE_INPUT_LOGICAL_GATES = ["NOT"]
LOGICAL_GATES = {
"AND": lambda a, b: a and b,
"OR": lambda a, b: a or b,
@@ -14,11 +16,11 @@ LOGICAL_GATES = {
"NOR": lambda a, b: not (a or b),
"XOR": lambda a, b: a != b,
"XNOR": lambda a, b: a == b,
"NOT": lambda a: not a,
}
LEVELS = [
# EASY
# EASY
[
[2, "INPUT", 1],
[1, "AND"],
@@ -30,6 +32,11 @@ LEVELS = [
[1, "OR"],
[1, "OUTPUT", 1]
],
[
[1, "INPUT", 1],
[1, "NOT"],
[1, "OUTPUT", 0]
],
[
[2, "INPUT", 1],
[1, "NAND"],
@@ -41,6 +48,13 @@ LEVELS = [
[1, "XOR"],
[1, "OUTPUT", 1]
],
[
[1, "INPUT", 0],
[1, "INPUT", 1],
[1, "NOT"],
[1, "AND"],
[1, "OUTPUT", 1]
],
[
[2, "INPUT", 1],
[1, "INPUT", 0],
@@ -48,9 +62,13 @@ LEVELS = [
[1, "OR"],
[1, "OUTPUT", 1]
],
# INTERMEDIATE
[
[2, "INPUT", 1],
[1, "NOT"],
[1, "NAND"],
[1, "OUTPUT", 1]
],
# INTERMEDIATE
[
[2, "INPUT", 0],
[1, "INPUT", 1],
@@ -65,6 +83,13 @@ LEVELS = [
[1, "OR"],
[1, "OUTPUT", 1]
],
[
[1, "INPUT", 1],
[1, "INPUT", 0],
[1, "NOT"],
[1, "XOR"],
[1, "OUTPUT", 0]
],
[
[2, "INPUT", 1],
[2, "INPUT", 0],
@@ -73,6 +98,14 @@ LEVELS = [
[1, "XOR"],
[1, "OUTPUT", 0]
],
[
[2, "INPUT", 0],
[1, "INPUT", 1],
[1, "NOT"],
[1, "NOR"],
[1, "OR"],
[1, "OUTPUT", 1]
],
[
[3, "INPUT", 1],
[1, "INPUT", 0],
@@ -86,6 +119,14 @@ LEVELS = [
[1, "AND"],
[1, "OUTPUT", 1]
],
[
[2, "INPUT", 1],
[1, "INPUT", 0],
[1, "NOT"],
[1, "AND"],
[1, "NAND"],
[1, "OUTPUT", 0]
],
[
[2, "INPUT", 1],
[2, "INPUT", 0],
@@ -110,8 +151,9 @@ LEVELS = [
[1, "OUTPUT", 1]
],
[
[4, "INPUT", 0],
[1, "INPUT", 1],
[3, "INPUT", 0],
[1, "NOT"],
[2, "OR"],
[1, "NAND"],
[1, "OUTPUT", 0]
@@ -124,9 +166,16 @@ LEVELS = [
[1, "AND"],
[1, "OUTPUT", 0]
],
# HARD
# HARD
[
[3, "INPUT", 1],
[1, "INPUT", 0],
[1, "NOT"],
[1, "AND"],
[1, "OR"],
[1, "XOR"],
[1, "OUTPUT", 0]
],
[
[3, "INPUT", 1],
[2, "INPUT", 0],
@@ -136,6 +185,14 @@ LEVELS = [
[1, "XOR"],
[1, "OUTPUT", 1]
],
[
[2, "INPUT", 1],
[2, "INPUT", 0],
[2, "NOT"],
[1, "NAND"],
[1, "OR"],
[1, "OUTPUT", 1]
],
[
[2, "INPUT", 1],
[2, "INPUT", 0],
@@ -143,6 +200,15 @@ LEVELS = [
[1, "OR"],
[1, "OUTPUT", 0]
],
[
[3, "INPUT", 0],
[1, "INPUT", 1],
[1, "NOT"],
[2, "NOR"],
[1, "XOR"],
[1, "XNOR"],
[1, "OUTPUT", 1]
],
[
[4, "INPUT", 0],
[2, "INPUT", 1],
@@ -160,6 +226,15 @@ LEVELS = [
[1, "XOR"],
[1, "OUTPUT", 0]
],
[
[2, "INPUT", 1],
[3, "INPUT", 0],
[1, "NOT"],
[2, "XOR"],
[1, "NAND"],
[1, "NOR"],
[1, "OUTPUT", 0]
],
[
[4, "INPUT", 1],
[2, "INPUT", 0],
@@ -169,9 +244,7 @@ LEVELS = [
[1, "XNOR"],
[1, "OUTPUT", 1]
],
# Extra Hard
# EXTRA HARD
[
[2, "INPUT", 1],
[2, "INPUT", 0],
@@ -182,6 +255,16 @@ LEVELS = [
[1, "OUTPUT", 0],
[1, "OUTPUT", 1]
],
[
[2, "INPUT", 1],
[1, "INPUT", 0],
[1, "NOT"],
[1, "AND"],
[1, "OR"],
[1, "XOR"],
[1, "OUTPUT", 0],
[1, "OUTPUT", 1]
],
[
[3, "INPUT", 1],
[3, "INPUT", 0],
@@ -192,6 +275,16 @@ LEVELS = [
[1, "OUTPUT", 1],
[1, "OUTPUT", 0]
],
[
[2, "INPUT", 1],
[2, "INPUT", 0],
[2, "NOT"],
[1, "NAND"],
[1, "NOR"],
[1, "XOR"],
[1, "OUTPUT", 1],
[1, "OUTPUT", 0]
],
[
[4, "INPUT", 1],
[2, "INPUT", 0],
@@ -199,7 +292,7 @@ LEVELS = [
[2, "XNOR"],
[1, "AND"],
[1, "OR"],
[2, "OUTPUT", 1],
[2, "OUTPUT", 1]
],
[
[3, "INPUT", 1],