diff options
Diffstat (limited to 'manuals/chickadee/Invoking-chickadee-play.html')
-rw-r--r-- | manuals/chickadee/Invoking-chickadee-play.html | 239 |
1 files changed, 0 insertions, 239 deletions
diff --git a/manuals/chickadee/Invoking-chickadee-play.html b/manuals/chickadee/Invoking-chickadee-play.html deleted file mode 100644 index 786626a..0000000 --- a/manuals/chickadee/Invoking-chickadee-play.html +++ /dev/null @@ -1,239 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Invoking chickadee play (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Invoking chickadee play (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Invoking chickadee play (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Command-Line-Interface.html" rel="up" title="Command Line Interface" /> -<link href="Invoking-chickadee-bundle.html" rel="next" title="Invoking chickadee bundle" /> -<link href="Command-Line-Interface.html" rel="prev" title="Command Line Interface" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Invoking-chickadee-play"></span><div class="header"> -<p> -Next: <a href="Invoking-chickadee-bundle.html" accesskey="n" rel="next">Invoking chickadee bundle</a>, Up: <a href="Command-Line-Interface.html" accesskey="u" rel="up">Command Line Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Invoking-chickadee-play-1"></span><h3 class="section">3.1 Invoking <code>chickadee play</code></h3> - -<p>The <code>chickadee play</code> command is used to open a window and run -the Chickadee game contained within a Scheme source file. -</p> -<div class="example"> -<pre class="example">chickadee play the-legend-of-emacs.scm -</pre></div> - -<p>In this file, special procedures may be defined to handle various -events from the game loop: -</p> -<ul> -<li> quit-game -</li><li> draw -</li><li> update -</li><li> key-press -</li><li> key-release -</li><li> text-input -</li><li> mouse-press -</li><li> mouse-release -</li><li> mouse-move -</li><li> mouse-wheel -</li><li> controller-add -</li><li> controller-remove -</li><li> controller-press -</li><li> controller-release -</li><li> controller-move -</li></ul> - -<p>See <a href="The-Game-Loop.html">The Game Loop</a> for complete information on all of these -hooks, such as the arguments that each procedure receives. -</p> -<p>In additional to evaluating the specified source file, the directory -containing that file is added to Guile’s load path so that games can -easily be divided into many different files. Furthermore, that -directory is entered prior to evaluating the file so that data files -(images, sounds, etc.) can be loaded relative to the main source file, -regardless of what the current directory was when <code>chickadee -play</code> was invoked. -</p> -<p>Many aspects of the initial game window and environment can be -controlled via the following options: -</p> -<dl compact="compact"> -<dt><code>--title=<var>title</var></code></dt> -<dt><code>-t <var>title</var></code></dt> -<dd> -<p>Set the window title to <var>title</var>. -</p> -</dd> -<dt><code>--width=<var>width</var></code></dt> -<dt><code>-w <var>width</var></code></dt> -<dd> -<p>Set the window width to <var>width</var> pixels. -</p> -</dd> -<dt><code>--height=<var>height</var></code></dt> -<dt><code>-h <var>height</var></code></dt> -<dd> -<p>Set the window height to <var>height</var> pixels. -</p> -</dd> -<dt><code>--fullscreen</code></dt> -<dt><code>-f</code></dt> -<dd> -<p>Open window in fullscreen mode. -</p> -</dd> -<dt><code>--resizable</code></dt> -<dt><code>-r</code></dt> -<dd> -<p>Make window resizable. -</p> -</dd> -<dt><code>--update-hz=<var>n</var></code></dt> -<dt><code>-u <var>n</var></code></dt> -<dd> -<p>Update the game <var>n</var> times per second. -</p> -</dd> -<dt><code>--clear-color=<var>color</var></code></dt> -<dt><code>-c <var>color</var></code></dt> -<dd> -<p>Set the screen clear color to <var>color</var>, a hex code in the format -<code>#RRGGBB</code>. For example, to set the clear color to black, pass -<code>--clear-color=#000000</code>. -</p> -</dd> -<dt><code>--repl</code></dt> -<dd> -<p>Launch a REPL in the terminal. This will allow the game environment -to be debugged and modified without having to stop and restart the -game after each change. -</p> -</dd> -<dt><code>--repl-server[=<var>port</var>]</code></dt> -<dd> -<p>Launch a REPL server on port <var>port</var>, or 37146 by default. -</p> -<p><code>telnet localhost 37146</code> (or whatever port number was given) -will do the trick, but using the <a href="https://www.nongnu.org/geiser/">Geiser</a> extension for Emacs is by far the best way to develop at the -REPL with Guile. Use <code>M-x connect-to-guile</code> to connect to the -REPL server. -</p> -</dd> -<dt><code>--language=<var>language</var></code></dt> -<dd> -<p>Process the input program using <var>language</var>, the identifier of a -language within Guile’s language tower. By default, unsurprisingly, -Scheme is used. -</p> -<p>For example, to use the neat -<a href="https://www.draketo.de/software/wisp">Wisp</a> language as an -alternative to Scheme’s parenthetical syntax, pass -<code>--language=wisp</code>. Wisp is not included with Guile and must be -installed separately. -</p> -</dd> -<dt><code>-x <var>extension</var></code></dt> -<dd> -<p>Add <var>extension</var> to the list of file extensions that Guile will -load. -</p> -<p>For example, Wisp files canonically use the <samp>.w</samp> extension. -Here’s what a “hello, world” Chickadee program looks like in Wisp: -</p> -<div class="example"> -<pre class="example">define : draw alpha - draw-text "Hello, world!" : vec2 260.0 240.0 -</pre></div> - -<p>Assuming the above code is saved to a <samp>hello.w</samp> file, -<code>chickadee play</code> be invoked as follows: -</p> -<div class="example"> -<pre class="example">chickadee play --language=wisp -x .w hello.w -</pre></div> - -</dd> -</dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Invoking-chickadee-bundle.html" accesskey="n" rel="next">Invoking chickadee bundle</a>, Up: <a href="Command-Line-Interface.html" accesskey="u" rel="up">Command Line Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> |