-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
#+AUTHOR: granitrocky #+TITLE: Literate Programming Example -- Snake #+OPTIONS: H:3 toc:2 #+STARTUP: overview #+MACRO: setup-file (eval (if (eq org-export-current-backend 'html) "#+SETUPFILE: https://fniessen.github.io/org-html-themes/org/theme-bigblow.setup")) {{{setup-file}}} # Local Variables: # eval: (add-hook 'after-save-hook (lambda () (setq-local filename (org-html-export-to-html)) (rename-file filename "docs/index.html" t)) 0 t) # End: * Purpose This document is an attempt at putting a complete Bevy game and Design Document in a single file. We will be creating a document based on [[https://mbuffett.com/posts/bevy-snake-tutorial/][this tutorial]] ** Why? The reason for this workflow is to keep all our documentation and code in a single place. It's practice for creating a living org doc that will be my standard for creating projects in the future. That is, the code for this project is pulled directly from this document using ~org-babel~ * Specifications ** Use Bevy In our [[*Cargo File \[2022-07-19 Tue\]][Cargo File]], we define Bevy 0.7 as a dependency. Bevy allows us to create a game using ECS and built in 2D and 3D renderers and compile it to wasm32 for web games. In our case, we will be making a 2D snake game and embedding it in this file. ** Show a snake ** Move the snake ** Accept User input ** Grow the snake when it collects pellets ** End the game if the snake hits a wall or its tail ** OPTIONAL Keep a score * Code ** Cargo File [2022-07-19 Tue] :Code: #+begin_src conf-toml :tangle "Cargo.toml" [package] name = "literate-snake" version = "0.1.0" edition = "2021" [dependencies] bevy = "0.7" rand = "0.7.3" #+end_src ** Start The Game [2022-07-19 Tue] :Code: #+begin_src rust :tangle "src/main.rs" use bevy::prelude::*; fn main() { App::new() .run(); } #+end_src ** Systems ** Add Camera System [2022-07-20 Wed] :Code: #+begin_src rust :tangle "src/main.rs" fn add_camera(mut commands: Commands){ commands. } #+end_src **