From d15dbaf025df9265dce417faaa5ccf33ae04d4b5 Mon Sep 17 00:00:00 2001 From: Zuhaitz Méndez Fernández de Aránguiz Date: Sat, 17 Jan 2026 12:14:26 +0000 Subject: Fix for #31 --- examples/comptime_fib.zc | 25 ---------- examples/features/comptime_fib.zc | 25 ++++++++++ examples/features/showcase.zc | 98 +++++++++++++++++++++++++++++++++++++++ examples/graphics/mandelbrot.zc | 78 +++++++++++++++++++++++++++++++ examples/graphics/raylib_demo.zc | 40 ++++++++++++++++ examples/raylib_demo.zc | 40 ---------------- examples/showcase.zc | 98 --------------------------------------- 7 files changed, 241 insertions(+), 163 deletions(-) delete mode 100644 examples/comptime_fib.zc create mode 100644 examples/features/comptime_fib.zc create mode 100644 examples/features/showcase.zc create mode 100644 examples/graphics/mandelbrot.zc create mode 100644 examples/graphics/raylib_demo.zc delete mode 100644 examples/raylib_demo.zc delete mode 100644 examples/showcase.zc (limited to 'examples') diff --git a/examples/comptime_fib.zc b/examples/comptime_fib.zc deleted file mode 100644 index 1ad2898..0000000 --- a/examples/comptime_fib.zc +++ /dev/null @@ -1,25 +0,0 @@ - -fn main() { - comptime { - var N = 20; - var fib: long[20]; - fib[0] = (long)0; - fib[1] = (long)1; - for var i=2; i +include +include + +struct Point { + x: int, + y: int +} + +enum Event { + Quit, + Click(Point), + KeyPress(char) +} + +trait Drawable { + fn draw(self); +} + +struct Button { + label: char*, + width: int, + height: int +} + +impl Button { + fn draw(self) { + println "[Button: '{self.label}' size={self.width}x{self.height}]"; + } +} + +struct Container { + item: T +} + +impl Container { + fn get(self) -> T { + return self.item; + } +} + +fn run_op(a: int, b: int, op: fn(int, int) -> int) -> int { + return op(a, b); +} + +fn process_event(e: Event) { + match e { + Event::Quit => { + println "Event: Quit received. Shutting down..."; + }, + Event::Click(p) => { + println "Event: Mouse Clicked at ({p.x}, {p.y})"; + }, + Event::KeyPress(k) => { + println "Event: Key Pressed '{k}'"; + }, + _ => { + println "Event: Unknown"; + } + } +} + +fn main() { + defer { println "End of demo!"; } + defer { println "Cleaning up resources..."; } + + println "=> Generics and traits."; + var btn = Button { + label: "Submit", + width: 120, + height: 40 + }; + + var container = Container