#include "../spec.h"

const char * spritesheet[] = {
/*   |spr0|spr1|spr2|spr3|spr4|spr5|spr6|spr7|spr8|spr9|sprA|sprB|sprC|sprD|sprE|sprF|   */
/*   |0123|0123|0123|0123|0123|0123|0123|0123|0123|0123|0123|0123|0123|0123|0123|0123|   */
/*0*/"              ggggggggggg                     ggggggggggggg                     ",
/*1*/"          gggg           ggggg            gggg             ggggg                ",
/*2*/"       ggg                    ggg      ggg                      ggg             ",
/*3*/"     gg                          gg  gg                            gg           ",
/*_*/"   gg                              gg                                gg         ",
/*0*/"  g                                                                    g        ",
/*1*/" g                                                                      g       ",
/*2*/" g                                                                      g       ",
/*3*/" g                                                                      g       ",
/*_*/" g                                                                      g       ",
/*0*/" g                                                                      g       ",
/*1*/" g                                                                      g       ",
/*2*/" g                                                                      g       ",
/*3*/" g                                                                      g       ",
/*_*/" g                                                                      g       ",
/*0*/" g                                                                      g       ",
/*1*/"  g                                                                     g       ",
/*2*/"   gg                              gg                                  g        ",
/*3*/"     gg                          gg  gg                              gg         ",
/*_*/"       ggg                    ggg      ggg                        ggg           ",
/*0*/"          gggg           ggggg            gggg               ggggg              ",
/*1*/"              ggggggggggg                     ggggggggggggggg                   ",
/*2*/"                                                                                ",
/*3*/"                                                                                ",
/*_*/"                                                                                ",
0
};

enum Car{
    FrontWheel,
    BackWheel,
    Spare,
    Cars
};


void Spiel(Co co){
    SDrw(co,spritesheet);

    Let state = Clock(co)/20 % 8;
    Color cl = Red;
    Let x = 10;
    Let y = 10;
    cl = Purple;
    switch(state){
        case 0:
            // :
            SPlot(co,FrontWheel,'o',x,y,cl);
            SPlot(co,BackWheel,'O',x,y+1,cl);
            SPlot(co,Spare,' ',x,y,cl);
            break;
        case 4:
            SPlot(co,FrontWheel,'o',x,y+1,cl);
            SPlot(co,BackWheel,'O',x,y,cl);
            SPlot(co,Spare,' ',x,y,cl);
            break;
        case 1:
            // .`
            SPlot(co,FrontWheel,'o',x+1,y,cl);
            SPlot(co,BackWheel,'O',x,y+1,cl);
            SPlot(co,Spare,' ',x,y,cl);
            break;
        case 5:
            SPlot(co,FrontWheel,'o',x+1,y+1,cl);
            SPlot(co,BackWheel,'O',x,y,cl);
            SPlot(co,Spare,' ',x,y,cl);
            break;
        case 2:
            // ..
            SPlot(co,FrontWheel,'o',x-1,y,cl);
            SPlot(co,BackWheel,'O',x+1,y,cl);
            SPlot(co,Spare,' ',x,y,cl);
            break;
        case 6:
            SPlot(co,FrontWheel,'o',x+1,y,cl);
            SPlot(co,BackWheel,'O',x-1,y,cl);
            SPlot(co,Spare,'_',x,y,cl);
            break;
        case 3:
            //  `.
            SPlot(co,FrontWheel,'o',x,y+1,cl);
            SPlot(co,BackWheel,'O',x+1,y,cl);
            SPlot(co,Spare,' ',x,y,cl);
            break;
        case 7:
            SPlot(co,FrontWheel,'o',x,y,cl);
            SPlot(co,BackWheel,'O',x+1,y+1,cl);
            SPlot(co,Spare,' ',x,y,cl);
            break;
            
    };



    if (Pressed(co,'*') == 0)
    User(co,Spiel);
    else
    Next(co,End);
}
