From 026646d7399282a9a015d4e1d31e01ea4f1a2894 Mon Sep 17 00:00:00 2001 From: ThatXliner Date: Sun, 15 Oct 2023 18:05:59 -0700 Subject: [PATCH 1/6] Update info.json --- info.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/info.json b/info.json index 81910fd..17262d0 100644 --- a/info.json +++ b/info.json @@ -10,5 +10,9 @@ "c": { "name": "Andy Sloane", "github": "a1k0n" + }, + "rs": { + "name": "Bryan Hu", + "github": "ThatXliner" } } From 9705565f14ce166ca128f5a43c22601fc569bb79 Mon Sep 17 00:00:00 2001 From: ThatXliner Date: Sun, 15 Oct 2023 21:51:03 -0700 Subject: [PATCH 2/6] Added Rust --- donuts/donut-chatgpt.rs | 59 ++++++++++++++++++++++++++++++++++++++ donuts/donut.rs | 63 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+) create mode 100644 donuts/donut-chatgpt.rs create mode 100644 donuts/donut.rs diff --git a/donuts/donut-chatgpt.rs b/donuts/donut-chatgpt.rs new file mode 100644 index 0000000..0f0bbbe --- /dev/null +++ b/donuts/donut-chatgpt.rs @@ -0,0 +1,59 @@ +use std::{io::{self, Write}, f64::consts::PI}; + +fn main() { + let mut A: f64 = 0.0; + let mut B: f64 = 0.0; + let mut z: [f64; 7040] = [0.0; 7040]; + let mut b: [char; 1760] = [' '; 1760]; + print!("\x1b[2J"); + + loop { + for j in (0..1760).step_by(1) { + b[j] = ' '; + } + for i in (0..1760).step_by(1) { + z[i] = 0.0; + } + + for j in (0..628).step_by(1) { + let jf: f64 = j as f64 * 0.01; + for i in (0..628).step_by(1) { + let fi: f64 = i as f64 * 0.01; + let c: f64 = fi.sin(); + let d: f64 = jf.cos(); + let e: f64 = A.sin(); + let f: f64 = jf.sin(); + let g: f64 = A.cos(); + let h: f64 = d + 2.0; + let D: f64 = 1.0 / (c * h * e + f * g + 5.0); + let l: f64 = fi.cos(); + let m: f64 = B.cos(); + let n: f64 = B.sin(); + let t: f64 = c * h * g - f * e; + let x: i32 = (40.0 + 30.0 * D * (l * h * m - t * n)) as i32; + let y: i32 = (12.0 + 15.0 * D * (l * h * n + t * m)) as i32; + let o: usize = (x + 80 * y) as usize; + let N: i32 = (8.0 * (f * e - c * d * g) * m - c * d * e - f * g - l * d * n) as i32; + + if y > 0 && y < 22 && x > 0 && x < 80 && D > z[o] { + z[o] = D; + b[o] = match N { + n if n > 0 => ".,-~:;=!*#$@".as_bytes()[n as usize] as char, + _ => ' ', + }; + } + } + } + + print!("\x1b[H"); + for (k, &ch) in b.iter().enumerate() { + print!("{}", ch); + if (k + 1) % 80 == 0 { + println!(); + } + } + + A += 0.04; + B += 0.02; + } +} diff --git a/donuts/donut.rs b/donuts/donut.rs new file mode 100644 index 0000000..cb9f57f --- /dev/null +++ b/donuts/donut.rs @@ -0,0 +1,63 @@ +use std::f64::consts::PI; +use std::io::{self, Write}; +use std::thread; +use std::time::Duration; + +fn main() { + let mut A: f64 = 0.0; + let mut B: f64 = 0.0; + let mut z = vec![0.0; 1760]; + let mut b = vec![' '; 1760]; + let PI_2 = PI * 2.0; + print!("\x1b[2J"); + loop { + for i in 0..1760 { + b[i] = ' '; + z[i] = 0.0; + } + let mut j = 0.0; + while j < PI_2 { + let mut i = 0.0; + while i < PI_2 { + let c = i.sin(); + let d = j.sin(); + let e = A.sin(); + let f = j.sin(); + let g = A.cos(); + let h = d + 2.0; + let D = 1.0 / (c * h * e + f * g + 5.0); + let l = i.cos(); + let m = B.cos(); + let n = B.sin(); + let t = c * h * g - f * e; + let x = (40.0 + 30.0 * D * (l * h * m - t * n)) as i32; + let y = (12.0 + 15.0 * D * (l * h * n + t * m)) as i32; + let o = (x + 80 * y) as usize; + let N = (8.0 * ((f * e - c * d * g) * m - c * d * e - f * g - l * d * n)) as i32; + if 22 > y && y > 0 && x > 0 && 80 > x && D > z[o] { + z[o] = D; + b[o] = match N { + N if N > 0 => ".,-~:;=!*#$@".as_bytes()[h as usize] as char, + _ => ' ', + }; + } + i += 0.02; + } + j += 0.07; + } + + print!("\x1b[H"); + for k in 0..1761 { + let s = match k { + k if k % 80 == 0 => '\n', + _ => b[k], + }; + print!("{}", s); + } + io::stdout().flush().unwrap(); + A += 0.04; + B += 0.02; + + thread::sleep(Duration::from_millis(50)); + } +} From 94c409ad7390fa9b37543fc1f129a48f045cd3bb Mon Sep 17 00:00:00 2001 From: ThatXliner Date: Sat, 21 Oct 2023 13:55:07 -0700 Subject: [PATCH 3/6] Rewrote donut manually --- donuts/donut-chatgpt.rs | 59 ------------------------------- donuts/donut.rs | 77 ++++++++++++++++------------------------- 2 files changed, 30 insertions(+), 106 deletions(-) delete mode 100644 donuts/donut-chatgpt.rs diff --git a/donuts/donut-chatgpt.rs b/donuts/donut-chatgpt.rs deleted file mode 100644 index 0f0bbbe..0000000 --- a/donuts/donut-chatgpt.rs +++ /dev/null @@ -1,59 +0,0 @@ -use std::{io::{self, Write}, f64::consts::PI}; - -fn main() { - let mut A: f64 = 0.0; - let mut B: f64 = 0.0; - let mut z: [f64; 7040] = [0.0; 7040]; - let mut b: [char; 1760] = [' '; 1760]; - print!("\x1b[2J"); - - loop { - for j in (0..1760).step_by(1) { - b[j] = ' '; - } - for i in (0..1760).step_by(1) { - z[i] = 0.0; - } - - for j in (0..628).step_by(1) { - let jf: f64 = j as f64 * 0.01; - for i in (0..628).step_by(1) { - let fi: f64 = i as f64 * 0.01; - let c: f64 = fi.sin(); - let d: f64 = jf.cos(); - let e: f64 = A.sin(); - let f: f64 = jf.sin(); - let g: f64 = A.cos(); - let h: f64 = d + 2.0; - let D: f64 = 1.0 / (c * h * e + f * g + 5.0); - let l: f64 = fi.cos(); - let m: f64 = B.cos(); - let n: f64 = B.sin(); - let t: f64 = c * h * g - f * e; - let x: i32 = (40.0 + 30.0 * D * (l * h * m - t * n)) as i32; - let y: i32 = (12.0 + 15.0 * D * (l * h * n + t * m)) as i32; - let o: usize = (x + 80 * y) as usize; - let N: i32 = (8.0 * (f * e - c * d * g) * m - c * d * e - f * g - l * d * n) as i32; - - if y > 0 && y < 22 && x > 0 && x < 80 && D > z[o] { - z[o] = D; - b[o] = match N { - n if n > 0 => ".,-~:;=!*#$@".as_bytes()[n as usize] as char, - _ => ' ', - }; - } - } - } - - print!("\x1b[H"); - for (k, &ch) in b.iter().enumerate() { - print!("{}", ch); - if (k + 1) % 80 == 0 { - println!(); - } - } - - A += 0.04; - B += 0.02; - } -} diff --git a/donuts/donut.rs b/donuts/donut.rs index cb9f57f..adf009c 100644 --- a/donuts/donut.rs +++ b/donuts/donut.rs @@ -6,58 +6,41 @@ use std::time::Duration; fn main() { let mut A: f64 = 0.0; let mut B: f64 = 0.0; - let mut z = vec![0.0; 1760]; - let mut b = vec![' '; 1760]; - let PI_2 = PI * 2.0; - print!("\x1b[2J"); loop { - for i in 0..1760 { - b[i] = ' '; - z[i] = 0.0; + let mut s = vec![' '; 1760]; + let mut t = vec![0.0; 1760]; + A += 0.05; + B += 0.07; + let o = A.cos(); + let e = A.sin(); + let n = B.cos(); + let c = B.sin(); + for o in 0..1760 { + s[o] = match o { + o if o % 80 == 79 => '\n', + _ => ' ', + } } - let mut j = 0.0; - while j < PI_2 { - let mut i = 0.0; - while i < PI_2 { - let c = i.sin(); - let d = j.sin(); - let e = A.sin(); - let f = j.sin(); - let g = A.cos(); - let h = d + 2.0; - let D = 1.0 / (c * h * e + f * g + 5.0); - let l = i.cos(); - let m = B.cos(); - let n = B.sin(); - let t = c * h * g - f * e; - let x = (40.0 + 30.0 * D * (l * h * m - t * n)) as i32; - let y = (12.0 + 15.0 * D * (l * h * n + t * m)) as i32; - let o = (x + 80 * y) as usize; - let N = (8.0 * ((f * e - c * d * g) * m - c * d * e - f * g - l * d * n)) as i32; - if 22 > y && y > 0 && x > 0 && 80 > x && D > z[o] { - z[o] = D; - b[o] = match N { - N if N > 0 => ".,-~:;=!*#$@".as_bytes()[h as usize] as char, - _ => ' ', - }; + for i in (0..628).step_by(7) { + let r = (i as f64 * 0.01).cos(); + let a = (i as f64 * 0.01).sin(); + for i in (0..628).step_by(2) { + let l = (i as f64 * 0.01).sin(); + let f = (i as f64 * 0.01).cos(); + let A = r + 2.0; + let B = 1.0 / (l * A * e + a * o + 5.0); + let d = l * A * o - a * e; + let m = (40.0 + 30.0 * B * (f * A * n - d * c)) as i32; + let v = (12.0 + 15.0 * B * (f * A * c + d * n)) as i32; + let I = (m + 80 * v) as usize; + let h = (8.0 * ((a * e - l * r * o) * n - l * r * e - a * o - f * r * c)) as usize; + if v < 22 && v >= 0 && m >= 0 && m < 79 && B > t[I] { + t[I] = B; + s[I] = ".,-~:;=!*#$@".as_bytes()[h] as char; } - i += 0.02; } - j += 0.07; - } - - print!("\x1b[H"); - for k in 0..1761 { - let s = match k { - k if k % 80 == 0 => '\n', - _ => b[k], - }; - print!("{}", s); } - io::stdout().flush().unwrap(); - A += 0.04; - B += 0.02; - + print!("\x1b[J\x1b[H{}", s.iter().collect::()); thread::sleep(Duration::from_millis(50)); } } From 046abcf3bbed2f8d93fffd0926e91f511db96052 Mon Sep 17 00:00:00 2001 From: ThatXliner Date: Sat, 21 Oct 2023 15:17:37 -0700 Subject: [PATCH 4/6] Cooking... --- donuts/donut.rs | 76 ++++++++++++++++++--------------------------- donuts/new-donut.rs | 1 + 2 files changed, 32 insertions(+), 45 deletions(-) create mode 100644 donuts/new-donut.rs diff --git a/donuts/donut.rs b/donuts/donut.rs index adf009c..d150bfc 100644 --- a/donuts/donut.rs +++ b/donuts/donut.rs @@ -1,46 +1,32 @@ -use std::f64::consts::PI; -use std::io::{self, Write}; -use std::thread; -use std::time::Duration; +Outer radius: 27 +Inner radius: 9 -fn main() { - let mut A: f64 = 0.0; - let mut B: f64 = 0.0; - loop { - let mut s = vec![' '; 1760]; - let mut t = vec![0.0; 1760]; - A += 0.05; - B += 0.07; - let o = A.cos(); - let e = A.sin(); - let n = B.cos(); - let c = B.sin(); - for o in 0..1760 { - s[o] = match o { - o if o % 80 == 79 => '\n', - _ => ' ', - } - } - for i in (0..628).step_by(7) { - let r = (i as f64 * 0.01).cos(); - let a = (i as f64 * 0.01).sin(); - for i in (0..628).step_by(2) { - let l = (i as f64 * 0.01).sin(); - let f = (i as f64 * 0.01).cos(); - let A = r + 2.0; - let B = 1.0 / (l * A * e + a * o + 5.0); - let d = l * A * o - a * e; - let m = (40.0 + 30.0 * B * (f * A * n - d * c)) as i32; - let v = (12.0 + 15.0 * B * (f * A * c + d * n)) as i32; - let I = (m + 80 * v) as usize; - let h = (8.0 * ((a * e - l * r * o) * n - l * r * e - a * o - f * r * c)) as usize; - if v < 22 && v >= 0 && m >= 0 && m < 79 && B > t[I] { - t[I] = B; - s[I] = ".,-~:;=!*#$@".as_bytes()[h] as char; - } - } - } - print!("\x1b[J\x1b[H{}", s.iter().collect::()); - thread::sleep(Duration::from_millis(50)); - } -} + ............... + ......................... + ............................... + ..................................... + ......................................... + ........................................... + ............................................... + ................................................. + ................................................... + ..................... ..................... + .................... .................... + .................. .................. + .................. .................. + .................. .................. + .................. .................. + .................. .................. + .................... .................... + ..................... ..................... + ................................................... + ................................................. + ............................................... + ........................................... + ......................................... + ..................................... + ............................... + ......................... + ............... + +Character count: 1022 diff --git a/donuts/new-donut.rs b/donuts/new-donut.rs new file mode 100644 index 0000000..f30bd1c --- /dev/null +++ b/donuts/new-donut.rs @@ -0,0 +1 @@ +use std::thread;use std::time::Duration;fn main(){let mut A:f64=0.0;let mut B:f64=0.0;loop{let mut s=vec![' ';1760];let mut t=vec![0.0;1760];A+=0.05;B+=0.07;let o=A.cos();let e=A.sin();let n=B.cos();let c=B.sin();for o in 0..1760{s[o]=match o{o if o%80==79=>'\n',_=>' ',}}for i in (0..628).step_by(7){let r=(i as f64*0.01).cos();let a=(i as f64*0.01).sin();for i in (0..628).step_by(2){let l=(i as f64*0.01).sin();let f=(i as f64*0.01).cos();let A=r+2.0;let B=1.0/(l*A*e+a*o+5.0);let d=l*A*o-a*e;let m=(40.0+30.0*B*(f*A*n-d*c))as i32;let v=(12.0+15.0*B*(f*A*c+d*n))as i32;let I=(m+80*v)as usize;let h=(8.0*((a*e-l*r*o)*n-l*r*e-a*o-f*r*c))as usize;if v<22&&v>=0&&m>=0&&m<79&&B>t[I]{t[I]=B;s[I]=".,-~:;=!*#$@".as_bytes()[h]as char;}}}print!("\x1b[J\x1b[H{}",s.iter().collect::());thread::sleep(Duration::from_millis(50));}} From a6e35595fa3458181dec3eb312627b8635815a6a Mon Sep 17 00:00:00 2001 From: ThatXliner Date: Sun, 22 Oct 2023 13:04:56 -0700 Subject: [PATCH 5/6] Done --- donuts/donut.rs | 55 ++++++++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/donuts/donut.rs b/donuts/donut.rs index d150bfc..90333ad 100644 --- a/donuts/donut.rs +++ b/donuts/donut.rs @@ -1,32 +1,27 @@ -Outer radius: 27 -Inner radius: 9 - - ............... - ......................... - ............................... - ..................................... - ......................................... - ........................................... - ............................................... - ................................................. - ................................................... - ..................... ..................... - .................... .................... - .................. .................. - .................. .................. - .................. .................. - .................. .................. - .................. .................. - .................... .................... - ..................... ..................... - ................................................... - ................................................. + /*Rust!*/use std + ::thread; use std::time:: + Duration;; fn main(){ let mut A + =0.0;let mut B:f64=0.0;loop{let mut s + =vec![' ';1760];let mut t=vec![0.0;1760]; + A+=0.05;B+=0.07;let o=A.cos();let e=A.sin() + ;let n=B.cos();let c=B.sin();for o in 0..1760{s + [o]=match o{o if o%80==79=>'\n',_=>' ',}}for i in + (0..628).step_by(2){let l=(i as f64*0.01).sin();let + f=(i as f64*0.01).cos ();let A=r+2.0;let B= + 1.0/(l*A*e+a*o+5.0); let d:f64=l*A*o-a*e; + let m =(40.0+30.0*B * (f*A*n-d*c)) as + i32;;let v:f64=(12 .0+15.0*B*(f*A*c+d + *n))as i32;let I=( m+80*v)as usize;;; + let h=(8.0*((a*e-l *r*o)*n-l*r*e-a*o- + f*r*c))as usize;if v<22&&v>=0&&m>=0&& + m<79&&B>t[I]{t[I]=B; s[I] =".,-~:;=!*#$@" + .as_bytes()[h]as char ;}}};print!//Almost.. + ("\x1b[J\x1b[H{}", s.iter().collect::());;; + thread::sleep(Duration::from_millis(50));}}/*.... ............................................... - ........................................... + <================Rust Donut=================> ......................................... - ..................................... - ............................... - ......................... - ............... - -Character count: 1022 + .................by.................. + ..................ThatXliner... + ....follow me on Github!! + .............*/ \ No newline at end of file From 2f592d62067eb7ecdc2e83cd8b2ba89b76d2fc27 Mon Sep 17 00:00:00 2001 From: ThatXliner Date: Sun, 22 Oct 2023 13:14:32 -0700 Subject: [PATCH 6/6] Removed unnecessary file --- donuts/new-donut.rs | 1 - 1 file changed, 1 deletion(-) delete mode 100644 donuts/new-donut.rs diff --git a/donuts/new-donut.rs b/donuts/new-donut.rs deleted file mode 100644 index f30bd1c..0000000 --- a/donuts/new-donut.rs +++ /dev/null @@ -1 +0,0 @@ -use std::thread;use std::time::Duration;fn main(){let mut A:f64=0.0;let mut B:f64=0.0;loop{let mut s=vec![' ';1760];let mut t=vec![0.0;1760];A+=0.05;B+=0.07;let o=A.cos();let e=A.sin();let n=B.cos();let c=B.sin();for o in 0..1760{s[o]=match o{o if o%80==79=>'\n',_=>' ',}}for i in (0..628).step_by(7){let r=(i as f64*0.01).cos();let a=(i as f64*0.01).sin();for i in (0..628).step_by(2){let l=(i as f64*0.01).sin();let f=(i as f64*0.01).cos();let A=r+2.0;let B=1.0/(l*A*e+a*o+5.0);let d=l*A*o-a*e;let m=(40.0+30.0*B*(f*A*n-d*c))as i32;let v=(12.0+15.0*B*(f*A*c+d*n))as i32;let I=(m+80*v)as usize;let h=(8.0*((a*e-l*r*o)*n-l*r*e-a*o-f*r*c))as usize;if v<22&&v>=0&&m>=0&&m<79&&B>t[I]{t[I]=B;s[I]=".,-~:;=!*#$@".as_bytes()[h]as char;}}}print!("\x1b[J\x1b[H{}",s.iter().collect::());thread::sleep(Duration::from_millis(50));}}