Okay I guess you can see this as altering. Personally I don't see any problems with it. It doesn't make the code look any prettier you know .
I could also just have changed it to player.x, player.y = x, y. But that would be changing the whole thing. I had to find a clever way to change it.
Collaborative Coding Horror Experiment
- Sheepolution
- Party member
- Posts: 264
- Joined: Mon Mar 04, 2013 9:31 am
- Location: The Netherlands
- Contact:
Re: Collaborative Coding Horror Experiment
I added enemies!
https://github.com/DaanHaaz/CCHE/pull/1
Edit:
https://github.com/DaanHaaz/CCHE/pull/1
Edit:
Code: Select all
--Collaborative Coding Horror Experiment
function love.load()
ScreenWidth = love.graphics.getWidth()
ScreenHeight = love.graphics.getHeight()
player = Player(100,100)
Enemies = {}
for _ = 1, love.math.random( 5, 10 ) do Enemies[#Enemies + 1] = NewEnemy( love.math.random( 32, ScreenWidth - 32 ), love.math.random( 32, ScreenHeight - 32 ) ) end
end
function love.update(dt)
player:update(dt)
for _, Enemy in ipairs( Enemies ) do Enemy:Update( dt ) end
end
function love.draw()
local rumble = 10
local c = healthcolor(player.health/player.health_max)
love.graphics.setColor(c[1],c[2],c[3])
local offset = {
x=math.random(0,rumble),
y=math.random(0,rumble)
}
local size = {
w=love.window.getWidth()-offset.x-math.random(0,rumble),
h=love.window.getHeight()-offset.y-math.random(0,rumble)
}
love.graphics.rectangle("fill",offset.x,offset.y,size.w,size.h)
player.draw()
for _, Enemy in ipairs( Enemies ) do Enemy:Draw( dt ) end
end
function love.keypressed(key)
end
function love.keyreleased(key)
end
function love.mousepressed(x,y,button)
if button == "l" then
player.x, player.y = player.setPlayerPosition(x, y)
end
end
function love.mousereleased(x,y,button)
end
function Player(x,y)
local self = {x=x,y=y}
self.health = 100
self.health_max = 100
self.health_dt = 0
self.health_dt_t = 0.1
self.update = function(self,dt)
self.health_dt = self.health_dt + dt
if self.health_dt > self.health_dt_t then
self.health_dt = self.health_dt - self.health_dt_t
self:upkeep()
end
self:spin(dt)
end
self.upkeep = function(self)
self.health = self.health - 1
end
function self.draw()
love.graphics.push()
love.graphics.translate(self.x, self.y)
love.graphics.rotate(self.rotation)
love.graphics.translate(-self.x, -self.y)
love.graphics.setColor(30,80,120)
love.graphics.circle("fill",self.x,self.y,50,50)
love.graphics.setColor(255,255,255)
love.graphics.circle("fill",self.x-25,self.y-15,5,50)
love.graphics.circle("fill",self.x+25,self.y-15,5,50)
love.graphics.arc("fill",self.x,self.y+10,20,-0,math.pi)
love.graphics.pop()
end
self.rotation = 0
function self.spin(self, dt)
self.rotation = self.rotation + math.pi * 4 * dt
end
function self.setPlayerPosition(x,y)
self.x, self.y = x, y
return self.x, self.y
end
return self
end
function healthcolor(i)
-- Clamp
if i > 1 then i = 1 end
if i < 0 then i = 0 end
-- 0 -> 0.5: 255
-- 0.5 -> 1: 255 .. 0
local r = 255*2 - 255*2*i
if r > 255 then r = 255 end
-- 0 -> 0.5: 0 .. 255
-- 0.5 -> 1: 255
local g = 255*2*i
if g > 255 then g = 255 end
-- 0 -> 1: 0
local b = 0
return {r,g,b}
end
function NewEnemy( x, y )
local Self = { x = x, y = y, Rotation = 0, Radius = love.math.random( 20, 50 ), Dir = 1 }
Self.VelocityX = Self.Radius / 3
Self.Rotation = 0
function Self.Spin( Self, dt )
Self.Rotation = Self.Rotation + math.pi * 4 * dt * Self.Dir
end
function Self.Update( Self, dt )
Self.x = Self.x + Self.VelocityX
if Self.x - Self.Radius < 0 or Self.x + Self.Radius > ScreenWidth then Self.VelocityX, Self.Dir = Self.VelocityX * -1, Self.Dir * -1 end
Self.Eyes = {
{ x = Self.x - ( Self.Radius / 2 ), y = Self.y - ( Self.Radius / 2 ), Radius = Self.Radius / 10 },
{ x = Self.x + ( Self.Radius / 2 ), y = Self.y - ( Self.Radius / 2 ), Radius = Self.Radius / 10 },
}
Self:Spin( dt )
end
function Self.Draw( Self )
love.graphics.push()
love.graphics.translate( Self.x, Self.y )
love.graphics.rotate( Self.Rotation )
love.graphics.translate( -Self.x, -Self.y )
love.graphics.setColor( 0, 0, 0 )
love.graphics.circle( 'fill', Self.x, Self.y, Self.Radius )
love.graphics.setColor( 255, 255, 255 )
love.graphics.circle( 'fill', Self.Eyes[1].x, Self.Eyes[1].y, Self.Eyes[1].Radius )
love.graphics.circle( 'fill', Self.Eyes[2].x, Self.Eyes[2].y, Self.Eyes[2].Radius )
love.graphics.setColor( 255, 0, 0 )
love.graphics.setLineWidth( Self.Radius / 16 )
love.graphics.line( Self.Eyes[1].x - ( Self.Radius / 3 ), Self.Eyes[1].y - ( Self.Radius / 3 ),
Self.Eyes[1].x + Self.Radius / 2, Self.Eyes[1].y )
love.graphics.line( Self.Eyes[2].x + ( Self.Radius / 3 ), Self.Eyes[2].y - ( Self.Radius / 3 ),
Self.Eyes[2].x - Self.Radius / 2, Self.Eyes[2].y )
love.graphics.arc( 'fill', Self.x, Self.y + ( Self.Radius / 4 ), Self.Radius / 1.75, -0, math.pi )
love.graphics.pop()
end
return Self
end
Last edited by davisdude on Mon Jun 09, 2014 9:06 pm, edited 1 time in total.
GitHub | MLib - Math and shape intersections library | Walt - Animation library | Brady - Camera library with parallax scrolling | Vim-love-docs - Help files and syntax coloring for Vim
-
- Citizen
- Posts: 67
- Joined: Fri Mar 07, 2014 8:16 pm
Re: Collaborative Coding Horror Experiment
Perhaps a style guide is in order
Maybe you could allow modification of changes if the intent and outcome can only be seen in the codebase? For instance, fixing that last commit to use agreed upon conventions.
Changing that player = Player(x,y) would also fit, as if you play the game you won't feel the difference.
Do you want to make a game that is crazy, or code in a crazy codebase?
Maybe you could allow modification of changes if the intent and outcome can only be seen in the codebase? For instance, fixing that last commit to use agreed upon conventions.
Changing that player = Player(x,y) would also fit, as if you play the game you won't feel the difference.
Do you want to make a game that is crazy, or code in a crazy codebase?
- Ranguna259
- Party member
- Posts: 911
- Joined: Tue Jun 18, 2013 10:58 pm
- Location: I'm right next to you
Re: Collaborative Coding Horror Experiment
Why not both ?WetDesertRock wrote:Do you want to make a game that is crazy, or code in a crazy codebase?
- Sheepolution
- Party member
- Posts: 264
- Joined: Mon Mar 04, 2013 9:31 am
- Location: The Netherlands
- Contact:
Re: Collaborative Coding Horror Experiment
Both.WetDesertRock wrote: Do you want to make a game that is crazy, or code in a crazy codebase?
What about this: Every commit you're allowed to comment 1 line.
You're allowed to commit after 2 other's commits.
Re: Collaborative Coding Horror Experiment
I actually think having several different coding styles would quite contribute to the "Horror" of the experiment, which is why I intentionally did 4 space tabs (as I usually do) instead of the others. We are basing this of of something "Cthulhu Project : Let's Make Unmaintainable Code."
Also, you should update the main post with the GitHub link.
Edit: Made a new commit. Is there a rule about double commiting? https://github.com/DaanHaaz/CCHE/pull/2
Gave teeth to enemies and made enemy movement speed slower.
Also, you should update the main post with the GitHub link.
Edit: Made a new commit. Is there a rule about double commiting? https://github.com/DaanHaaz/CCHE/pull/2
Gave teeth to enemies and made enemy movement speed slower.
Code: Select all
--Collaborative Coding Horror Experiment
function love.load()
ScreenWidth = love.graphics.getWidth()
ScreenHeight = love.graphics.getHeight()
player = Player(100,100)
Enemies = {}
for _ = 1, love.math.random( 5, 10 ) do Enemies[#Enemies + 1] = NewEnemy( love.math.random( 50, ScreenWidth - 50 ), love.math.random( 50, ScreenHeight - 50 ) ) end
end
function love.update(dt)
player:update(dt)
for _, Enemy in pairs( Enemies ) do Enemy:Update( dt ) end
end
function love.draw()
local rumble = 10
local c = healthcolor(player.health/player.health_max)
love.graphics.setColor(c[1],c[2],c[3])
local offset = {
x=math.random(0,rumble),
y=math.random(0,rumble)
}
local size = {
w=love.window.getWidth()-offset.x-math.random(0,rumble),
h=love.window.getHeight()-offset.y-math.random(0,rumble)
}
love.graphics.rectangle("fill",offset.x,offset.y,size.w,size.h)
player.draw()
for _, Enemy in pairs( Enemies ) do Enemy:Draw( dt ) end
end
function love.keypressed(key)
end
function love.keyreleased(key)
end
function love.mousepressed(x,y,button)
if button == "l" then
player.x, player.y = player.setPlayerPosition(x, y)
end
end
function love.mousereleased(x,y,button)
end
function Player(x,y)
local self = {x=x,y=y}
self.health = 100
self.health_max = 100
self.health_dt = 0
self.health_dt_t = 0.1
self.update = function(self,dt)
self.health_dt = self.health_dt + dt
if self.health_dt > self.health_dt_t then
self.health_dt = self.health_dt - self.health_dt_t
self:upkeep()
end
self:spin(dt)
self:CheckCircularCollisions( Enemies )
end
self.upkeep = function(self)
self.health = self.health - 1
end
function self.draw()
love.graphics.push()
love.graphics.translate(self.x, self.y)
love.graphics.rotate(self.rotation)
love.graphics.translate(-self.x, -self.y)
love.graphics.setColor(30,80,120)
love.graphics.circle("fill",self.x,self.y,50,50)
love.graphics.setColor(255,255,255)
love.graphics.circle("fill",self.x-25,self.y-15,5,50)
love.graphics.circle("fill",self.x+25,self.y-15,5,50)
love.graphics.arc("fill",self.x,self.y+10,20,-0,math.pi)
love.graphics.pop()
love.graphics.setColor( 255, 255, 255 )
love.graphics.print( self.health )
end
self.rotation = 0
function self.spin(self, dt)
self.rotation = self.rotation + math.pi * 4 * dt
end
function self.setPlayerPosition(x,y)
self.x, self.y = x, y
return self.x, self.y
end
function self.CheckCircularCollisions( Self, CollisionTable )
for _, Enemy in pairs( CollisionTable ) do
local Length = GetDistance( Self.x, Self.y, Enemy.x, Enemy.y )
if Length < 50 + Enemy.Radius then
Self.health = Self.health - Enemy.Damage
Enemy.Health = 0
end
end
end
return self
end
function GetDistance( x1, y1, x2, y2 )
return math.sqrt( ( x1 - x2 ) ^ 2 + ( y1 - y2 ) ^ 2 )
end
function healthcolor(i)
-- Clamp
if i > 1 then i = 1 end
if i < 0 then i = 0 end
-- 0 -> 0.5: 255
-- 0.5 -> 1: 255 .. 0
local r = 255*2 - 255*2*i
if r > 255 then r = 255 end
-- 0 -> 0.5: 0 .. 255
-- 0.5 -> 1: 255
local g = 255*2*i
if g > 255 then g = 255 end
-- 0 -> 1: 0
local b = 0
return {r,g,b}
end
function NewEnemy( x, y )
local Self = { x = x, y = y, Rotation = 0, Radius = love.math.random( 20, 50 ), Dir = 1, Index = #Enemies + 1 }
Self.VelocityX = Self.Radius / 10
Self.Damage = Self.Radius / 2
Self.Health = Self.Radius * 5
Self.Rotation = 0
function Self.Spin( Self, dt )
Self.Rotation = Self.Rotation + math.pi * ( Self.Radius / 20 ) * dt * Self.Dir
end
function Self.Update( Self, dt )
if Self.Health <= 0 then Enemies[Self.Index] = nil return end
Self.x = Self.x + Self.VelocityX
if Self.x - Self.Radius < 0 or Self.x + Self.Radius > ScreenWidth then Self.VelocityX, Self.Dir = Self.VelocityX * -1, Self.Dir * -1 end
Self.Eyes = {
{ x = Self.x - ( Self.Radius / 2 ), y = Self.y - ( Self.Radius / 2 ), Radius = Self.Radius / 10 },
{ x = Self.x + ( Self.Radius / 2 ), y = Self.y - ( Self.Radius / 2 ), Radius = Self.Radius / 10 },
}
Self:Spin( dt )
end
function Self.Draw( Self )
love.graphics.push()
love.graphics.translate( Self.x, Self.y )
love.graphics.rotate( Self.Rotation )
love.graphics.translate( -Self.x, -Self.y )
-- Body
love.graphics.setColor( 0, 0, 0 )
love.graphics.circle( 'fill', Self.x, Self.y, Self.Radius )
-- Eyes
love.graphics.setColor( 255, 255, 255 )
love.graphics.circle( 'fill', Self.Eyes[1].x, Self.Eyes[1].y, Self.Eyes[1].Radius )
love.graphics.circle( 'fill', Self.Eyes[2].x, Self.Eyes[2].y, Self.Eyes[2].Radius )
-- Mouth
love.graphics.setColor( 255, 0, 0 )
love.graphics.setLineWidth( Self.Radius / 16 )
love.graphics.line( Self.Eyes[1].x - ( Self.Radius / 3 ), Self.Eyes[1].y - ( Self.Radius / 3 ),
Self.Eyes[1].x + Self.Radius / 2, Self.Eyes[1].y )
love.graphics.line( Self.Eyes[2].x + ( Self.Radius / 3 ), Self.Eyes[2].y - ( Self.Radius / 3 ),
Self.Eyes[2].x - Self.Radius / 2, Self.Eyes[2].y )
love.graphics.arc( 'fill', Self.x, Self.y + ( Self.Radius / 4 ), Self.Radius / 1.75, -0, math.pi )
-- Teeth
love.graphics.setColor( 255, 255, 255 )
local MouthWidth = ( Self.Radius / 1.75 ) * 2
local MouthStartX = Self.x - MouthWidth / 2
local MouthY = Self.y + ( Self.Radius / 4 )
local NumTeeth = Self.Radius
local TeethSeperation = MouthWidth / NumTeeth
local TeethHeight = MouthWidth / 6
for Index = 0, NumTeeth - 1 do
local ToothX = MouthStartX + ( TeethSeperation * Index )
love.graphics.polygon( 'fill', ToothX, MouthY, ToothX + ( TeethSeperation / 2 ), MouthY + TeethHeight, ToothX + TeethSeperation, MouthY )
end
love.graphics.pop()
end
return Self
end
GitHub | MLib - Math and shape intersections library | Walt - Animation library | Brady - Camera library with parallax scrolling | Vim-love-docs - Help files and syntax coloring for Vim
- Sheepolution
- Party member
- Posts: 264
- Joined: Mon Mar 04, 2013 9:31 am
- Location: The Netherlands
- Contact:
Re: Collaborative Coding Horror Experiment
As long as the edits aren't too big.
We can start making all these extra rules, but in the end people should just do what feels right and have fun with it. As long as people keep the updates small, modify or comment out only a few lines, I'm okay with it.
We can start making all these extra rules, but in the end people should just do what feels right and have fun with it. As long as people keep the updates small, modify or comment out only a few lines, I'm okay with it.
Re: Collaborative Coding Horror Experiment
Some of the suggestion you guys make almost completely defeats the purpose of the "experiment". The point is to try to keep the code maintainable but it just ends up becoming a clusterfuck anyway. Intentionally making the code look bad is stupid. For the game to be truly seen through, the no-modification rule must accept absolutely no exceptions (aside from editing constants), even when the functionality of the modification remains the same.
EDIT: Also, the commenting rule can be circumvented as such, before:
After (tabbing counts as adding to a line):
And a bunch of other random tricks, such as wrapping it in an unused function. Because of this, limiting comments per commit is basically pointless.
EDIT: Also, the commenting rule can be circumvented as such, before:
Code: Select all
print 'Hello there!'
Code: Select all
if false then
print 'Hello there!'
end
Re: Collaborative Coding Horror Experiment
And if someone really wants to troll, adding a --[[ to the first line of code alters the contents but not the lines
Re: Collaborative Coding Horror Experiment
Been a while, so I though I'd revive it!
Pull Request
Added keyboard movement: use wasd to move, up to increase size, down to decrease size. You can still click if you want.
Pull Request
Code: Select all
--Collaborative Coding Horror Experiment
function love.load()
ScreenWidth = love.graphics.getWidth()
ScreenHeight = love.graphics.getHeight()
player = Player(100,100)
Enemies = {}
for _ = 1, love.math.random( 5, 10 ) do Enemies[#Enemies + 1] = NewEnemy( love.math.random( 50, ScreenWidth - 50 ), love.math.random( 50, ScreenHeight - 50 ) ) end
end
function love.update(dt)
player:update(dt)
for _, Enemy in pairs( Enemies ) do Enemy:Update( dt ) end
end
function love.draw()
local rumble = 10
local c = healthcolor(player.health/player.health_max)
love.graphics.setColor(c[1],c[2],c[3])
local offset = {
x=math.random(0,rumble),
y=math.random(0,rumble)
}
local size = {
w=love.window.getWidth()-offset.x-math.random(0,rumble),
h=love.window.getHeight()-offset.y-math.random(0,rumble)
}
love.graphics.rectangle("fill",offset.x,offset.y,size.w,size.h)
player.draw()
for _, Enemy in pairs( Enemies ) do Enemy:Draw( dt ) end
end
function love.keypressed(key)
end
function love.keyreleased(key)
end
function love.mousepressed(x,y,button)
if button == "l" then
player.x, player.y = player.setPlayerPosition(x, y)
end
end
function love.mousereleased(x,y,button)
end
function Player(x,y)
local self = {x=x,y=y}
self.health = 100
self.health_max = 100
self.health_dt = 0
self.health_dt_t = 0.1
self.radius = 50
self.speed = 256
self.direction = 1
self.update = function(self,dt)
self.health_dt = self.health_dt + dt
if self.health_dt > self.health_dt_t then
self.health_dt = self.health_dt - self.health_dt_t
self:upkeep()
end
self:spin(dt)
self:CheckCircularCollisions( Enemies )
if love.keyboard.isDown( 'w' ) then self.y = self.y - self.speed * dt end
if love.keyboard.isDown( 'a' ) then self.x, self.direction = self.x - self.speed * dt, -1 end
if love.keyboard.isDown( 's' ) then self.y = self.y + self.speed * dt end
if love.keyboard.isDown( 'd' ) then self.x, self.direction = self.x + self.speed * dt, 1 end
if not love.keyboard.isDown( 'a' ) and not love.keyboard.isDown( 'd' ) then self.direction = 0 end
if love.keyboard.isDown( 'up' ) then self.radius = ( self.radius + 1 ) < 75 and self.radius + 1 or 75 end
if love.keyboard.isDown( 'down' ) then self.radius = ( self.radius - 1 ) > 20 and self.radius - 1 or 20 end
end
self.upkeep = function(self)
self.health = self.health - 1
end
function self.draw()
love.graphics.push()
love.graphics.translate(self.x, self.y)
love.graphics.rotate(self.rotation)
love.graphics.translate(-self.x, -self.y)
love.graphics.setColor(30,80,120)
love.graphics.circle("fill",self.x,self.y,self.radius,self.radius)
love.graphics.setColor(255,255,255)
love.graphics.circle("fill",self.x-self.radius / 2,self.y - ( self.radius / ( 10 / 3 ) ),self.radius / 10,self.radius)
love.graphics.circle("fill",self.x+self.radius / 2,self.y - ( self.radius / ( 10 / 3 ) ),self.radius / 10,self.radius)
love.graphics.arc("fill",self.x,self.y+(self.radius/5),self.radius/2.5,-0,math.pi)
love.graphics.pop()
love.graphics.setColor( 255, 255, 255 )
love.graphics.print( self.health )
end
self.rotation = 0
function self.spin(self, dt)
self.rotation = self.rotation + ( math.pi * 4 * dt * self.direction )
end
function self.setPlayerPosition(x,y)
self.x, self.y = x, y
return self.x, self.y
end
function self.CheckCircularCollisions( Self, CollisionTable )
for _, Enemy in pairs( CollisionTable ) do
local Length = GetDistance( Self.x, Self.y, Enemy.x, Enemy.y )
if Length < self.radius + Enemy.Radius then
Self.health = Self.health - Enemy.Damage
Enemy.Health = 0
end
end
end
return self
end
function GetDistance( x1, y1, x2, y2 )
return math.sqrt( ( x1 - x2 ) ^ 2 + ( y1 - y2 ) ^ 2 )
end
function healthcolor(i)
-- Clamp
if i > 1 then i = 1 end
if i < 0 then i = 0 end
-- 0 -> 0.5: 255
-- 0.5 -> 1: 255 .. 0
local r = 255*2 - 255*2*i
if r > 255 then r = 255 end
-- 0 -> 0.5: 0 .. 255
-- 0.5 -> 1: 255
local g = 255*2*i
if g > 255 then g = 255 end
-- 0 -> 1: 0
local b = 0
return {r,g,b}
end
function NewEnemy( x, y )
local Self = { x = x, y = y, Rotation = 0, Radius = love.math.random( 20, 50 ), Dir = 1, Index = #Enemies + 1 }
Self.VelocityX = Self.Radius / 10
Self.Damage = Self.Radius / 2
Self.Health = Self.Radius * 5
Self.Rotation = 0
function Self.Spin( Self, dt )
Self.Rotation = Self.Rotation + math.pi * ( Self.Radius / 20 ) * dt * Self.Dir
end
function Self.Update( Self, dt )
if Self.Health <= 0 then Enemies[Self.Index] = nil return end
Self.x = Self.x + Self.VelocityX
if Self.x - Self.Radius < 0 or Self.x + Self.Radius > ScreenWidth then Self.VelocityX, Self.Dir = Self.VelocityX * -1, Self.Dir * -1 end
Self.Eyes = {
{ x = Self.x - ( Self.Radius / 2 ), y = Self.y - ( Self.Radius / 2 ), Radius = Self.Radius / 10 },
{ x = Self.x + ( Self.Radius / 2 ), y = Self.y - ( Self.Radius / 2 ), Radius = Self.Radius / 10 },
}
Self:Spin( dt )
end
function Self.Draw( Self )
love.graphics.push()
love.graphics.translate( Self.x, Self.y )
love.graphics.rotate( Self.Rotation )
love.graphics.translate( -Self.x, -Self.y )
-- Body
love.graphics.setColor( 0, 0, 0 )
love.graphics.circle( 'fill', Self.x, Self.y, Self.Radius )
-- Eyes
love.graphics.setColor( 255, 255, 255 )
love.graphics.circle( 'fill', Self.Eyes[1].x, Self.Eyes[1].y, Self.Eyes[1].Radius )
love.graphics.circle( 'fill', Self.Eyes[2].x, Self.Eyes[2].y, Self.Eyes[2].Radius )
-- Mouth
love.graphics.setColor( 255, 0, 0 )
love.graphics.setLineWidth( Self.Radius / 16 )
love.graphics.line( Self.Eyes[1].x - ( Self.Radius / 3 ), Self.Eyes[1].y - ( Self.Radius / 3 ),
Self.Eyes[1].x + Self.Radius / 2, Self.Eyes[1].y )
love.graphics.line( Self.Eyes[2].x + ( Self.Radius / 3 ), Self.Eyes[2].y - ( Self.Radius / 3 ),
Self.Eyes[2].x - Self.Radius / 2, Self.Eyes[2].y )
love.graphics.arc( 'fill', Self.x, Self.y + ( Self.Radius / 4 ), Self.Radius / 1.75, -0, math.pi )
-- Teeth
love.graphics.setColor( 255, 255, 255 )
local MouthWidth = ( Self.Radius / 1.75 ) * 2
local MouthStartX = Self.x - MouthWidth / 2
local MouthY = Self.y + ( Self.Radius / 4 )
local NumTeeth = Self.Radius
local TeethSeperation = MouthWidth / NumTeeth
local TeethHeight = MouthWidth / 6
for Index = 0, NumTeeth - 1 do
local ToothX = MouthStartX + ( TeethSeperation * Index )
love.graphics.polygon( 'fill', ToothX, MouthY, ToothX + ( TeethSeperation / 2 ), MouthY + TeethHeight, ToothX + TeethSeperation, MouthY )
end
love.graphics.pop()
end
return Self
end
GitHub | MLib - Math and shape intersections library | Walt - Animation library | Brady - Camera library with parallax scrolling | Vim-love-docs - Help files and syntax coloring for Vim
Who is online
Users browsing this forum: No registered users and 0 guests