From 7dd702f34eba3b0a85f4dbcb4c73ebe142f7a6ac Mon Sep 17 00:00:00 2001 From: kdrzazga Date: Mon, 23 Dec 2024 13:14:35 +0100 Subject: [PATCH] Electrician 10 (#91) --- other/electrician/files/attic2.png | Bin 0 -> 1383 bytes other/electrician/files/basement.png | Bin 0 -> 6873 bytes other/electrician/files/creators.js | 32 +++++++++++++++ other/electrician/files/electrician.js | 15 +++++-- other/electrician/files/garage.png | Bin 0 -> 11588 bytes other/electrician/files/gym.png | Bin 0 -> 6345 bytes other/electrician/files/home1.png | Bin 0 -> 1538 bytes .../files/{level1.js => levels.js} | 37 ++++++++++++++++++ other/electrician/files/office.png | Bin 0 -> 3875 bytes other/electrician/index.html | 2 +- 10 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 other/electrician/files/attic2.png create mode 100644 other/electrician/files/basement.png create mode 100644 other/electrician/files/garage.png create mode 100644 other/electrician/files/gym.png create mode 100644 other/electrician/files/home1.png rename other/electrician/files/{level1.js => levels.js} (87%) create mode 100644 other/electrician/files/office.png diff --git a/other/electrician/files/attic2.png b/other/electrician/files/attic2.png new file mode 100644 index 0000000000000000000000000000000000000000..4e2ae37d2a3c621b5fd79d8d86d80af31ca57a86 GIT binary patch literal 1383 zcmeAS@N?(olHy`uVBq!ia0y~yV9Ert^ElXmWX zZCZZLJMHdNY0JR%j}nwySmnQ3o?rY)xImMmBD;BWbw!25J+=_(F3HW_#vL1M!U`7qUYDJ1&B(wc1Tr!-|J|0R z>HhQXr@2U_pSr%{=8}+e`-_U1-~Y~%IyKk4wlFK*@A&%N)zKdwCH+sVG!6rrbIS79 z>+k&^1r}WUo^OBrFwng0OBt61GS;ZKhH$Mi>GNK?)x_@f>04O~7+q8@Whh_D(__8* zG9o(c*h~lJ4%a0I=Vo`B7P1M<_h_y^VsdR-n+0=+|B{Qxo}JrJ)S%1D@JKjw3(&t8 zrg|_laCj_XWMEOb1PlVN``73Hl_=b4{5@mQXSvVuUVb-?N!`4`~8It_x>DX zd~nO}@3F?+eOqd7|H!FXQ0*QSRd@LQ#Pxxn-6GD}Pjt&y;@x33vFym>$B&P1+z}Ta zZ{IgJzh;4})Ew6(jMtx)m!H!pe=~FH@yRb!`~KRqSFPF|wy?puM*SKJI2I=iDJyu6no0iX%%ibHb;%h{nc%zc;-PDQf3|ls+ zy*(ne=9AIo4z2ap;>BC__WrxJ)LrQjLqpiN$=fCwJ&T&6$ia|M{5<9D)h~Nqz7z?3 z`9;;xG&XJ8bY6xHH$A)^r?{Kh=2uxoTg4XNEPC>J)2E7zeHIK1u}iO-Z4M21$E8@va{@lMn@1>=03!m`rhQ@YP zN%@S4Voe^qFTdv-1;5*PP+FgL7okz#OgfXKQ@1JmCE?TK#E zK!vg3M2#Xl-xI7p7bsYw3W|AfN(DOX#vM+OdZ+^f^;;w5j{7k)tQO3ilPb}s&&&`3 zOj6u$`*;|3O!0V}v-|G5_YY#D=11^>_~5iuXg1&d_nEy64*U?O9E&`4e(}#3DTXh~ zmsW(o6VJ6`Xb44j5!g24=O`rbVGR)X~b5Y;FUw@NrSXO-fd;9#yf_J6M ztu7__n&!7Wliwa-Y;IgE5^?y>>pozN0n3E7o~!@Ht6n)#{OZacqyIa$-P$>G=HdfO vr^S_vDf2Qk+};3853pE94wplf6+f6OoKnTC_0?p7g(HKftDnm{r-UW|lg2vx literal 0 HcmV?d00001 diff --git a/other/electrician/files/basement.png b/other/electrician/files/basement.png new file mode 100644 index 0000000000000000000000000000000000000000..df3606de163391b48ce0680df5e5b8f95ed2a021 GIT binary patch literal 6873 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 floor.init(physics)); + building.floors.forEach(floor => floor.calculateFloorLevel()); + + const connectionPointsCounts = [4, 8, 2]; + building.wires = building.floors.map((floor, index) => { + const aboveFloor = building.floors[index] || null; + const belowFloor = building.floors[index - 1] || null; + return new Wire(index, physics, belowFloor, aboveFloor, connectionPointsCounts[index]); + }); + + building.includeWiresInInfoFrame(); + + return building; + } } diff --git a/other/electrician/files/electrician.js b/other/electrician/files/electrician.js index 478bab6..07e2036 100644 --- a/other/electrician/files/electrician.js +++ b/other/electrician/files/electrician.js @@ -1,3 +1,12 @@ +const levelsJson = {'lvl1' : Level1Scene, 'lvl2': Level2Scene} + +let level = sessionStorage.getItem("level"); +let levelObject = Level1Scene; +if (level == null) levelObject = Level1Scene; +else { + levelObject = levelsJson[level]; +} + const config = { type: Phaser.AUTO, width: Constants.SCREEN_WIDTH, @@ -9,13 +18,13 @@ const config = { debug: false } }, - scene: Level1Scene + scene: [levelObject] }; -const game = new Phaser.Game(config); +let game = new Phaser.Game(config); /* Hacking: -game.scene.scenes[0].building.enemies[7].active = false; +game.scene.scenes[0].building.enemies[8].active = false; game.scene.scenes[0].player.y=0; */ diff --git a/other/electrician/files/garage.png b/other/electrician/files/garage.png new file mode 100644 index 0000000000000000000000000000000000000000..684df5072ab3efbea7ee2703db96dee4e1464bfb GIT binary patch literal 11588 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 E0!fgHH2?qr literal 0 HcmV?d00001 diff --git a/other/electrician/files/home1.png b/other/electrician/files/home1.png new file mode 100644 index 0000000000000000000000000000000000000000..7a04f22fc1bf6446d9959d198bbc88b7f8e72d1b GIT binary patch literal 1538 zcmeAS@N?(olHy`uVBq!ia0y~yV9Ert^ElXmWXTJPWN>w$xUKklhVLtdL!aUf z{;cWSG3CGAbfC3LOBfkgR6vA@H7@uJVpA;!LhxF5YN5<(ul{dW#MB-|ud^ zllOi7+<$*oTKnW~zr8N&#p$2dD%SrnxVE|KquCFci%~CUyeLs;aBy&v0ur13%cUMX z?S7u@z9eczy=!JhdEXxW&zA+ZtDL=BazZ`-*Q4E?bGqbzKCUv4f7bHo{>!x+=bf$o z`1S9~Xr?n?EB;^7^*-*RoOxv>N5&d;)|DbFg64W@X0P)5`da7$!y|!9E0mYS#&CsP zPJCNkX(4=pAxZGkgHu;qOds+n*eUYXbtXp4)&jG8t^CT{uCi}f$pn<>wE{ZML>2Di zDgQ*)RJ3~81umW(T{F?IJZ#RVH}Qe9cH{#cJAK#Hlld#tjiMJ!eXq88@4X4nX06C{ zthfIgHdU$!BrkL+!pnm>>gQF(wci~6-Y(5Ac|Bp;wfK+5zrv@Ws1Us5W@BShbFb_5 z+qZ8&Un{yRt-GWbs{7;JxvW2r%-j2?%&6wvjs4$G?>Q!?ZEIJZw|~;9AmNUye+j3Ae0@7+q3S z-p&?W^T+bAz|{TQM4mmf`uhfRxoAdnHRr_nF^V`doUSG2GrN}cehL|9! zZJNuPYWNluwCjkk^UwbK+w=AMACiByy^0T=nfN```&me|zm!7XulxOZ>J}RdYZK&O z-`pd9b~2kzs?lxv33VF-x2e9om!bGJ$LUs8i%CPU+GbXU9ZpVCrBVG?7!ULcgQAzw zAsC#JphW4McPtIdT1;MXWHMZsGJ%ajV8R48)}P@nXEhljCPVmcvezNnN?S}AGJui8 zz~KQQ7WZAA3)1E$tH{eROXw0XH$sUOkAaC6m?Q$-J**ACg$4$*G6Vy4H#8s z{psk9w_AU+=xwrmm)T`Ki~Dt1ld$yldg~(*=b!EU@$26eUB+isd+J|KTbjIRqKTNL zOn=&8CWdS3OBn67dSiIG8-U@{oohDxKle1R}9kNz{dU2dTd|of)Iuy;L?Lc;$W}z z?^P>SGCfEKMkoU#Ct)JDuk^=`%B=nO%cr)?KJ@A4l3A0R{?+|jdn<2y?9~&$C(Yk} zTlf81-&>bi$~4}w+N=HcJyvD*{^<4Z%kwx5u0Q_ky@Q z<(j|?3|(N_U|>8e<+)n+V}oI>|J83(_dQuYwJJ=X>ABY1_(>;$sp~+h#a&Ktn!_N@ c-Mt&1n#jF2MnH5wu-s wire.isConnected()); + if (allConnected){ + console.log(`All floors are connected. Advancing to the next level ${this.nextLevel}`); + sessionStorage.setItem('level', this.nextLevel); + location.reload(); + } + } } class Level1Scene extends LevelScene{ constructor() { super('Level1'); + this.nextLevel = 'lvl2'; } loadFloorImages(){ @@ -231,3 +243,28 @@ class Level1Scene extends LevelScene{ this.load.image('floor2', 'files/kitchen.png'); } } + +class Level2Scene extends LevelScene{ + + constructor() { + super('Level2'); + this.nextLevel = 'lvl1'; //TODO: looped game + } + + loadFloorImages(){ + this.load.image('floor0', 'files/office.png'); + this.load.image('floor1', 'files/gym.png'); + this.load.image('floor2', 'files/garage.png'); + } + + create() { + this.physics.world.setBounds(0, 0, 800, 600); + + this.building = Creator.createOfficeGymGarage(this.physics); + + this.player = this.physics.add.sprite(100, 400, 'sprite'); + this.player.setCollideWorldBounds(true); + + this.cursors = this.input.keyboard.createCursorKeys(); + } +} diff --git a/other/electrician/files/office.png b/other/electrician/files/office.png new file mode 100644 index 0000000000000000000000000000000000000000..3c7c660d404269f36c3cd1c7fb38308241b7020e GIT binary patch literal 3875 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 - +