From 2507ba301cf69e821e8978068213e9a4ccd2e92f Mon Sep 17 00:00:00 2001 From: MaddoScientisto Date: Fri, 26 Apr 2024 13:31:42 +0200 Subject: [PATCH] Spawner for barrels --- cirnofarm.p64 | 115 ++++++++++++++++++++++++------------------------ src/game.lua | 44 +++++++++++++++--- src/map.lua | 4 ++ src/weapons.lua | 78 ++++++++++++++++++-------------- 4 files changed, 144 insertions(+), 97 deletions(-) diff --git a/cirnofarm.p64 b/cirnofarm.p64 index 1313196..ca8a0b6 100644 --- a/cirnofarm.p64 +++ b/cirnofarm.p64 @@ -6,74 +6,75 @@ version 2 :: sfx/ :: gfx/0.gfx b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w -NC0yNiAwOToyMjo1NCIscmV2aXNpb249ODIzXV1sejQALQgAAG49AADzFHtbMF09e2JtcD1weHUA +NC0yNiAxMTozMToxOCIscmV2aXNpb249ODcyXV1sejQAcggAANo9AADzFHtbMF09e2JtcD1weHUA QyAQEATw8CxmbGFncz0wLHBhbl94CADaeT0wLHpvb209MTF9LDIA8QivGyPeA34D3iPeA-4JE24D ThNuI04DfhMA-wOOAz4DTgMuI34jLgOeA-4UAy5eAB3wCfBFTYAtJi1QHWYdBSAdhg0VAB2WHRUN pgQAww0VAA2WHQUQvQXwE1gAHzNYABXwKlBEgBRPHxRQDxSPHwRALxRPHyRADxQfH0QODxkEQA8U PhoNDxkOBEANLgoACg0ODARADR4aAAoJDBQAQA5KCQoSAEEOKgAKJQASXiIA714NDA4EUBQ_DRSA -RPAVkwAd8AjwFZxADH8QHDAMfgwODCCcHgwgDH8cDAcAH30GAAajDgwwDH0cQJzwFG8AHzFvABb3 -BAY-GVBpLllOGQ4ZXlkeeVAeGbADACHADgMAXynAGfAXWwAPD0UCBQ8yAEf8Ac8TLxEPE18RDxM- -EQ8TDB8NACgMTw4AIywvDgC0HA8RfxMMLxE-Ex8gAAAbAB9PDQAO8QA8Di8RLgwtjh0ODC0ObQ4H -ACcMXQgAfzwOLD0OHd7IAB3Z9AwPHzQedB40HiQeJAYA8QBEDiQe1B6EHiQOlB6EDjQEAAYeABCE -BAA-DvQJZgId-0H-FgA2DoYOFgUWDgUmBTYONgUOZgUGDkYOFgVWDgb_AFYORg42BTYOJgUGDoYO -BgUmDgYFZg5GDib_AIYOlgU2DhYFtg52BSYFFg42BZYOVoAAHvIAFQMMDxAMDhwODA4MbxUOCgBR -HQwdDC0LALEdDgwdDA4tDhwOLQoAUgwtHC0MCgA0Dl0OCgA-DD0MDAACBSIABTYABUoAAl8AMy0M -TXMAI20MCQA-DP0DxQAd0B8V1B6UDx8kHgQNZB0GAD8UHSQIAAQwdB40BABQDYQelA0SACZ0DSAA -FzQGAH8EDRQNhB7UigAd4NQfFLQPHwQfFAQfH3QeCAABHgIsBB0IAJAUDiQeVB1UHlQSAIUOZB0E -HoQOBAYACiwAElQGAF4OZB3UHdACD-wDb-EUQF8UcB4PFT8fLkAeDxUOPx8PFQ4NDiAeDQ4NPx8O -DQ4NDhAGAGE8DQ4NHgALADENDhwHABE_BgAhHA4HABEeBgAnDhQaACUUDhoA4CwNDixeTA4NTA0O -AA48FgBSPA4QDixaAEEOIA4MCgBhDQ4cDkAuCgBPHnBeQMsAJAA-AFEuQA4PH0kAYw4NLiAOLAsA -MRwOEMkAYA4NPAAOTAgAUUwuTC5MogAgFEy2ADccFBzOACwcHucANQ4AHhkACBoBEiDUAG4NHkAu -PC68AA-rAUHQE51QDX8QDVANDl8YDgcAQgw-HgwJAD8LHAsKABISOwgAEFwGAE5_DVCd-AcPuAAX -DzIAq5AGBwYHHxYGBx4JALEGBw4WHhYeZgcGHgMAAQIAdRYelh4WBwYCAHIeBgemHhYODgADKABS -Vh4WHlYcAAZJABKmHAAfBkgAAAIoADxmHhZJAF8WDiYehsQAHfYA9QHfGBXeFd8VFd4V3hXdBgB- -9QLdFd31AVAAHU-2AA0GAgDKL-YBYwEfRw8WDQ4CADgVDQ4CAHP1AQ8TLwwv6AggHwwiCRkPIwkZ -DwoJDw4ACXE-DA8TLxEvFgA1jxMfIAA3bxEPDgA-DwxfEAAEAUAAIQw-DgAv3xN1Ax8PMgD--0Vf --xQS0B4CAAYPfwYdT-8UEPA1ACEv0B4CAAcPTwAd4PBIKLCIYIhgGNAY0AjgAgAQGAYAH2BMAR7D -ERSQFAAPFA8fBA4PPAmVDg0OBB4NBA0OAgDHBA0eBK4EDh0ErQQtBAAbDQIAQx0kDQQCADk0DQQC -AG8AFJAU8BHmAB47ERTAnAAoMA6aAIAgHgSeIB0EbQsAWh0EbR4NDQAiBA0OAFINJA0EPRAAMA0E -TUYAMcRABBMAIQRQEAAeIJoAD7YCbyIfFBwCD7kCOD8SwC4CAAIf-psBHh7QngAP0gIrmXAI4Ahw -FEAIMI8CGgiPAhUIjwIwTghOkQJdTQhNBC0GABQNAgAYCJkCGAiZAgMaACENAHMAX4AY0BhQ0gFP -mGAI4AiAFDAIQOQAGghzAxUY4wAhPhjjACA9GNcADAYAA78AJwQY4gAXGOEAAxgAzw0AFDAYMBRw -GNAYYJIBHS-w8OQCbC-_ELMAHk-Q-xQQywI5L-4STgAdWFA4sCjAAgBvmHB4oEjwnQ0fj1AYAGhQ -_BDw1AUeAO0BAgIArrA4kFhQiGB48Gh_AA-8AW9hMDwPHCxgwhGRBwwOHDAcDgxHEBWQDgxnDA4w -HhcOAgAyDEAOCQDwISAeIFcADjAeIDcwHkAsCBwQHkAHLAgcB0AeAAdcBwAeAB4QfBAeIAcMBwwH -THAXAAgAnwxwFxAXkBgQGH8BHvIEMCw-HHAcbmAMDhEOEQcOYAwHDgMAYGAMBxwHHAgA-zAPF0cN -DlAcJw0nHoAMBw6gBwwHCAcOB3AHDA4IDggeB1AHHG4HMBcsXhcgF3wAF0AHABcABxAHkAcAB7Ac -ABxwBCAPMgD-GP8ngA8b0B6ATxgOPUA9Am0wvTAdAm0CHSBdAl0gzTAdAk0CLTBNCF0wPQJtQF0C -LWB9cG2QTbAtkwH-Sw8yABz-AAQEBAAfHAAOFx4XDgAeADwAGv8GCAgEgAcwByAHEAfwBAcQByAH -MAeAQgAdkAgAOAAIAAgwCAYAgRAIABhQGFAYCgAEFgA-OAAINwEfDzIA-------------------- -------------------------w1A9MTF9fQ== +RPAVkwAdkfASoTABHxABHgIAEyAIAA8KAASuDxGhDSAODxwPDAQARA4RAA4MAAQEAPIQIQ4FAQAO +DB4PDA4LDA4RDA4BBQAOCw4LDB4LDgEMAR4AEwsCACABC0MAxQseDB4LDAsBDA4FEBwAYyEOASCu +INsAHzHbABb3BAY-GVBpLllOGQ4ZXlkeeVAeGbADACHADgMAXynAGfAXWwAPD7ECBQ8yAEf8Ac8T +LxEPE18RDxM-EQ8TDB8NACgMTw4AIywvDgC0HA8RfxMMLxE-Ex8gAAAbAB9PDQAO8QA8Di8RLgwt +jh0ODC0ObQ4HACcMXQgAfzwOLD0OHd7IAB3Z9AwPHzQedB40HiQeJAYA8QBEDiQe1B6EHiQOlB6E +DjQEAAYeABCEBAA-DvQJ0gId-0H-FgA2DoYOFgUWDgUmBTYONgUOZgUGDkYOFgVWDgb_AFYORg42 +BTYOJgUGDoYOBgUmDgYFZg5GDib_AIYOlgU2DhYFtg52BSYFFg42BZYOVoAAHvIAFQMMDxAMDhwO +DA4MbxUOCgBRHQwdDC0LALEdDgwdDA4tDhwOLQoAUgwtHC0MCgA0Dl0OCgA-DD0MDAACBSIABTYA +BUoAAl8AMy0MTXMAI20MCQA-DP0DxQAd0B8V1B6UDx8kHgQNZB0GAD8UHSQIAAQwdB40BABQDYQe +lA0SACZ0DSAAFzQGAH8EDRQNhB7UigAd4NQfFLQPHwQfFAQfH3QeCAABHgIsBB0IAJAUDiQeVB1U +HlQSAIUOZB0EHoQOBAYACiwAElQGAF4OZB3UHdACD-wDb-EUQF8UcB4PFT8fLkAeDxUOPx8PFQ4N +DiAeDQ4NPx8ODQ4NDhAGAGE8DQ4NHgALADENDhwHABE_BgAhHA4HABEeBgAnDhQaACUUDhoA4CwN +DixeTA4NTA0OAA48FgBSPA4QDixaAEEOIA4MCgBhDQ4cDkAuCgBPHnBeQMsAJAA-AFEuQA4PH0kA +Yw4NLiAOLAsAMRwOEMkAYA4NPAAOTAgAUUwuTC5MogAgFEy2ADccFBzOACwcHucANQ4AHhkACBoB +EiDUAG4NHkAuPC68AA-rAUHQE51QDX8QDVANDl8YDgcAQgw-HgwJAD8LHAsKABISOwgAEFwGAE5_ +DVCdaAgPuAAXDzIAq5AGBwYHHxYGBx4JALEGBw4WHhYeZgcGHgMAAQIAdRYelh4WBwYCAHIeBgem +HhYODgADKABSVh4WHlYcAAZJABKmHAAfBkgAAAIoADxmHhZJAF8WDiYehsQAHfYA9QHfGBXeFd8V +Fd4V3hXdBgB-9QLdFd31AVAAHU-2AA0GAgDKL-YBYwEfRw8WDQ4CADgVDQ4CAHP1AQ8TLwwv6Agg +HwwiCRkPIwkZDwoJDw4ACXE-DA8TLxEvFgA1jxMfIAA3bxEPDgA-DwxfEAAEAUAAIQw-DgAv3xN1 +Ax8PMgD--0Vf-xQS0B4CAAYPfwYdT-8UEPA1ACEv0B4CAAcPTwAd4PBIKLCIYIhgGNAY0AjgAgAQ +GAYAH2BMAR7DERSQFAAPFA8fBA4PPAmVDg0OBB4NBA0OAgDHBA0eBK4EDh0ErQQtBAAbDQIAQx0k +DQQCADk0DQQCAG8AFJAU8BHmAB47ERTAnAAoMA6aAIAgHgSeIB0EbQsAWh0EbR4NDQAiBA0OAFIN +JA0EPRAAMA0ETUYAMcRABBMAIQRQEAAeIJoAD7YCbyIfFBwCD7kCOD8SwC4CAAIf-psBHh7QngAP +0gIrmXAI4AhwFEAIMI8CGgiPAhUIjwIwTghOkQJdTQhNBC0GABQNAgAYCJkCGAiZAgMaACENAHMA +X4AY0BhQ0gFPmGAI4AiAFDAIQOQAGghzAxUY4wAhPhjjACA9GNcADAYAA78AJwQY4gAXGOEAAxgA +zw0AFDAYMBRwGNAYYJIBHS-w8OQCbC-_ELMAHk-Q-xQQywI5L-4STgAdWFA4sCjAAgBvmHB4oEjw +nQ0fj1AYAGhQ_BDw1AUeAO0BAgIArrA4kFhQiGB48Gh_AA-8AW9hMDwPHCxgwhHwCAcMDhwwHA4M +RwwODDAMDgxnDA4wHhcOAgAyDEAOCQDwISAeIFcADjAeIDcwHkAsCBwQHkAHLAgcB0AeAAdcBwAe +AB4QfBAeIAcMBwwHTHAXAAgAnwxwFxAXkBgQGH8BHvIEMCw-HHAcbmAMDhEOEQcOYAwHDgMAYGAM +BxwHHAgA-zAPF0cNDlAcJw0nHoAMBw6gBwwHCAcOB3AHDA4IDggeB1AHHG4HMBcsXhcgF3wAF0AH +ABcABxAHkAcAB7AcABxwBCAPMgD-GP8ngA8b0B6ATxgOPUA9Am0wvTAdAm0CHSBdAl0gzTAdAk0C +LTBNCF0wPQJtQF0CLWB9cG2QTbAtkwH-Sw8yABz-AAQEBAAfHAAOFx4XDgAeADwAGv8GCAgEgAcw +ByAHEAfwBAcQByAHMAeAQgAdkAgAOAAIAAgwCAYAgRAIABhQGFAYCgAEFgA-OAAINwEfDzIA---- +----------------------------------------w1A9MTF9fQ== :: gfx/.info.pod b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w -NC0yNiAwOToyMjo1NCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA +NC0yNiAxMTozMToxOCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA MG5pbA== :: map/0.map b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w -NC0yNiAwOToyMjo1NCIscmV2aXNpb249ODQzXV1sejQAewMAAPlBAADwCHt7Ym1wPXVzZXJkYXRh -KCJpMTYiLDMyAwAvIjABAP--jD80ODABAF4vNDABAAs-MTMw9AL--1wOBAMOIAAPAQBGEzMEAAgB -AC8zMAEATi80OBgADw4kAA8BADkOaAAPAQD----------8v3GyIpLGhpZGRlbj1mYWxzZSxuYW1l -PSJvYmplY3RzIixwYW5feD0tOTMuMwEAARcAdXk9MTUzLjYBALI3LHRpbGVfaD0xNgoAEHcKAI96 -b29tPTF9LIMQ-58uMTAMAA8BAP-vL2EwgADtDwEA--------------9LD4MQA6Zmb3JlZ3JvdW5k -hhATNHkQTy0xMTBuELMvMzkEAAMPAQBRYzMyMDAwOQQAGmIMAA-kG1AKgAAaMAwAHzMAAW0WOIwB -DwQAAQ_AADYPAQAFHmOUAAgIAB8zgABZFzAMAA_AAD0XNQQACAEALzUwAQAID4AAOB808iEFD4AA -1B81BAAMBAEAGjUEAA_AADYPAQAiD4AA-zhqMmIwMDJjBAAEAQAvMmMEAAQfZIAANz8zNTABAB4v -M2KAAGsvMDCAAPwfMoAAO2cyODAwMjkEAB9hAAFIL2QwXAAOACgADiQADwEALw5YAA9cAAMvMzIk -AAEPAQAvD4AABgz8CA_AASUfM4AAIwF8CBc5BAAPpAECDwEALwGAABc1BAAPgAARAywALzMwAQAz -DuACDzAADAMcAw4BAA_QAycPiAEDDxwCEw8BAAMPgABHDZwBD4AA3Q4BAA_AAK4FCAMPBAAkD24Q -MV9zb2xpZO8g-_oJzQMvOTABANYvMWEEAAMPAQBVLzFhBAADLzAwkAFTJzFiBAAWOQQALzA4BAAK -DwEANx84BAAiDwEANx84BAAiD4ABNx84BAAjDwEANS8xOAQAIw8BADUvMTgEACMPAQA1LzE4BAAj -DwEANS8xOAQAIw8BADUvMWIEAAAECAQfYgQABw8BADYfOAQAIg8BADcfOAQAIg8BADcfOAQAIg8B -ADceOAQAD4EQAhs4BAAPAQA1HjgEAB8zoQsBGzgEAA8BADUfOIAA-2wuMWJ4BA_AAAEEHAAOgAQP -AQA0HzgEABIPAQBGLzE4BAATDwEARS8xOAQAEw8BAEUvMTgEABMPAQBGHzgEACIPAQA3HzgEACIP -7yC2TGJhY2vvIA_GEClQbT0xfX0= +NC0yNiAxMTozMToxOCIscmV2aXNpb249ODkxXV1sejQAnAMAABVCAADwCHt7Ym1wPXVzZXJkYXRh +KCJpMTYiLDMyAwAvIjABAP_DLjEwDAAPAQDhPzQ4MAEAXi80MAEACz8xMzABAHMXNAQADwEANQ9Q +ACEfM4AAbg8BALoqNDgIAQ8EAwcOIAAPAQA2BIAAHzNgAQAvMzABAE4vNDgYAA8OJAAPAQA5DmgA +DwEAch4zgAEPgABgDwEA---------7-1HSIpLGhpZGRlbj1mYWxzZSxuYW1lPSJvYmplY3RzIixw +YW5feD0tMTUyLjgzAQABFwBpeT0tMTAxFwCSdGlsZV9oPTE2CgAQdwoAj3pvb209MX0shBAJDwEA +----mi9hMIAA7Q8BAP--------------Sw_EEAOvZm9yZWdyb3VuZIcQ4i8zOQQAAw8BAFFjMzIw +MDA5BAAaYgwAHzOAAF0aMAwAHzMAAW0WOIwBDwQAAQ_AADYPAQAFHmOUAAgIAB8zgABZFzAMAA_A +AD0XNQQACAEALzUwAQAIDwABUB8wgADUHzUEAAwEAQAaNQQADwABtg_AAOxqMmIwMDJjBAAEAQAv +MmMEAAQfZIAANz8zNTABAB4vM2KAAGsvMDCAAPwfMoAAO2cyODAwMjkEAB9hAAFIL2QwXAAOACgA +DiQADwEALw5YAA9cAAMvMzIkAAEPAQAvD4AABgz8CA_AASUfM4AAIwF8CBc5BAAPpAECDwEALwGA +ABc1BAAPgAARAywALzMwAQAzDuACDzAADAMcAw4BAA_QAycPiAEDDxwCEw8BAAMPgABHDZwBD4AA +3Q4BAA_AAK4FCAMPBAAkD4cQMU9zb2xpghBWDwEA-4QISgIvOTABANYvMWEEAAMPAQBVLzFhBAAD +LzAwkAFTJzFiBAAWOQQALzA4BAAKDwEANx84BAAiDwEANx84BAAiD4ABNx84BAAjDwEANS8xOAQA +Iw8BADUvMTgEACMPAQA1LzE4BAAjDwEANS8xOAQAIw8BADUvMWIEAAAECAQfYgQABw8BADYfOAQA +Ig8BADcfOAQAIg8BADcfOAQAIg8BADceOAQAD4IQAhs4BAAPAQA1HjgEAB8zogsBGzgEAA8BADUf +OIAA-2wuMWJ4BA_AAAEEHAAOgAQPAQA0HzgEABIPAQBGLzE4BAATDwEARS8xOAQAEw8BAEUvMTgE +ABMPAQBGHzgEACIPAQA3HzgEACIPCSG2TGJhY2sJIU4xMi4zhxAoMjYWAA_HEAZQbT0xfX0= :: map/.info.pod b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w -NC0yNiAwOToyMjo1NCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA +NC0yNiAxMTozMToxOCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA MG5pbA== :: sfx/0.sfx b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w -NC0yNiAwOToyMjo1NCIscmV2aXNpb249Njk5XV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ +NC0yNiAxMTozMToxOCIscmV2aXNpb249NzMzXV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ Ag4AAaABIAKgDgAPEAAN8MoBAgMEBQYHAA--kAgJCgsPDA8NDw4PDxAA8AANDxEPEg8TDxQPFQ8W DxcTAPEBDxgPGQ8aDxsPHA8dDx4PHxQA8QAgDyEPIg8jDyQPJQ8mDycUAPEAKA8pDyoPKw8sDy0P Lg8vFADxADAPMQ8yDzMPNA81DzYPNxQA-wU4DzkPOg87DzwPPQ8_Dz8AD--w-wEA6-InWgEQBg8g @@ -82,14 +83,14 @@ L-AAMAD--4If-wEAzPEd6A9AAA1ADxcACxoIBggQAgMQBQAGAAgASRcAJggJUP--CfEX-gn8F-4J 8HArAF-_sPBwBAgA-9wf-wEAl1D-----Hw== :: sfx/.info.pod b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w -NC0yNiAwOToyMjo1NCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA +NC0yNiAxMTozMToxOCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA MG5pbA== :: main.lua ---[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-26 09:22:54",revision=950]] +--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-26 11:31:18",revision=995]] include("/cirnofarm/src/game.lua") :: .info.pod b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTE2IDE5OjQyOjIyIixtb2RpZmllZD0iMjAyNC0w -NC0yNiAwOToyMjo1NCIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y +NC0yNiAxMTozMToxOCIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y a3NwYWNlcz17e2xvY2F0aW9uPSJtYWluLmx1YSMxIix3b3Jrc3BhY2VfaW5kZXg9MX0se2xvY2F0 aW9uPSJnZngvMC5nZngiLHdvcmtzcGFjZV9pbmRleD0yfSx7bG9jYXRpb249Im1hcC8wLm1hcCIs d29ya3NwYWNlX2luZGV4PTN9LHtsb2NhdGlvbj0ic2Z4LzAuc2Z4Iix3b3Jrc3BhY2VfaW5kZXg9 diff --git a/src/game.lua b/src/game.lua index bd90d2d..c5d62a3 100644 --- a/src/game.lua +++ b/src/game.lua @@ -70,9 +70,17 @@ function _update() weapons_manager.update() - for b in all(actors) do + for a in all(actors) do + a:update() + end + + for b in all(bullets) do b:update() end + + for p in all(particles) do + p:update() + end end LAYERS = { @@ -83,6 +91,8 @@ LAYERS = { } actors = {} +bullets = {} +particles = {} function _draw() cls(0) @@ -94,8 +104,24 @@ function _draw() end function spawn_objects() - local b = Barrel:new(32,32) - add(actors,b) + + local width = 32 + local height = 32 + + for x=0,width,1 do + + for y=0,height,1 do + local tile = map_manager.get_layer_tile(x,y,1) + + if (tile == 3) then + local b = Barrel:new(x*tile_width,y*tile_height) + add(actors,b) + end + end + + end + + end function render_layer(layer) @@ -114,9 +140,13 @@ function render_layer(layer) b:draw() end - -- for b in all(bullets) do - -- b:draw() - -- end - end + for b in all(bullets) do + b:draw() + end + + for p in all(particles) do + p:draw() + end + end end \ No newline at end of file diff --git a/src/map.lua b/src/map.lua index 962f767..c94d3d5 100644 --- a/src/map.lua +++ b/src/map.lua @@ -38,6 +38,10 @@ function M.get_layer_tile(x,y,layer) return get_layer_tile(x,y,layer) end +function M.get_layer_tile(x,y,layer) + return get_layer_tile(x,y,layer) +end + -- function M.can_move(x,y) -- return is_tile(0,x,y) -- end diff --git a/src/weapons.lua b/src/weapons.lua index 88ddd8f..4704904 100644 --- a/src/weapons.lua +++ b/src/weapons.lua @@ -6,7 +6,6 @@ local Actor = require(make_path("actor2")) M = {} local weapons = {} -local bullets = {} -- local particles = {} weapon = { @@ -39,7 +38,7 @@ Particle.spriteIndex=81 function Particle:update() self.life-=1 if self.life<=0 then - del(actors,self) + del(particles,self) end end @@ -47,37 +46,47 @@ end -- spr(self.spriteIndex,self.x,self.y) -- end -bullet = { - x=0, - y=0, - dx=0, - dy=0, - spriteIndex=80, - destroy_sprite_index=66, - life=100, - damage=1, -} -bullet.__index = bullet -function bullet:new(x, y, dx, dy) - local o = setmetatable({}, bullet) - o.x = x - o.y = y - o.dx = dx - o.dy = dy - return o -end -function bullet:destroy() +Bullet = Actor:new() +--function Bullet:new() +-- +--end +Bullet.dx=0 +Bullet.dy=0 +Bullet.spriteIndex = 80 +Bullet.damage=1 + +-- bullet = { +-- x=0, +-- y=0, +-- dx=0, +-- dy=0, +-- spriteIndex=80, +-- destroy_sprite_index=66, +-- life=100, +-- damage=1, +-- } +-- bullet.__index = bullet +-- function bullet:new(x, y, dx, dy) +-- local o = setmetatable({}, bullet) +-- o.x = x +-- o.y = y +-- o.dx = dx +-- o.dy = dy +-- return o +-- end + +function Bullet:destroy() -- Create particle local p = Particle:new(self.x, self.y) - add(actors, p) + add(particles, p) del(bullets,self) end -function bullet:check_collision() +function Bullet:check_collision() if (map_manager.is_tile_shoot_solid(self.x,self.y)) then self:destroy() @@ -85,7 +94,7 @@ function bullet:check_collision() end -function bullet:update() +function Bullet:update() self.x+=self.dx self.y+=self.dy @@ -97,7 +106,7 @@ function bullet:update() self:check_collision() end -function bullet:draw() +function Bullet:draw() spr(self.spriteIndex,self.x,self.y) end @@ -109,7 +118,10 @@ function M.create_bullet(new_x, new_y, dir_x, dir_y) local normalized_dir_x = dir_x / length local normalized_dir_y = dir_y / length - local b = bullet:new(new_x, new_y, normalized_dir_x * 2, normalized_dir_y * 2) + local b = Bullet:new(new_x, new_y, normalized_dir_x * 2, normalized_dir_y * 2) + b.dx = normalized_dir_x * 2 + b.dy = normalized_dir_y * 2 + add(bullets, b) @@ -151,9 +163,9 @@ function M.init() end function M.draw() - for b in all(bullets) do - b:draw() - end + --for b in all(bullets) do + -- b:draw() + --end -- for p in all(particles) do -- p:draw() @@ -161,9 +173,9 @@ function M.draw() end function M.update() - for b in all(bullets) do - b:update() - end + --for b in all(bullets) do + -- b:update() + --end -- for p in all(particles) do -- p:update()