From 2819da21a3b9161790a7b103ac7f0cb3b9f7f895 Mon Sep 17 00:00:00 2001 From: MasterGordon Date: Tue, 27 Mar 2018 23:02:14 +0200 Subject: [PATCH] Added Saw + Fixed Factory.deleteItem --- images/items/planks.png | Bin 0 -> 524 bytes images/tiles/saw.pdn | Bin 0 -> 5721 bytes images/tiles/saw10.png | Bin 0 -> 518 bytes images/tiles/saw11.png | Bin 0 -> 520 bytes images/tiles/saw12.png | Bin 0 -> 531 bytes images/tiles/saw13.png | Bin 0 -> 540 bytes js/baseclasses.js | 13 ++++++++++--- js/items.json | 3 +++ js/tiles.js | 35 +++++++++++++++++++++++++++++++++-- lang/en.json | 4 ++++ 10 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 images/items/planks.png create mode 100644 images/tiles/saw.pdn create mode 100644 images/tiles/saw10.png create mode 100644 images/tiles/saw11.png create mode 100644 images/tiles/saw12.png create mode 100644 images/tiles/saw13.png diff --git a/images/items/planks.png b/images/items/planks.png new file mode 100644 index 0000000000000000000000000000000000000000..26e3ad03835ae3c2afdd941050e542ba71c2f1e0 GIT binary patch literal 524 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 literal 0 HcmV?d00001 diff --git a/images/tiles/saw10.png b/images/tiles/saw10.png new file mode 100644 index 0000000000000000000000000000000000000000..bb17fe1fc0a5e05fdbc3440b792034a1c3e6e5ee GIT binary patch literal 518 zcmV+h0{Q)kP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;2FkAZe8V00DMML_t(&L+#O9u7fZT1JG`ay|F3Q$5pPB z%D5(E9uYy}<9swBGq(EK_x;i2;kvH-j5ufUbD$p1g!3MLs0TB`%#RCS9SW!qp5QHT zx3|FEh8NhjO`c~NT0n)*E|gvX19I3A|3@yu#Sfg0=#zl#VLC^(=6&%n7o z+y&I~2sO7yxB!NT;Q77W1qv0!OU>_LF2Kt;h!@Vn`By>(>cT8)#}#vdqAtMY8F)_* zSAjwW$e?z$3@@-O%RhD3qIN2#0yvl#p0O5CyIM>I3SO8^?QAg@sMPYPI+u5~xC-F1 zOgz7bsQ@p+vnZa4zgtWN7>CH9_O!SP;4)kuQD@{r-fzjRqcY6!m z?OWi9C2H<(fkJ&aBg}j#P^bqp;k<_*m3lY>&RP5%Jj?$11EtjItFAK~;Q#;t07*qo IM6N<$g6{6vD*ylh literal 0 HcmV?d00001 diff --git a/images/tiles/saw11.png b/images/tiles/saw11.png new file mode 100644 index 0000000000000000000000000000000000000000..96d584ae63aa68568270662209e73b8c7453fbb7 GIT binary patch literal 520 zcmV+j0{8uiP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;2FkAZe8V00DSOL_t(&L+z7oj)O1^M0+vr);j^`V>K(e zGVV0Qj#-i|Kc31*;+a?Av2EMX(2LLKbL$b?6TDqu8+*d`-JP%vJ)%1gS667>lvIPu&ygT29U`VN)h-}7{{73o;r}?`zbJ0Fb#J3Aca_vISbvIkmV201MB8 z<&_8t02a=ers)@UkHNA^bSL2bkX-_LFbmH>=Fju|IxgW70FaO%8{Ue|s=+OwVI^8% z8Amh;09GUdn_WXl;EZp<&aEXR0OVW9LeJGXM}!45tdIvi>(2!wkQJ-J&hru$kXMM^ zvn4Hdz4u?&gasJ3NU6A88MZ`?BYVY0K*m@PT)*# zfvfpH0wYRD@0S2z3wuO&-U$GXP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;2FkAZe8V00DzZL_t(&L+zAXu7fZP1-mi!#+rDnFO@5~ zGUfn@?UdwRKIS8oI5SGyS4ydC;KOkoQ;TR%V)p=TYzghVS)dIqBAvUFXEp)og&ueU z?&b-&n<@dzvYf6XsUCpj=~+}%XaEw|qEX_EI{-;D>$+}`pE0z@6BQc3Yb~xh+H1ib zK;%dtq34uFg#;k65@?3?Hp~HhAQG~m=jYN?z|X%zbQqGcpy$f<8Lj{%;sKp;#s3XJ z0uj*cd7jfWO}jG@#Q{7R9gY}=;RE^%Aka?d V=NiO!XT$&i002ovPDHLkV1gzd(DDEP literal 0 HcmV?d00001 diff --git a/images/tiles/saw13.png b/images/tiles/saw13.png new file mode 100644 index 0000000000000000000000000000000000000000..6106bcd8e5d8b82ab7f99144007ce9aafa77ecc6 GIT binary patch literal 540 zcmV+%0^|LOP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;2FkAZe8V00E3iL_t(&L+zMbu7fZPM7uHe#+rDnk7_Ep zGVTasJGq1_K8{pUV$VrZsqosi?bgu2aU8cEu{pud0GrqoHt+6&P3RGw`F7!jodCPx z4m<)^^9WqcBT&jTO>{g<6MgxePY literal 0 HcmV?d00001 diff --git a/js/baseclasses.js b/js/baseclasses.js index 54a259a..47b7517 100644 --- a/js/baseclasses.js +++ b/js/baseclasses.js @@ -94,11 +94,12 @@ class Inventory { this.items.push(item) } - take(id, count) { + take(id, count, factory) { if (this.countOf(id) >= count) { for (var j = 0; j < count; j++) { for (var i = 0; i < this.items.length; i++) { if (this.items[i].id == id) { + factory.deleteItem(this.items[i]) this.items.splice(i, 1) break; } @@ -156,7 +157,8 @@ class Factory { if (this.items[i].x % 48 == 0 && this.items[i].y % 48 == 0) { var tile = this.tiles[this.items[i].x / 48][this.items[i].y / 48] if (tile != 0) { - tile.input.addItem(this.items[i]) + if (tile.input.items.indexOf(this.items[i]) == -1) + tile.input.addItem(this.items[i]) } } } @@ -194,7 +196,12 @@ class Factory { } deleteItem(item) { - this.items.splice(this.items.indexOf(item), 1) + for (var i = 0; i < this.items.length; i++) { + if (this.items[i].x == item.x && this.items[i].y == item.y && this.items[i].id == item.id) { + this.items.splice(i, 1) + return + } + } } } diff --git a/js/items.json b/js/items.json index 4208551..f74c481 100644 --- a/js/items.json +++ b/js/items.json @@ -5,5 +5,8 @@ },{ "id": 1, "name": "log" + },{ + "id": 2, + "name": "planks" }] } diff --git a/js/tiles.js b/js/tiles.js index 4f5968d..c24676e 100644 --- a/js/tiles.js +++ b/js/tiles.js @@ -41,6 +41,39 @@ class Treefarm extends Tile { } tileClasses.push(Treefarm) +class Saw extends Tile { + constructor(x, y, factory) { + super(x, y, factory) + this.maxwork = 96 + this.currentwork = 0 + this.name = "saw" + this.texture = { + "0": [], + "1": ["saw10", "saw10", "saw10", "saw10", "saw11", "saw11", "saw11", "saw11", "saw12", "saw12", "saw12", "saw12", "saw13", "saw13", "saw13", "saw13"] + } + this.loadImages() + } + + work() { + //Items für ein Pank + var requieredCount = 5 + if (this.input.countOf(1) >= requieredCount) { + if (this.currentwork == 96) { + this.input.take(1, requieredCount,this.factory) + var item = new Item(2, this.x * 48, this.y * 48) + this.factory.items.push(item) + item.setDFromDirection(this.direction) + this.currentwork = 0 + } else { + this.currentwork++ + } + } else { + this.currentwork = 0 + } + } +} +tileClasses.push(Saw) + class Collector extends Tile { constructor(x, y, factory) { super(x, y, factory) @@ -54,12 +87,10 @@ class Collector extends Tile { } work() { - console.log(this.input) while (this.input.items.length > 0) { var item = this.input.items.pop() inventory.addItem(item) this.factory.deleteItem(item) - console.log(item) } } } diff --git a/lang/en.json b/lang/en.json index 6ccca57..a35f5a2 100644 --- a/lang/en.json +++ b/lang/en.json @@ -11,6 +11,10 @@ "collector": { "name": "Collector", "description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet." + }, + "saw": { + "name": "Saw", + "description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet." } }, "more": "show more...",