שלום עולם Lua And LÖVE
לאחרונה התחלתי לחפש שפת תכנות נחמדה ללמד בעזרתה תכנות מאפס - משהו לא מסובך מדי ועדיף עם דברים שקופצים על המסך.
ומפה לשם הגעתי ל Lua. עכשיו גם בלואה אפשר לכתוב קוד מונחה עצמים אם מאוד מתאמצים, אבל יש מספיק דרכים להסתדר גם בלי. אני שיחקתי עם ספריה בשם LÖVE שהיא ספריית פיתוח משחקים פשוטה הכתובה ב Lua וחשבתי לשתף פה קצת קוד שכתבתי אחרי בערך שעה עם Lua:
function love.load()
x = 100
y = 100
speedX = 5
speedY = 5
end
function love.draw()
love.graphics.setColor(255, 0, 0)
love.graphics.circle("fill", x, y, 40)
end
function love.update()
width, height = love.graphics.getDimensions( )
if x + 20 == width or x - 20 == 0 then
speedX = speedX * -1
end
if y + 20 == height or y - 20 == 0 then
speedY = speedY * -1
end
x = x + speedX
y = y + speedY
end
ב LOVE אנחנו מגדירים כמה פונקציות ו love תקרא להן כשהיא מוצאת לנכון. הפונקציה load נקראת כשהתוכנית מתחילה, הפונקציה update נקראת כל פעם שצריך להבין מה הדבר הבא שצריך לצייר והפונקציה draw נקראת כשצריך לצייר פריים חדש.
יכולים לראות מה הקוד עושה?
אז האמת שזה משחק די פשוט - יש לנו כדור אדום שמתחיל ב 100,100 ואז מתקדם ימינה ולמטה. כשהוא מגיע לאחד הקירות הוא משנה כיוון וכך ממשיך לקפץ על המסך עד שיימאס ונסגור את החלון.
האם הייתי בוחר ב Lua כשפת תכנות ראשונה? עדיין מוקדם להגיד. אבל בינתיים זו נראית אחת האופציות המלהיבות שמצאתי.