694 lines
24 KiB
HTML
694 lines
24 KiB
HTML
<!DOCTYPE html>
|
||
|
||
<html>
|
||
<head>
|
||
<title>cnibbles.c</title>
|
||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||
<meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
|
||
<link rel="stylesheet" media="all" href="docco.css" />
|
||
</head>
|
||
<body>
|
||
<div id="container">
|
||
<div id="background"></div>
|
||
|
||
<ul id="jump_to">
|
||
<li>
|
||
<a class="large" href="javascript:void(0);">Jump To …</a>
|
||
<a class="small" href="javascript:void(0);">+</a>
|
||
<div id="jump_wrapper">
|
||
<div id="jump_page">
|
||
|
||
|
||
<a class="source" href="cnibbles.html">
|
||
cnibbles.c
|
||
</a>
|
||
|
||
|
||
<a class="source" href="nibbles.html">
|
||
nibbles.S
|
||
</a>
|
||
|
||
|
||
<a class="source" href="start.html">
|
||
start.S
|
||
</a>
|
||
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
|
||
<ul class="sections">
|
||
|
||
<li id="title">
|
||
<div class="annotation">
|
||
<h1>cnibbles.c</h1>
|
||
</div>
|
||
</li>
|
||
|
||
|
||
|
||
<li id="section-1">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-1">¶</a>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre><span class="hljs-preprocessor">#<span class="hljs-keyword">include</span> <stdio.h></span>
|
||
<span class="hljs-preprocessor">#<span class="hljs-keyword">include</span> <stdbool.h></span>
|
||
<span class="hljs-preprocessor">#<span class="hljs-keyword">include</span> "helpers.c"</span>
|
||
|
||
<span class="hljs-preprocessor">#<span class="hljs-keyword">define</span> WIDTH 60</span>
|
||
<span class="hljs-preprocessor">#<span class="hljs-keyword">define</span> HEIGHT 40</span>
|
||
<span class="hljs-preprocessor">#<span class="hljs-keyword">define</span> DEBUG false</span>
|
||
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> startLength = <span class="hljs-number">0</span>;
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> startApples = <span class="hljs-number">0</span>;
|
||
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> currentTick;
|
||
<span class="hljs-keyword">int</span> snake[WIDTH*HEIGHT];
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> snakeLength;
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> snakeX;
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> snakeY;
|
||
<span class="hljs-keyword">int</span> snakeDirX;
|
||
<span class="hljs-keyword">int</span> snakeDirY;
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> numApples;
|
||
|
||
<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">spawnApple</span><span class="hljs-params">()</span></span>;
|
||
<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">tick</span><span class="hljs-params">()</span></span>;
|
||
<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">draw</span><span class="hljs-params">()</span></span>;</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-2">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-2">¶</a>
|
||
</div>
|
||
<h1 id="start_game">start_game</h1>
|
||
|
||
</div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-3">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-3">¶</a>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre><span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">start_game</span><span class="hljs-params">(<span class="hljs-keyword">int</span> len, <span class="hljs-keyword">int</span> n_apples)</span>
|
||
</span>{
|
||
<span class="hljs-keyword">if</span> (startLength == <span class="hljs-number">0</span>)
|
||
startLength = len;
|
||
<span class="hljs-keyword">if</span> (startApples == <span class="hljs-number">0</span>)
|
||
startApples = n_apples;</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-4">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-4">¶</a>
|
||
</div>
|
||
<p>Initialize variables</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> currentTick = <span class="hljs-number">0</span>;
|
||
snakeLength = len;
|
||
numApples = n_apples;
|
||
|
||
nib_init();</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-5">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-5">¶</a>
|
||
</div>
|
||
<p>Initialize the snake array
|
||
Set every cell to a time value greater than the snake length</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> <span class="hljs-keyword">for</span> (<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> i = <span class="hljs-number">0</span>; i < WIDTH*HEIGHT; ++i) {
|
||
snake[i] = snakeLength;
|
||
}</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-6">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-6">¶</a>
|
||
</div>
|
||
<p>Place the snake head in the middle</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> snakeX = WIDTH / <span class="hljs-number">2</span>;
|
||
snakeY = HEIGHT / <span class="hljs-number">2</span>;
|
||
snakeDirX = <span class="hljs-number">0</span>;
|
||
snakeDirY = -<span class="hljs-number">1</span>;</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-7">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-7">¶</a>
|
||
</div>
|
||
<p>Place the initial snake segments, downwards or something</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> <span class="hljs-keyword">for</span> (<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> i = <span class="hljs-number">0</span>; i < snakeLength; ++i) {
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> x = snakeX % WIDTH;
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> y = (snakeY + i) % HEIGHT;
|
||
snake[x + y*WIDTH] = i;
|
||
}</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-8">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-8">¶</a>
|
||
</div>
|
||
<p>Place apples</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> srand(time(<span class="hljs-number">0</span>));
|
||
<span class="hljs-keyword">for</span> (<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> i = <span class="hljs-number">0</span>; i < numApples; ++i) {
|
||
spawnApple();
|
||
}
|
||
|
||
<span class="hljs-keyword">while</span> (<span class="hljs-keyword">true</span>) {
|
||
tick();
|
||
draw();
|
||
}
|
||
}</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-9">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-9">¶</a>
|
||
</div>
|
||
<h1 id="spawnapple">spawnApple</h1>
|
||
|
||
</div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-10">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-10">¶</a>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre><span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">spawnApple</span><span class="hljs-params">()</span>
|
||
</span>{
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> x = rand() % WIDTH;
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> y = rand() % HEIGHT;
|
||
<span class="hljs-keyword">while</span> (snake[x + y*WIDTH] < snakeLength) {
|
||
x = rand() % WIDTH;
|
||
y = rand() % HEIGHT;
|
||
}
|
||
snake[x + y*WIDTH] = -<span class="hljs-number">1</span>;
|
||
}</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-11">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-11">¶</a>
|
||
</div>
|
||
<h1 id="tick">tick</h1>
|
||
|
||
</div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-12">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-12">¶</a>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre><span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">tick</span><span class="hljs-params">()</span>
|
||
</span>{
|
||
currentTick++;</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-13">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-13">¶</a>
|
||
</div>
|
||
<h2 id="increment-cell-times">Increment cell times</h2>
|
||
|
||
</div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-14">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-14">¶</a>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> <span class="hljs-keyword">for</span> (<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> i = <span class="hljs-number">0</span>; i < WIDTH*HEIGHT; ++i) {
|
||
<span class="hljs-keyword">int</span> val = snake[i];
|
||
|
||
<span class="hljs-keyword">if</span> (val < <span class="hljs-number">0</span>) {</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-15">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-15">¶</a>
|
||
</div>
|
||
<p>Apple lifetime</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> <span class="hljs-comment">/* snake[i]--; */</span>
|
||
} <span class="hljs-function"><span class="hljs-keyword">else</span> <span class="hljs-title">if</span> <span class="hljs-params">(val >= 0 && val <= snakeLength)</span> </span>{</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-16">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-16">¶</a>
|
||
</div>
|
||
<p>Other cells</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> snake[i]++;
|
||
}
|
||
}</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-17">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-17">¶</a>
|
||
</div>
|
||
<h2 id="input">Input</h2>
|
||
|
||
</div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-18">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-18">¶</a>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> <span class="hljs-keyword">int</span> key = nib_poll_kbd();
|
||
<span class="hljs-keyword">if</span> (key == <span class="hljs-string">'w'</span> && snakeDirY != <span class="hljs-number">1</span>) {
|
||
snakeDirX = <span class="hljs-number">0</span>;
|
||
snakeDirY = -<span class="hljs-number">1</span>;
|
||
}
|
||
<span class="hljs-keyword">if</span> (key == <span class="hljs-string">'s'</span> && snakeDirY != -<span class="hljs-number">1</span>) {
|
||
snakeDirX = <span class="hljs-number">0</span>;
|
||
snakeDirY = <span class="hljs-number">1</span>;
|
||
}
|
||
<span class="hljs-keyword">if</span> (key == <span class="hljs-string">'a'</span> && snakeDirX != <span class="hljs-number">1</span>) {
|
||
snakeDirX = -<span class="hljs-number">1</span>;
|
||
snakeDirY = <span class="hljs-number">0</span>;
|
||
}
|
||
<span class="hljs-keyword">if</span> (key == <span class="hljs-string">'d'</span> && snakeDirX != -<span class="hljs-number">1</span>) {
|
||
snakeDirX = <span class="hljs-number">1</span>;
|
||
snakeDirY = <span class="hljs-number">0</span>;
|
||
}</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-19">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-19">¶</a>
|
||
</div>
|
||
<h2 id="move-snake">Move snake</h2>
|
||
|
||
</div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-20">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-20">¶</a>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> snakeX = (snakeX + snakeDirX + WIDTH) % WIDTH;
|
||
snakeY = (snakeY + snakeDirY + HEIGHT) % HEIGHT;</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-21">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-21">¶</a>
|
||
</div>
|
||
<h2 id="collision">Collision</h2>
|
||
|
||
</div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-22">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-22">¶</a>
|
||
</div>
|
||
<p>On collision with self</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> <span class="hljs-keyword">int</span> val = snake[snakeX + snakeY*WIDTH];
|
||
<span class="hljs-keyword">if</span> (val < snakeLength && val >= <span class="hljs-number">0</span>) {</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-23">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-23">¶</a>
|
||
</div>
|
||
<p>nib_end();</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> start_game(startLength, startApples);
|
||
}</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-24">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-24">¶</a>
|
||
</div>
|
||
<p>ON collision with apple</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> (val < <span class="hljs-number">0</span>) {</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-25">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-25">¶</a>
|
||
</div>
|
||
<p>Spawn a new apple somewhere</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> spawnApple();</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-26">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-26">¶</a>
|
||
</div>
|
||
<p>Increase our length!</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> snakeLength++;
|
||
}</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-27">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-27">¶</a>
|
||
</div>
|
||
<h2 id="update-world">Update world</h2>
|
||
|
||
</div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-28">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-28">¶</a>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> snake[snakeX + snakeY*WIDTH] = <span class="hljs-number">0</span>;
|
||
}</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-29">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-29">¶</a>
|
||
</div>
|
||
<h1 id="draw">draw</h1>
|
||
|
||
</div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-30">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-30">¶</a>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre><span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">draw</span><span class="hljs-params">()</span>
|
||
</span>{
|
||
<span class="hljs-keyword">char</span> body[] = <span class="hljs-string">"NIBBLES"</span>;
|
||
|
||
<span class="hljs-keyword">for</span> (<span class="hljs-keyword">int</span> y = -<span class="hljs-number">1</span>; y <= HEIGHT; ++y) {
|
||
<span class="hljs-keyword">for</span> (<span class="hljs-keyword">int</span> x = -<span class="hljs-number">1</span>; x <= WIDTH; ++x) {</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-31">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-31">¶</a>
|
||
</div>
|
||
<p>Draw a border outside the playing field</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> (x == -<span class="hljs-number">1</span> || y == -<span class="hljs-number">1</span> || x == WIDTH || y == HEIGHT) {
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> screenX = x + <span class="hljs-number">1</span>;
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> screenY = y + <span class="hljs-number">1</span>;
|
||
nib_put_scr(screenX, screenY, <span class="hljs-string">'#'</span>);
|
||
} <span class="hljs-keyword">else</span> {
|
||
<span class="hljs-keyword">int</span> snakeVal = snake[x + y*WIDTH];
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> screenX = x + <span class="hljs-number">1</span>;
|
||
<span class="hljs-keyword">unsigned</span> <span class="hljs-keyword">int</span> screenY = y + <span class="hljs-number">1</span>;</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-32">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-32">¶</a>
|
||
</div>
|
||
<p>If the <code>DEBUG</code> flag is set, draw the raw ASCII-value for debugging purposes</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> (DEBUG) {
|
||
nib_put_scr(screenX, screenY, <span class="hljs-string">'0'</span> + snakeVal);
|
||
<span class="hljs-keyword">continue</span>;
|
||
}</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-33">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-33">¶</a>
|
||
</div>
|
||
<p>If the value is greater than <code>0</code> and less than <code>snakeLength</code>, it’s part of the snake</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> (snakeVal >= <span class="hljs-number">0</span> && snakeVal < snakeLength) {
|
||
<span class="hljs-keyword">if</span> (x == snakeX && y == snakeY) {</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-34">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-34">¶</a>
|
||
</div>
|
||
<p>Draw the head</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> nib_put_scr(screenX, screenY, <span class="hljs-string">'@'</span>);
|
||
} <span class="hljs-keyword">else</span> {</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-35">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-35">¶</a>
|
||
</div>
|
||
<p>Draw the body</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> nib_put_scr(screenX, screenY, body[(snakeVal - <span class="hljs-number">1</span>) % <span class="hljs-number">7</span>]);
|
||
}
|
||
} <span class="hljs-function"><span class="hljs-keyword">else</span> <span class="hljs-title">if</span> <span class="hljs-params">(snakeVal < 0)</span> </span>{</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-36">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-36">¶</a>
|
||
</div>
|
||
<p>If the value is less than <code>0</code>, it’s an apple</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> nib_put_scr(screenX, screenY, <span class="hljs-string">'o'</span>);
|
||
} <span class="hljs-keyword">else</span> {</pre></div></div>
|
||
|
||
</li>
|
||
|
||
|
||
<li id="section-37">
|
||
<div class="annotation">
|
||
|
||
<div class="pilwrap ">
|
||
<a class="pilcrow" href="#section-37">¶</a>
|
||
</div>
|
||
<p>Otherwise it’s empty.</p>
|
||
|
||
</div>
|
||
|
||
<div class="content"><div class='highlight'><pre> nib_put_scr(screenX, screenY, <span class="hljs-string">' '</span>);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}</pre></div></div>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</body>
|
||
</html>
|