CLI Snake met C en Linked Lists

Zie hier! Een simpele implementatie van linked lists die het bekende spel "snake" mogelijk maakt in C. Misschien kan het ook anders, maar dit vond ik toch het meest elegant/makkelijk.

Zoals in de titel al staat, werkt dit programma met de terminal. Of je het ook echt een Command Line Interface kan noemen? Nou, ik vind van wel. Lekker puh.

De snake is een linked list, en elk blokje van het lichaam is een node. Verder heb je natuurlijk het stuk fruit, dat is gewoon een willekeurig coördinaat.

Download het windows programma + source code (zip)

Bugs

De enige bug die mij bekend is, is dat het fruit soms precies op de slang gegenereerd wordt. Hierdoor krijg je als het ware een gratis bonus. Dit valt op zich op te lossen door willekeurige getallen te blijven kiezen totdat je een coördinaat hebt dat niet op de slang valt, of, beter nog, uit een lijst kiezen van alle coördinaten waar de slang NIET is, maar daar ben ik te lui voor. Zie het maar gewoon als een bonus.

Voor Linux

Sorry Linux, voor jou heb ik geen executable. Je kan natuurlijk gewoon WINE gebruiken. Als je de source zelf wil compilen, moet je eerst getch() van conio.h vervangen door een andere non-blocking(!) getchar, en een andere header dan Windows.h gebruiken voor Sleep(). Sleep is er wel (Zoek op: nanosleep), maar voor non-blocking i/o ziet het er slecht uit. Ik kon in ieder geval niets vinden.

2019-06-16 in blog #programmeren #C #linked-lists