From 5706ccf986777b97442b0c7935228132493987f6 Mon Sep 17 00:00:00 2001 From: Pavle Portic Date: Sun, 17 Jan 2021 18:33:13 +0100 Subject: [PATCH] Change indentation to spaces --- .editorconfig | 9 + colors.py | 984 +++++++++++++++++++++++++------------------------- mandelbrot.py | 201 ++++++----- 3 files changed, 604 insertions(+), 590 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..bec95c4 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +indent_style = space +indent_size = 4 diff --git a/colors.py b/colors.py index d55743d..6bffccb 100644 --- a/colors.py +++ b/colors.py @@ -10,505 +10,505 @@ import curses def init_21_colors(): - curses.init_color(1, 0, 0, 0) - curses.init_color(2, 1000, 0, 0) - curses.init_color(3, 1000, 333, 0) - curses.init_color(4, 1000, 666, 0) - curses.init_color(5, 1000, 1000, 0) - curses.init_color(6, 666, 1000, 0) - curses.init_color(7, 333, 1000, 0) - curses.init_color(8, 0, 1000, 0) - curses.init_color(9, 0, 1000, 333) - curses.init_color(10, 0, 1000, 666) - curses.init_color(11, 0, 1000, 1000) - curses.init_color(12, 0, 666, 1000) - curses.init_color(13, 0, 333, 1000) - curses.init_color(14, 0, 0, 1000) - curses.init_color(15, 333, 0, 1000) - curses.init_color(16, 666, 0, 1000) - curses.init_color(17, 1000, 0, 1000) - curses.init_color(18, 1000, 0, 666) - curses.init_color(19, 1000, 0, 333) - curses.init_color(20, 1000, 0, 0) - curses.init_color(21, 800, 800, 800) - curses.init_color(22, 50, 50, 50) - curses.init_pair(1, 0, 1) - curses.init_pair(2, 0, 2) - curses.init_pair(3, 0, 3) - curses.init_pair(4, 0, 4) - curses.init_pair(5, 0, 5) - curses.init_pair(6, 0, 6) - curses.init_pair(7, 0, 7) - curses.init_pair(8, 0, 8) - curses.init_pair(9, 0, 9) - curses.init_pair(10, 0, 10) - curses.init_pair(11, 0, 11) - curses.init_pair(12, 0, 12) - curses.init_pair(13, 0, 13) - curses.init_pair(14, 0, 14) - curses.init_pair(15, 0, 15) - curses.init_pair(16, 0, 16) - curses.init_pair(17, 0, 17) - curses.init_pair(18, 0, 18) - curses.init_pair(19, 0, 19) - curses.init_pair(20, 0, 20) - curses.init_pair(21, 21, 22) - return 21 + curses.init_color(1, 0, 0, 0) + curses.init_color(2, 1000, 0, 0) + curses.init_color(3, 1000, 333, 0) + curses.init_color(4, 1000, 666, 0) + curses.init_color(5, 1000, 1000, 0) + curses.init_color(6, 666, 1000, 0) + curses.init_color(7, 333, 1000, 0) + curses.init_color(8, 0, 1000, 0) + curses.init_color(9, 0, 1000, 333) + curses.init_color(10, 0, 1000, 666) + curses.init_color(11, 0, 1000, 1000) + curses.init_color(12, 0, 666, 1000) + curses.init_color(13, 0, 333, 1000) + curses.init_color(14, 0, 0, 1000) + curses.init_color(15, 333, 0, 1000) + curses.init_color(16, 666, 0, 1000) + curses.init_color(17, 1000, 0, 1000) + curses.init_color(18, 1000, 0, 666) + curses.init_color(19, 1000, 0, 333) + curses.init_color(20, 1000, 0, 0) + curses.init_color(21, 800, 800, 800) + curses.init_color(22, 50, 50, 50) + curses.init_pair(1, 0, 1) + curses.init_pair(2, 0, 2) + curses.init_pair(3, 0, 3) + curses.init_pair(4, 0, 4) + curses.init_pair(5, 0, 5) + curses.init_pair(6, 0, 6) + curses.init_pair(7, 0, 7) + curses.init_pair(8, 0, 8) + curses.init_pair(9, 0, 9) + curses.init_pair(10, 0, 10) + curses.init_pair(11, 0, 11) + curses.init_pair(12, 0, 12) + curses.init_pair(13, 0, 13) + curses.init_pair(14, 0, 14) + curses.init_pair(15, 0, 15) + curses.init_pair(16, 0, 16) + curses.init_pair(17, 0, 17) + curses.init_pair(18, 0, 18) + curses.init_pair(19, 0, 19) + curses.init_pair(20, 0, 20) + curses.init_pair(21, 21, 22) + return 21 def init_21_monochrome(): - curses.init_color(1, 0, 0, 0) - curses.init_color(2, 50, 50, 50) - curses.init_color(3, 100, 100, 100) - curses.init_color(4, 150, 150, 150) - curses.init_color(5, 200, 200, 200) - curses.init_color(6, 250, 250, 250) - curses.init_color(7, 300, 300, 300) - curses.init_color(8, 350, 350, 350) - curses.init_color(9, 400, 400, 400) - curses.init_color(10, 450, 450, 450) - curses.init_color(11, 500, 500, 500) - curses.init_color(12, 550, 550, 550) - curses.init_color(13, 600, 600, 600) - curses.init_color(14, 650, 650, 650) - curses.init_color(15, 700, 700, 700) - curses.init_color(16, 750, 750, 750) - curses.init_color(17, 800, 800, 800) - curses.init_color(18, 850, 850, 850) - curses.init_color(19, 900, 900, 900) - curses.init_color(20, 950, 950, 950) - curses.init_pair(1, 0, 1) - curses.init_pair(2, 0, 2) - curses.init_pair(3, 0, 3) - curses.init_pair(4, 0, 4) - curses.init_pair(5, 0, 5) - curses.init_pair(6, 0, 6) - curses.init_pair(7, 0, 7) - curses.init_pair(8, 0, 8) - curses.init_pair(9, 0, 9) - curses.init_pair(10, 0, 10) - curses.init_pair(11, 0, 11) - curses.init_pair(12, 0, 12) - curses.init_pair(13, 0, 13) - curses.init_pair(14, 0, 14) - curses.init_pair(15, 0, 15) - curses.init_pair(16, 0, 16) - curses.init_pair(17, 0, 17) - curses.init_pair(18, 0, 18) - curses.init_pair(19, 0, 19) - curses.init_pair(20, 0, 20) - curses.init_pair(21, 17, 2) - return 21 + curses.init_color(1, 0, 0, 0) + curses.init_color(2, 50, 50, 50) + curses.init_color(3, 100, 100, 100) + curses.init_color(4, 150, 150, 150) + curses.init_color(5, 200, 200, 200) + curses.init_color(6, 250, 250, 250) + curses.init_color(7, 300, 300, 300) + curses.init_color(8, 350, 350, 350) + curses.init_color(9, 400, 400, 400) + curses.init_color(10, 450, 450, 450) + curses.init_color(11, 500, 500, 500) + curses.init_color(12, 550, 550, 550) + curses.init_color(13, 600, 600, 600) + curses.init_color(14, 650, 650, 650) + curses.init_color(15, 700, 700, 700) + curses.init_color(16, 750, 750, 750) + curses.init_color(17, 800, 800, 800) + curses.init_color(18, 850, 850, 850) + curses.init_color(19, 900, 900, 900) + curses.init_color(20, 950, 950, 950) + curses.init_pair(1, 0, 1) + curses.init_pair(2, 0, 2) + curses.init_pair(3, 0, 3) + curses.init_pair(4, 0, 4) + curses.init_pair(5, 0, 5) + curses.init_pair(6, 0, 6) + curses.init_pair(7, 0, 7) + curses.init_pair(8, 0, 8) + curses.init_pair(9, 0, 9) + curses.init_pair(10, 0, 10) + curses.init_pair(11, 0, 11) + curses.init_pair(12, 0, 12) + curses.init_pair(13, 0, 13) + curses.init_pair(14, 0, 14) + curses.init_pair(15, 0, 15) + curses.init_pair(16, 0, 16) + curses.init_pair(17, 0, 17) + curses.init_pair(18, 0, 18) + curses.init_pair(19, 0, 19) + curses.init_pair(20, 0, 20) + curses.init_pair(21, 17, 2) + return 21 def init_101_colors(): - curses.init_color(1, 0, 0, 0) - curses.init_color(2, 800, 159, 159) - curses.init_color(3, 800, 199, 159) - curses.init_color(4, 800, 238, 159) - curses.init_color(5, 800, 277, 159) - curses.init_color(6, 800, 316, 159) - curses.init_color(7, 800, 355, 159) - curses.init_color(8, 800, 395, 159) - curses.init_color(9, 800, 434, 159) - curses.init_color(10, 800, 473, 159) - curses.init_color(11, 800, 512, 159) - curses.init_color(12, 800, 551, 159) - curses.init_color(13, 800, 591, 159) - curses.init_color(14, 800, 630, 159) - curses.init_color(15, 800, 669, 159) - curses.init_color(16, 800, 708, 159) - curses.init_color(17, 800, 747, 159) - curses.init_color(18, 800, 786, 159) - curses.init_color(19, 773, 800, 159) - curses.init_color(20, 734, 800, 159) - curses.init_color(21, 695, 800, 159) - curses.init_color(22, 656, 800, 159) - curses.init_color(23, 617, 800, 159) - curses.init_color(24, 577, 800, 159) - curses.init_color(25, 538, 800, 159) - curses.init_color(26, 499, 800, 159) - curses.init_color(27, 460, 800, 159) - curses.init_color(28, 421, 800, 159) - curses.init_color(29, 382, 800, 159) - curses.init_color(30, 342, 800, 159) - curses.init_color(31, 303, 800, 159) - curses.init_color(32, 264, 800, 159) - curses.init_color(33, 225, 800, 159) - curses.init_color(34, 186, 800, 159) - curses.init_color(35, 159, 800, 173) - curses.init_color(36, 159, 800, 212) - curses.init_color(37, 159, 800, 251) - curses.init_color(38, 159, 800, 290) - curses.init_color(39, 159, 800, 329) - curses.init_color(40, 159, 800, 368) - curses.init_color(41, 159, 800, 408) - curses.init_color(42, 159, 800, 447) - curses.init_color(43, 159, 800, 486) - curses.init_color(44, 159, 800, 525) - curses.init_color(45, 159, 800, 564) - curses.init_color(46, 159, 800, 604) - curses.init_color(47, 159, 800, 643) - curses.init_color(48, 159, 800, 682) - curses.init_color(49, 159, 800, 721) - curses.init_color(50, 159, 800, 760) - curses.init_color(51, 159, 800, 799) - curses.init_color(52, 159, 760, 800) - curses.init_color(53, 159, 721, 800) - curses.init_color(54, 159, 682, 800) - curses.init_color(55, 159, 643, 800) - curses.init_color(56, 159, 604, 800) - curses.init_color(57, 159, 564, 800) - curses.init_color(58, 159, 525, 800) - curses.init_color(59, 159, 486, 800) - curses.init_color(60, 159, 447, 800) - curses.init_color(61, 159, 408, 800) - curses.init_color(62, 159, 368, 800) - curses.init_color(63, 159, 329, 800) - curses.init_color(64, 159, 290, 800) - curses.init_color(65, 159, 251, 800) - curses.init_color(66, 159, 212, 800) - curses.init_color(67, 159, 173, 800) - curses.init_color(68, 186, 159, 800) - curses.init_color(69, 225, 159, 800) - curses.init_color(70, 264, 159, 800) - curses.init_color(71, 303, 159, 800) - curses.init_color(72, 342, 159, 800) - curses.init_color(73, 382, 159, 800) - curses.init_color(74, 421, 159, 800) - curses.init_color(75, 460, 159, 800) - curses.init_color(76, 499, 159, 800) - curses.init_color(77, 538, 159, 800) - curses.init_color(78, 577, 159, 800) - curses.init_color(79, 617, 159, 800) - curses.init_color(80, 656, 159, 800) - curses.init_color(81, 695, 159, 800) - curses.init_color(82, 734, 159, 800) - curses.init_color(83, 773, 159, 800) - curses.init_color(84, 800, 159, 786) - curses.init_color(85, 800, 159, 747) - curses.init_color(86, 800, 159, 708) - curses.init_color(87, 800, 159, 669) - curses.init_color(88, 800, 159, 630) - curses.init_color(89, 800, 159, 591) - curses.init_color(90, 800, 159, 551) - curses.init_color(91, 800, 159, 512) - curses.init_color(92, 800, 159, 473) - curses.init_color(93, 800, 159, 434) - curses.init_color(94, 800, 159, 395) - curses.init_color(95, 800, 159, 355) - curses.init_color(96, 800, 159, 316) - curses.init_color(97, 800, 159, 277) - curses.init_color(98, 800, 159, 238) - curses.init_color(99, 800, 159, 199) - curses.init_color(100, 800, 159, 159) - curses.init_color(101, 800, 800, 800) - curses.init_color(102, 50, 50, 50) - curses.init_pair(1, 0, 1) - curses.init_pair(2, 0, 2) - curses.init_pair(3, 0, 3) - curses.init_pair(4, 0, 4) - curses.init_pair(5, 0, 5) - curses.init_pair(6, 0, 6) - curses.init_pair(7, 0, 7) - curses.init_pair(8, 0, 8) - curses.init_pair(9, 0, 9) - curses.init_pair(10, 0, 10) - curses.init_pair(11, 0, 11) - curses.init_pair(12, 0, 12) - curses.init_pair(13, 0, 13) - curses.init_pair(14, 0, 14) - curses.init_pair(15, 0, 15) - curses.init_pair(16, 0, 16) - curses.init_pair(17, 0, 17) - curses.init_pair(18, 0, 18) - curses.init_pair(19, 0, 19) - curses.init_pair(20, 0, 20) - curses.init_pair(21, 0, 21) - curses.init_pair(22, 0, 22) - curses.init_pair(23, 0, 23) - curses.init_pair(24, 0, 24) - curses.init_pair(25, 0, 25) - curses.init_pair(26, 0, 26) - curses.init_pair(27, 0, 27) - curses.init_pair(28, 0, 28) - curses.init_pair(29, 0, 29) - curses.init_pair(30, 0, 30) - curses.init_pair(31, 0, 31) - curses.init_pair(32, 0, 32) - curses.init_pair(33, 0, 33) - curses.init_pair(34, 0, 34) - curses.init_pair(35, 0, 35) - curses.init_pair(36, 0, 36) - curses.init_pair(37, 0, 37) - curses.init_pair(38, 0, 38) - curses.init_pair(39, 0, 39) - curses.init_pair(40, 0, 40) - curses.init_pair(41, 0, 41) - curses.init_pair(42, 0, 42) - curses.init_pair(43, 0, 43) - curses.init_pair(44, 0, 44) - curses.init_pair(45, 0, 45) - curses.init_pair(46, 0, 46) - curses.init_pair(47, 0, 47) - curses.init_pair(48, 0, 48) - curses.init_pair(49, 0, 49) - curses.init_pair(50, 0, 50) - curses.init_pair(51, 0, 51) - curses.init_pair(52, 0, 52) - curses.init_pair(53, 0, 53) - curses.init_pair(54, 0, 54) - curses.init_pair(55, 0, 55) - curses.init_pair(56, 0, 56) - curses.init_pair(57, 0, 57) - curses.init_pair(58, 0, 58) - curses.init_pair(59, 0, 59) - curses.init_pair(60, 0, 60) - curses.init_pair(61, 0, 61) - curses.init_pair(62, 0, 62) - curses.init_pair(63, 0, 63) - curses.init_pair(64, 0, 64) - curses.init_pair(65, 0, 65) - curses.init_pair(66, 0, 66) - curses.init_pair(67, 0, 67) - curses.init_pair(68, 0, 68) - curses.init_pair(69, 0, 69) - curses.init_pair(70, 0, 70) - curses.init_pair(71, 0, 71) - curses.init_pair(72, 0, 72) - curses.init_pair(73, 0, 73) - curses.init_pair(74, 0, 74) - curses.init_pair(75, 0, 75) - curses.init_pair(76, 0, 76) - curses.init_pair(77, 0, 77) - curses.init_pair(78, 0, 78) - curses.init_pair(79, 0, 79) - curses.init_pair(80, 0, 80) - curses.init_pair(81, 0, 81) - curses.init_pair(82, 0, 82) - curses.init_pair(83, 0, 83) - curses.init_pair(84, 0, 84) - curses.init_pair(85, 0, 85) - curses.init_pair(86, 0, 86) - curses.init_pair(87, 0, 87) - curses.init_pair(88, 0, 88) - curses.init_pair(89, 0, 89) - curses.init_pair(90, 0, 90) - curses.init_pair(91, 0, 91) - curses.init_pair(92, 0, 92) - curses.init_pair(93, 0, 93) - curses.init_pair(94, 0, 94) - curses.init_pair(95, 0, 95) - curses.init_pair(96, 0, 96) - curses.init_pair(97, 0, 97) - curses.init_pair(98, 0, 98) - curses.init_pair(99, 0, 99) - curses.init_pair(100, 0, 100) - curses.init_pair(101, 101, 102) - return 101 + curses.init_color(1, 0, 0, 0) + curses.init_color(2, 800, 159, 159) + curses.init_color(3, 800, 199, 159) + curses.init_color(4, 800, 238, 159) + curses.init_color(5, 800, 277, 159) + curses.init_color(6, 800, 316, 159) + curses.init_color(7, 800, 355, 159) + curses.init_color(8, 800, 395, 159) + curses.init_color(9, 800, 434, 159) + curses.init_color(10, 800, 473, 159) + curses.init_color(11, 800, 512, 159) + curses.init_color(12, 800, 551, 159) + curses.init_color(13, 800, 591, 159) + curses.init_color(14, 800, 630, 159) + curses.init_color(15, 800, 669, 159) + curses.init_color(16, 800, 708, 159) + curses.init_color(17, 800, 747, 159) + curses.init_color(18, 800, 786, 159) + curses.init_color(19, 773, 800, 159) + curses.init_color(20, 734, 800, 159) + curses.init_color(21, 695, 800, 159) + curses.init_color(22, 656, 800, 159) + curses.init_color(23, 617, 800, 159) + curses.init_color(24, 577, 800, 159) + curses.init_color(25, 538, 800, 159) + curses.init_color(26, 499, 800, 159) + curses.init_color(27, 460, 800, 159) + curses.init_color(28, 421, 800, 159) + curses.init_color(29, 382, 800, 159) + curses.init_color(30, 342, 800, 159) + curses.init_color(31, 303, 800, 159) + curses.init_color(32, 264, 800, 159) + curses.init_color(33, 225, 800, 159) + curses.init_color(34, 186, 800, 159) + curses.init_color(35, 159, 800, 173) + curses.init_color(36, 159, 800, 212) + curses.init_color(37, 159, 800, 251) + curses.init_color(38, 159, 800, 290) + curses.init_color(39, 159, 800, 329) + curses.init_color(40, 159, 800, 368) + curses.init_color(41, 159, 800, 408) + curses.init_color(42, 159, 800, 447) + curses.init_color(43, 159, 800, 486) + curses.init_color(44, 159, 800, 525) + curses.init_color(45, 159, 800, 564) + curses.init_color(46, 159, 800, 604) + curses.init_color(47, 159, 800, 643) + curses.init_color(48, 159, 800, 682) + curses.init_color(49, 159, 800, 721) + curses.init_color(50, 159, 800, 760) + curses.init_color(51, 159, 800, 799) + curses.init_color(52, 159, 760, 800) + curses.init_color(53, 159, 721, 800) + curses.init_color(54, 159, 682, 800) + curses.init_color(55, 159, 643, 800) + curses.init_color(56, 159, 604, 800) + curses.init_color(57, 159, 564, 800) + curses.init_color(58, 159, 525, 800) + curses.init_color(59, 159, 486, 800) + curses.init_color(60, 159, 447, 800) + curses.init_color(61, 159, 408, 800) + curses.init_color(62, 159, 368, 800) + curses.init_color(63, 159, 329, 800) + curses.init_color(64, 159, 290, 800) + curses.init_color(65, 159, 251, 800) + curses.init_color(66, 159, 212, 800) + curses.init_color(67, 159, 173, 800) + curses.init_color(68, 186, 159, 800) + curses.init_color(69, 225, 159, 800) + curses.init_color(70, 264, 159, 800) + curses.init_color(71, 303, 159, 800) + curses.init_color(72, 342, 159, 800) + curses.init_color(73, 382, 159, 800) + curses.init_color(74, 421, 159, 800) + curses.init_color(75, 460, 159, 800) + curses.init_color(76, 499, 159, 800) + curses.init_color(77, 538, 159, 800) + curses.init_color(78, 577, 159, 800) + curses.init_color(79, 617, 159, 800) + curses.init_color(80, 656, 159, 800) + curses.init_color(81, 695, 159, 800) + curses.init_color(82, 734, 159, 800) + curses.init_color(83, 773, 159, 800) + curses.init_color(84, 800, 159, 786) + curses.init_color(85, 800, 159, 747) + curses.init_color(86, 800, 159, 708) + curses.init_color(87, 800, 159, 669) + curses.init_color(88, 800, 159, 630) + curses.init_color(89, 800, 159, 591) + curses.init_color(90, 800, 159, 551) + curses.init_color(91, 800, 159, 512) + curses.init_color(92, 800, 159, 473) + curses.init_color(93, 800, 159, 434) + curses.init_color(94, 800, 159, 395) + curses.init_color(95, 800, 159, 355) + curses.init_color(96, 800, 159, 316) + curses.init_color(97, 800, 159, 277) + curses.init_color(98, 800, 159, 238) + curses.init_color(99, 800, 159, 199) + curses.init_color(100, 800, 159, 159) + curses.init_color(101, 800, 800, 800) + curses.init_color(102, 50, 50, 50) + curses.init_pair(1, 0, 1) + curses.init_pair(2, 0, 2) + curses.init_pair(3, 0, 3) + curses.init_pair(4, 0, 4) + curses.init_pair(5, 0, 5) + curses.init_pair(6, 0, 6) + curses.init_pair(7, 0, 7) + curses.init_pair(8, 0, 8) + curses.init_pair(9, 0, 9) + curses.init_pair(10, 0, 10) + curses.init_pair(11, 0, 11) + curses.init_pair(12, 0, 12) + curses.init_pair(13, 0, 13) + curses.init_pair(14, 0, 14) + curses.init_pair(15, 0, 15) + curses.init_pair(16, 0, 16) + curses.init_pair(17, 0, 17) + curses.init_pair(18, 0, 18) + curses.init_pair(19, 0, 19) + curses.init_pair(20, 0, 20) + curses.init_pair(21, 0, 21) + curses.init_pair(22, 0, 22) + curses.init_pair(23, 0, 23) + curses.init_pair(24, 0, 24) + curses.init_pair(25, 0, 25) + curses.init_pair(26, 0, 26) + curses.init_pair(27, 0, 27) + curses.init_pair(28, 0, 28) + curses.init_pair(29, 0, 29) + curses.init_pair(30, 0, 30) + curses.init_pair(31, 0, 31) + curses.init_pair(32, 0, 32) + curses.init_pair(33, 0, 33) + curses.init_pair(34, 0, 34) + curses.init_pair(35, 0, 35) + curses.init_pair(36, 0, 36) + curses.init_pair(37, 0, 37) + curses.init_pair(38, 0, 38) + curses.init_pair(39, 0, 39) + curses.init_pair(40, 0, 40) + curses.init_pair(41, 0, 41) + curses.init_pair(42, 0, 42) + curses.init_pair(43, 0, 43) + curses.init_pair(44, 0, 44) + curses.init_pair(45, 0, 45) + curses.init_pair(46, 0, 46) + curses.init_pair(47, 0, 47) + curses.init_pair(48, 0, 48) + curses.init_pair(49, 0, 49) + curses.init_pair(50, 0, 50) + curses.init_pair(51, 0, 51) + curses.init_pair(52, 0, 52) + curses.init_pair(53, 0, 53) + curses.init_pair(54, 0, 54) + curses.init_pair(55, 0, 55) + curses.init_pair(56, 0, 56) + curses.init_pair(57, 0, 57) + curses.init_pair(58, 0, 58) + curses.init_pair(59, 0, 59) + curses.init_pair(60, 0, 60) + curses.init_pair(61, 0, 61) + curses.init_pair(62, 0, 62) + curses.init_pair(63, 0, 63) + curses.init_pair(64, 0, 64) + curses.init_pair(65, 0, 65) + curses.init_pair(66, 0, 66) + curses.init_pair(67, 0, 67) + curses.init_pair(68, 0, 68) + curses.init_pair(69, 0, 69) + curses.init_pair(70, 0, 70) + curses.init_pair(71, 0, 71) + curses.init_pair(72, 0, 72) + curses.init_pair(73, 0, 73) + curses.init_pair(74, 0, 74) + curses.init_pair(75, 0, 75) + curses.init_pair(76, 0, 76) + curses.init_pair(77, 0, 77) + curses.init_pair(78, 0, 78) + curses.init_pair(79, 0, 79) + curses.init_pair(80, 0, 80) + curses.init_pair(81, 0, 81) + curses.init_pair(82, 0, 82) + curses.init_pair(83, 0, 83) + curses.init_pair(84, 0, 84) + curses.init_pair(85, 0, 85) + curses.init_pair(86, 0, 86) + curses.init_pair(87, 0, 87) + curses.init_pair(88, 0, 88) + curses.init_pair(89, 0, 89) + curses.init_pair(90, 0, 90) + curses.init_pair(91, 0, 91) + curses.init_pair(92, 0, 92) + curses.init_pair(93, 0, 93) + curses.init_pair(94, 0, 94) + curses.init_pair(95, 0, 95) + curses.init_pair(96, 0, 96) + curses.init_pair(97, 0, 97) + curses.init_pair(98, 0, 98) + curses.init_pair(99, 0, 99) + curses.init_pair(100, 0, 100) + curses.init_pair(101, 101, 102) + return 101 def init_101_monochrome(): - curses.init_color(1, 0, 0, 0) - curses.init_color(2, 10, 10, 10) - curses.init_color(3, 20, 20, 20) - curses.init_color(4, 30, 30, 30) - curses.init_color(5, 40, 40, 40) - curses.init_color(6, 50, 50, 50) - curses.init_color(7, 60, 60, 60) - curses.init_color(8, 70, 70, 70) - curses.init_color(9, 80, 80, 80) - curses.init_color(10, 90, 90, 90) - curses.init_color(11, 100, 100, 100) - curses.init_color(12, 110, 110, 110) - curses.init_color(13, 120, 120, 120) - curses.init_color(14, 130, 130, 130) - curses.init_color(15, 140, 140, 140) - curses.init_color(16, 150, 150, 150) - curses.init_color(17, 160, 160, 160) - curses.init_color(18, 170, 170, 170) - curses.init_color(19, 180, 180, 180) - curses.init_color(20, 190, 190, 190) - curses.init_color(21, 200, 200, 200) - curses.init_color(22, 210, 210, 210) - curses.init_color(23, 220, 220, 220) - curses.init_color(24, 230, 230, 230) - curses.init_color(25, 240, 240, 240) - curses.init_color(26, 250, 250, 250) - curses.init_color(27, 260, 260, 260) - curses.init_color(28, 270, 270, 270) - curses.init_color(29, 280, 280, 280) - curses.init_color(30, 290, 290, 290) - curses.init_color(31, 300, 300, 300) - curses.init_color(32, 310, 310, 310) - curses.init_color(33, 320, 320, 320) - curses.init_color(34, 330, 330, 330) - curses.init_color(35, 340, 340, 340) - curses.init_color(36, 350, 350, 350) - curses.init_color(37, 360, 360, 360) - curses.init_color(38, 370, 370, 370) - curses.init_color(39, 380, 380, 380) - curses.init_color(40, 390, 390, 390) - curses.init_color(41, 400, 400, 400) - curses.init_color(42, 410, 410, 410) - curses.init_color(43, 420, 420, 420) - curses.init_color(44, 430, 430, 430) - curses.init_color(45, 440, 440, 440) - curses.init_color(46, 450, 450, 450) - curses.init_color(47, 460, 460, 460) - curses.init_color(48, 470, 470, 470) - curses.init_color(49, 480, 480, 480) - curses.init_color(50, 490, 490, 490) - curses.init_color(51, 500, 500, 500) - curses.init_color(52, 510, 510, 510) - curses.init_color(53, 520, 520, 520) - curses.init_color(54, 530, 530, 530) - curses.init_color(55, 540, 540, 540) - curses.init_color(56, 550, 550, 550) - curses.init_color(57, 560, 560, 560) - curses.init_color(58, 570, 570, 570) - curses.init_color(59, 580, 580, 580) - curses.init_color(60, 590, 590, 590) - curses.init_color(61, 600, 600, 600) - curses.init_color(62, 610, 610, 610) - curses.init_color(63, 620, 620, 620) - curses.init_color(64, 630, 630, 630) - curses.init_color(65, 640, 640, 640) - curses.init_color(66, 650, 650, 650) - curses.init_color(67, 660, 660, 660) - curses.init_color(68, 670, 670, 670) - curses.init_color(69, 680, 680, 680) - curses.init_color(70, 690, 690, 690) - curses.init_color(71, 700, 700, 700) - curses.init_color(72, 710, 710, 710) - curses.init_color(73, 720, 720, 720) - curses.init_color(74, 730, 730, 730) - curses.init_color(75, 740, 740, 740) - curses.init_color(76, 750, 750, 750) - curses.init_color(77, 760, 760, 760) - curses.init_color(78, 770, 770, 770) - curses.init_color(79, 780, 780, 780) - curses.init_color(80, 790, 790, 790) - curses.init_color(81, 800, 800, 800) - curses.init_color(82, 810, 810, 810) - curses.init_color(83, 820, 820, 820) - curses.init_color(84, 830, 830, 830) - curses.init_color(85, 840, 840, 840) - curses.init_color(86, 850, 850, 850) - curses.init_color(87, 860, 860, 860) - curses.init_color(88, 870, 870, 870) - curses.init_color(89, 880, 880, 880) - curses.init_color(90, 890, 890, 890) - curses.init_color(91, 900, 900, 900) - curses.init_color(92, 910, 910, 910) - curses.init_color(93, 920, 920, 920) - curses.init_color(94, 930, 930, 930) - curses.init_color(95, 940, 940, 940) - curses.init_color(96, 950, 950, 950) - curses.init_color(97, 960, 960, 960) - curses.init_color(98, 970, 970, 970) - curses.init_color(99, 980, 980, 980) - curses.init_color(100, 990, 990, 990) - curses.init_pair(1, 0, 1) - curses.init_pair(2, 0, 2) - curses.init_pair(3, 0, 3) - curses.init_pair(4, 0, 4) - curses.init_pair(5, 0, 5) - curses.init_pair(6, 0, 6) - curses.init_pair(7, 0, 7) - curses.init_pair(8, 0, 8) - curses.init_pair(9, 0, 9) - curses.init_pair(10, 0, 10) - curses.init_pair(11, 0, 11) - curses.init_pair(12, 0, 12) - curses.init_pair(13, 0, 13) - curses.init_pair(14, 0, 14) - curses.init_pair(15, 0, 15) - curses.init_pair(16, 0, 16) - curses.init_pair(17, 0, 17) - curses.init_pair(18, 0, 18) - curses.init_pair(19, 0, 19) - curses.init_pair(20, 0, 20) - curses.init_pair(21, 0, 21) - curses.init_pair(22, 0, 22) - curses.init_pair(23, 0, 23) - curses.init_pair(24, 0, 24) - curses.init_pair(25, 0, 25) - curses.init_pair(26, 0, 26) - curses.init_pair(27, 0, 27) - curses.init_pair(28, 0, 28) - curses.init_pair(29, 0, 29) - curses.init_pair(30, 0, 30) - curses.init_pair(31, 0, 31) - curses.init_pair(32, 0, 32) - curses.init_pair(33, 0, 33) - curses.init_pair(34, 0, 34) - curses.init_pair(35, 0, 35) - curses.init_pair(36, 0, 36) - curses.init_pair(37, 0, 37) - curses.init_pair(38, 0, 38) - curses.init_pair(39, 0, 39) - curses.init_pair(40, 0, 40) - curses.init_pair(41, 0, 41) - curses.init_pair(42, 0, 42) - curses.init_pair(43, 0, 43) - curses.init_pair(44, 0, 44) - curses.init_pair(45, 0, 45) - curses.init_pair(46, 0, 46) - curses.init_pair(47, 0, 47) - curses.init_pair(48, 0, 48) - curses.init_pair(49, 0, 49) - curses.init_pair(50, 0, 50) - curses.init_pair(51, 0, 51) - curses.init_pair(52, 0, 52) - curses.init_pair(53, 0, 53) - curses.init_pair(54, 0, 54) - curses.init_pair(55, 0, 55) - curses.init_pair(56, 0, 56) - curses.init_pair(57, 0, 57) - curses.init_pair(58, 0, 58) - curses.init_pair(59, 0, 59) - curses.init_pair(60, 0, 60) - curses.init_pair(61, 0, 61) - curses.init_pair(62, 0, 62) - curses.init_pair(63, 0, 63) - curses.init_pair(64, 0, 64) - curses.init_pair(65, 0, 65) - curses.init_pair(66, 0, 66) - curses.init_pair(67, 0, 67) - curses.init_pair(68, 0, 68) - curses.init_pair(69, 0, 69) - curses.init_pair(70, 0, 70) - curses.init_pair(71, 0, 71) - curses.init_pair(72, 0, 72) - curses.init_pair(73, 0, 73) - curses.init_pair(74, 0, 74) - curses.init_pair(75, 0, 75) - curses.init_pair(76, 0, 76) - curses.init_pair(77, 0, 77) - curses.init_pair(78, 0, 78) - curses.init_pair(79, 0, 79) - curses.init_pair(80, 0, 80) - curses.init_pair(81, 0, 81) - curses.init_pair(82, 0, 82) - curses.init_pair(83, 0, 83) - curses.init_pair(84, 0, 84) - curses.init_pair(85, 0, 85) - curses.init_pair(86, 0, 86) - curses.init_pair(87, 0, 87) - curses.init_pair(88, 0, 88) - curses.init_pair(89, 0, 89) - curses.init_pair(90, 0, 90) - curses.init_pair(91, 0, 91) - curses.init_pair(92, 0, 92) - curses.init_pair(93, 0, 93) - curses.init_pair(94, 0, 94) - curses.init_pair(95, 0, 95) - curses.init_pair(96, 0, 96) - curses.init_pair(97, 0, 97) - curses.init_pair(98, 0, 98) - curses.init_pair(99, 0, 99) - curses.init_pair(100, 0, 100) - curses.init_pair(101, 81, 2) - return 101 + curses.init_color(1, 0, 0, 0) + curses.init_color(2, 10, 10, 10) + curses.init_color(3, 20, 20, 20) + curses.init_color(4, 30, 30, 30) + curses.init_color(5, 40, 40, 40) + curses.init_color(6, 50, 50, 50) + curses.init_color(7, 60, 60, 60) + curses.init_color(8, 70, 70, 70) + curses.init_color(9, 80, 80, 80) + curses.init_color(10, 90, 90, 90) + curses.init_color(11, 100, 100, 100) + curses.init_color(12, 110, 110, 110) + curses.init_color(13, 120, 120, 120) + curses.init_color(14, 130, 130, 130) + curses.init_color(15, 140, 140, 140) + curses.init_color(16, 150, 150, 150) + curses.init_color(17, 160, 160, 160) + curses.init_color(18, 170, 170, 170) + curses.init_color(19, 180, 180, 180) + curses.init_color(20, 190, 190, 190) + curses.init_color(21, 200, 200, 200) + curses.init_color(22, 210, 210, 210) + curses.init_color(23, 220, 220, 220) + curses.init_color(24, 230, 230, 230) + curses.init_color(25, 240, 240, 240) + curses.init_color(26, 250, 250, 250) + curses.init_color(27, 260, 260, 260) + curses.init_color(28, 270, 270, 270) + curses.init_color(29, 280, 280, 280) + curses.init_color(30, 290, 290, 290) + curses.init_color(31, 300, 300, 300) + curses.init_color(32, 310, 310, 310) + curses.init_color(33, 320, 320, 320) + curses.init_color(34, 330, 330, 330) + curses.init_color(35, 340, 340, 340) + curses.init_color(36, 350, 350, 350) + curses.init_color(37, 360, 360, 360) + curses.init_color(38, 370, 370, 370) + curses.init_color(39, 380, 380, 380) + curses.init_color(40, 390, 390, 390) + curses.init_color(41, 400, 400, 400) + curses.init_color(42, 410, 410, 410) + curses.init_color(43, 420, 420, 420) + curses.init_color(44, 430, 430, 430) + curses.init_color(45, 440, 440, 440) + curses.init_color(46, 450, 450, 450) + curses.init_color(47, 460, 460, 460) + curses.init_color(48, 470, 470, 470) + curses.init_color(49, 480, 480, 480) + curses.init_color(50, 490, 490, 490) + curses.init_color(51, 500, 500, 500) + curses.init_color(52, 510, 510, 510) + curses.init_color(53, 520, 520, 520) + curses.init_color(54, 530, 530, 530) + curses.init_color(55, 540, 540, 540) + curses.init_color(56, 550, 550, 550) + curses.init_color(57, 560, 560, 560) + curses.init_color(58, 570, 570, 570) + curses.init_color(59, 580, 580, 580) + curses.init_color(60, 590, 590, 590) + curses.init_color(61, 600, 600, 600) + curses.init_color(62, 610, 610, 610) + curses.init_color(63, 620, 620, 620) + curses.init_color(64, 630, 630, 630) + curses.init_color(65, 640, 640, 640) + curses.init_color(66, 650, 650, 650) + curses.init_color(67, 660, 660, 660) + curses.init_color(68, 670, 670, 670) + curses.init_color(69, 680, 680, 680) + curses.init_color(70, 690, 690, 690) + curses.init_color(71, 700, 700, 700) + curses.init_color(72, 710, 710, 710) + curses.init_color(73, 720, 720, 720) + curses.init_color(74, 730, 730, 730) + curses.init_color(75, 740, 740, 740) + curses.init_color(76, 750, 750, 750) + curses.init_color(77, 760, 760, 760) + curses.init_color(78, 770, 770, 770) + curses.init_color(79, 780, 780, 780) + curses.init_color(80, 790, 790, 790) + curses.init_color(81, 800, 800, 800) + curses.init_color(82, 810, 810, 810) + curses.init_color(83, 820, 820, 820) + curses.init_color(84, 830, 830, 830) + curses.init_color(85, 840, 840, 840) + curses.init_color(86, 850, 850, 850) + curses.init_color(87, 860, 860, 860) + curses.init_color(88, 870, 870, 870) + curses.init_color(89, 880, 880, 880) + curses.init_color(90, 890, 890, 890) + curses.init_color(91, 900, 900, 900) + curses.init_color(92, 910, 910, 910) + curses.init_color(93, 920, 920, 920) + curses.init_color(94, 930, 930, 930) + curses.init_color(95, 940, 940, 940) + curses.init_color(96, 950, 950, 950) + curses.init_color(97, 960, 960, 960) + curses.init_color(98, 970, 970, 970) + curses.init_color(99, 980, 980, 980) + curses.init_color(100, 990, 990, 990) + curses.init_pair(1, 0, 1) + curses.init_pair(2, 0, 2) + curses.init_pair(3, 0, 3) + curses.init_pair(4, 0, 4) + curses.init_pair(5, 0, 5) + curses.init_pair(6, 0, 6) + curses.init_pair(7, 0, 7) + curses.init_pair(8, 0, 8) + curses.init_pair(9, 0, 9) + curses.init_pair(10, 0, 10) + curses.init_pair(11, 0, 11) + curses.init_pair(12, 0, 12) + curses.init_pair(13, 0, 13) + curses.init_pair(14, 0, 14) + curses.init_pair(15, 0, 15) + curses.init_pair(16, 0, 16) + curses.init_pair(17, 0, 17) + curses.init_pair(18, 0, 18) + curses.init_pair(19, 0, 19) + curses.init_pair(20, 0, 20) + curses.init_pair(21, 0, 21) + curses.init_pair(22, 0, 22) + curses.init_pair(23, 0, 23) + curses.init_pair(24, 0, 24) + curses.init_pair(25, 0, 25) + curses.init_pair(26, 0, 26) + curses.init_pair(27, 0, 27) + curses.init_pair(28, 0, 28) + curses.init_pair(29, 0, 29) + curses.init_pair(30, 0, 30) + curses.init_pair(31, 0, 31) + curses.init_pair(32, 0, 32) + curses.init_pair(33, 0, 33) + curses.init_pair(34, 0, 34) + curses.init_pair(35, 0, 35) + curses.init_pair(36, 0, 36) + curses.init_pair(37, 0, 37) + curses.init_pair(38, 0, 38) + curses.init_pair(39, 0, 39) + curses.init_pair(40, 0, 40) + curses.init_pair(41, 0, 41) + curses.init_pair(42, 0, 42) + curses.init_pair(43, 0, 43) + curses.init_pair(44, 0, 44) + curses.init_pair(45, 0, 45) + curses.init_pair(46, 0, 46) + curses.init_pair(47, 0, 47) + curses.init_pair(48, 0, 48) + curses.init_pair(49, 0, 49) + curses.init_pair(50, 0, 50) + curses.init_pair(51, 0, 51) + curses.init_pair(52, 0, 52) + curses.init_pair(53, 0, 53) + curses.init_pair(54, 0, 54) + curses.init_pair(55, 0, 55) + curses.init_pair(56, 0, 56) + curses.init_pair(57, 0, 57) + curses.init_pair(58, 0, 58) + curses.init_pair(59, 0, 59) + curses.init_pair(60, 0, 60) + curses.init_pair(61, 0, 61) + curses.init_pair(62, 0, 62) + curses.init_pair(63, 0, 63) + curses.init_pair(64, 0, 64) + curses.init_pair(65, 0, 65) + curses.init_pair(66, 0, 66) + curses.init_pair(67, 0, 67) + curses.init_pair(68, 0, 68) + curses.init_pair(69, 0, 69) + curses.init_pair(70, 0, 70) + curses.init_pair(71, 0, 71) + curses.init_pair(72, 0, 72) + curses.init_pair(73, 0, 73) + curses.init_pair(74, 0, 74) + curses.init_pair(75, 0, 75) + curses.init_pair(76, 0, 76) + curses.init_pair(77, 0, 77) + curses.init_pair(78, 0, 78) + curses.init_pair(79, 0, 79) + curses.init_pair(80, 0, 80) + curses.init_pair(81, 0, 81) + curses.init_pair(82, 0, 82) + curses.init_pair(83, 0, 83) + curses.init_pair(84, 0, 84) + curses.init_pair(85, 0, 85) + curses.init_pair(86, 0, 86) + curses.init_pair(87, 0, 87) + curses.init_pair(88, 0, 88) + curses.init_pair(89, 0, 89) + curses.init_pair(90, 0, 90) + curses.init_pair(91, 0, 91) + curses.init_pair(92, 0, 92) + curses.init_pair(93, 0, 93) + curses.init_pair(94, 0, 94) + curses.init_pair(95, 0, 95) + curses.init_pair(96, 0, 96) + curses.init_pair(97, 0, 97) + curses.init_pair(98, 0, 98) + curses.init_pair(99, 0, 99) + curses.init_pair(100, 0, 100) + curses.init_pair(101, 81, 2) + return 101 diff --git a/mandelbrot.py b/mandelbrot.py index 809005c..5464b5d 100644 --- a/mandelbrot.py +++ b/mandelbrot.py @@ -7,7 +7,7 @@ # Distributed under terms of the BSD-3-Clause license. -import numpy as np +import numpy as np # type: ignore import curses import colors @@ -24,124 +24,129 @@ Y_MID = 0 def get_points(cols, rows): - x_min = X_MID - X_SCALE * (1 / (2 ** ZOOM_LEVEL)) - x_max = X_MID + X_SCALE * (1 / (2 ** ZOOM_LEVEL)) - y_min = Y_MID - Y_SCALE * (1 / (2 ** ZOOM_LEVEL)) - y_max = Y_MID + Y_SCALE * (1 / (2 ** ZOOM_LEVEL)) - x = np.linspace(x_min, x_max, cols) - y = np.linspace(y_min, y_max, rows) - return x, y + x_min = X_MID - X_SCALE * (1 / (2 ** ZOOM_LEVEL)) + x_max = X_MID + X_SCALE * (1 / (2 ** ZOOM_LEVEL)) + y_min = Y_MID - Y_SCALE * (1 / (2 ** ZOOM_LEVEL)) + y_max = Y_MID + Y_SCALE * (1 / (2 ** ZOOM_LEVEL)) + x = np.linspace(x_min, x_max, cols) + y = np.linspace(y_min, y_max, rows) + return x, y def calculate_point(x, y): - global ITERATIONS - z = 0 - p = (x - 0.25) ** 2 + y ** 2 - if p * (p + (x - 0.25)) < 0.25 * (y ** 2): - return -1 - if (x + 1) ** 2 + y ** 2 <= 0.0625: - return -1 + global ITERATIONS + z = 0 + p = (x - 0.25) ** 2 + y ** 2 + if p * (p + (x - 0.25)) < 0.25 * (y ** 2): + return -1 - for i in range(MAX_ITERS): - ITERATIONS += 1 - z = z ** 2 + complex(x, y) - if abs(z) >= 2: - return i + if (x + 1) ** 2 + y ** 2 <= 0.0625: + return -1 - return -1 + for i in range(MAX_ITERS): + ITERATIONS += 1 + z = z ** 2 + complex(x, y) + if abs(z) >= 2: + return i + + return -1 def calculate_set(cols, rows): - global ITERATIONS - ITERATIONS = 0 - x, y = get_points(cols, rows) - matrix = np.zeros([rows, cols]) - for i in range(rows): - for j in range(cols): - matrix[i, j] = calculate_point(x[j], y[i]) + global ITERATIONS + ITERATIONS = 0 + x, y = get_points(cols, rows) + matrix = np.zeros([rows, cols]) + for i in range(rows): + for j in range(cols): + matrix[i, j] = calculate_point(x[j], y[i]) - return matrix + return matrix def print_set(screen, cols, rows, matrix, char): - screen.clear() - for i in range(rows): - for j in range(cols): - iteration = matrix[i, j] - if iteration == -1: - screen.addstr(i, j, ' ', curses.color_pair(1)) - else: - color_index = (int(iteration) + 2) % COLOR_COUNT - color_index = 2 if color_index < 2 else color_index - screen.addstr(i, j, ' ', curses.color_pair(color_index)) + screen.clear() + for i in range(rows): + for j in range(cols): + iteration = matrix[i, j] + if iteration == -1: + screen.addstr(i, j, ' ', curses.color_pair(1)) + else: + color_index = (int(iteration) + 2) % COLOR_COUNT + color_index = 2 if color_index < 2 else color_index + screen.addstr(i, j, ' ', curses.color_pair(color_index)) - screen.addstr(rows, 0, f'Max Iterations: {MAX_ITERS}, Zoom: {ZOOM_LEVEL}, Iterations: {ITERATIONS}, Char: {char}', curses.color_pair(COLOR_COUNT)) - screen.refresh() + screen.addstr( + rows, + 0, + f'Max Iterations: {MAX_ITERS}, Zoom: {ZOOM_LEVEL}', + curses.color_pair(COLOR_COUNT), + ) + screen.refresh() def handle_keyboard(char): - global X_MID - global Y_MID - global ZOOM_LEVEL - global MAX_ITERS - global MONOCHROME - global COLOR_COUNT + global X_MID + global Y_MID + global ZOOM_LEVEL + global MAX_ITERS + global MONOCHROME + global COLOR_COUNT - if char == 113: # Quit - return True - elif char == 258: # Down - Y_MID += Y_SCALE * (1 / (2 ** (ZOOM_LEVEL + 1))) - return False - elif char == 259: # Up - Y_MID -= Y_SCALE * (1 / (2 ** (ZOOM_LEVEL + 1))) - return False - elif char == 260: # Left - X_MID -= X_SCALE * (1 / (2 ** (ZOOM_LEVEL + 1))) - return False - elif char == 261: # Right - X_MID += X_SCALE * (1 / (2 ** (ZOOM_LEVEL + 1))) - return False - elif char == 40: # Zoom out - if ZOOM_LEVEL > 0: - ZOOM_LEVEL -= 1 - return False - elif char == 41: # Zoom in - ZOOM_LEVEL += 1 - return False - elif char == 61: # Zoom reset - ZOOM_LEVEL = 0 - return False - elif char == 43: # Iterations up - MAX_ITERS += 1 - return False - elif char == 45: # Iterations down - MAX_ITERS = 1 if MAX_ITERS == 1 else MAX_ITERS - 1 - return False - elif char == 99: # Toggle colors - if MONOCHROME: - COLOR_COUNT = colors.init_101_colors() - MONOCHROME = False - else: - COLOR_COUNT = colors.init_101_monochrome() - MONOCHROME = True + if char == 113: # Quit + return True + elif char == 258: # Down + Y_MID += Y_SCALE * (1 / (2 ** (ZOOM_LEVEL + 1))) + return False + elif char == 259: # Up + Y_MID -= Y_SCALE * (1 / (2 ** (ZOOM_LEVEL + 1))) + return False + elif char == 260: # Left + X_MID -= X_SCALE * (1 / (2 ** (ZOOM_LEVEL + 1))) + return False + elif char == 261: # Right + X_MID += X_SCALE * (1 / (2 ** (ZOOM_LEVEL + 1))) + return False + elif char == 40: # Zoom out + if ZOOM_LEVEL > 0: + ZOOM_LEVEL -= 1 + return False + elif char == 41: # Zoom in + ZOOM_LEVEL += 1 + return False + elif char == 61: # Zoom reset + ZOOM_LEVEL = 0 + return False + elif char == 43: # Iterations up + MAX_ITERS += 1 + return False + elif char == 45: # Iterations down + MAX_ITERS = 1 if MAX_ITERS == 1 else MAX_ITERS - 1 + return False + elif char == 99: # Toggle colors + if MONOCHROME: + COLOR_COUNT = colors.init_101_colors() + MONOCHROME = False + else: + COLOR_COUNT = colors.init_101_monochrome() + MONOCHROME = True - return False + return False def main(screen): - global COLOR_COUNT - rows, cols = screen.getmaxyx() - rows -= 1 - COLOR_COUNT = colors.init_101_colors() - char = 0 - while True: - matrix = calculate_set(cols, rows) - print_set(screen, cols, rows, matrix, char) - char = screen.getch() - if handle_keyboard(char): - break + global COLOR_COUNT + rows, cols = screen.getmaxyx() + rows -= 1 + COLOR_COUNT = colors.init_101_colors() + char = 0 + while True: + matrix = calculate_set(cols, rows) + print_set(screen, cols, rows, matrix, char) + char = screen.getch() + if handle_keyboard(char): + break if __name__ == '__main__': - curses.wrapper(main) - + curses.wrapper(main)