Öppen källdod? – Nä inte jag.

07Oct07

Jag satt tidigare i dag och pillade på mitt snake-spel, jag vet inte varför jag har blivit besatt av att jobba på det. Världen behöver inte än en snake-klon, gör jag inget banbrytande kommer ingen någonsin att spela spelet. För min del är det inte spelet i sig som är det roliga, det är att skriva koden som får saker att hända. Att koda är en form av meditation.

Målet för dagen var att lägga till kollision mellan orm och vägg samt att se till så att nya äpplen inte skapas bakom en vägg. Jag lider dock ingen brist på funktioner för kollisionskontroller. Min kod råkar ha hela 4 stycken.

/**
*@return true om Object kolliderar med Targets
*/
bool CheckForCollision(vector<CSnakePart> sp, vector<CObjects> ob);

/**
*@return -1 om ingen kollision inträffar, annars retureras postnumer
*till det objekt man kolliderar med.
*/
int CheckForCollision(CSnakePart head, vector<CObjects> ob);

/**
*@return false om ingen kollision inträffar man kolliderar dock inte med sista
*noden i flerspelarläge, man äter noden i stället (se CheckForSnakeAttack() )
*/
bool CheckForSnakeCollision(CSnakePart head, vector<CSnakePart> body);

/**
*Låter spelare ta sista noden från varandra… med risk för kollision
*/
bool CheckForSnakeAttack(CSnakePart head, vector<CSnakePart> body);

Alla gör lite olika saker och returnerar lite olika, dock är skillnaden inte så stor att man inte skulle kunna skriva en mer generell funktion. Men… (det finns alltid ett men…) Men att skriva en generell kollisionsfunktion skulle innebära att jag måste skriva om en del kod på andra ställen också. Att skapa nya funktioner innebär bara lite klipp & klistra och en mindre mängd modifikation av befintlig kod. När man betraktar sin egen kod så här är det lätt att förstå varför vissa anser att öppen källkod är förkastligt.

//Fredrik



No Responses Yet to “Öppen källdod? – Nä inte jag.”

  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: