Fork channel

Create a new channel as a copy of main.

Rename channel

Rename main to:

Delete channel

Delete main? This cannot be undone.

game.zig
const io = @import("io.zig");
const Snake = @import("snake.zig");
const Fruit = @import("fruit.zig");
pub const init = io.init;

>>>>>>>var snake: Snake = undefined;
var fruit: Fruit = undefined;
<<<<<<<pub fn main() void {
>>>>>>>    snake = Snake.init(.{ .pos = 0o40, .dir = 2 });
<<<<<<<    fruit.seed(io.seed());
    newfruit().?;

    while (true) {
>>>>>>>        io.print(snake.head.pos, "<^>V"[snake.head.dir]);
<<<<<<<        io.sleep();
>>>>>>>        const newdir = io.scandir(snake.head.dir);
        io.print(snake.head.pos, " lqml kxqk jmxj"[4 * @as(u4, newdir) + snake.head.dir]);
<<<<<<<
>>>>>>>        snake.pushdir(newdir);
        snake.head.move() orelse break;
        if (snake.head.pos != fruit.pos) {
            snake.popdir();
<<<<<<<
            //collision
>>>>>>>            if (snake.collide())
<<<<<<<                break;
            //if (tail.index() != index(head))
>>>>>>>            io.print(snake.tail.pos, ' ');
            snake.tail.move() orelse unreachable;
<<<<<<<        } else newfruit() orelse break;
    }
}

fn newfruit() ?void {
>>>>>>>    fruit.newfruit(snake.empty()) orelse return null;
<<<<<<<    io.print(fruit.pos, '*');
}