8.4 KiB
8.4 KiB
🏗️ POPOLN SEZNAM STAVB IN DEKORACIJ - NovaFarma
📋 PREGLED
V igri NovaFarma imaš na voljo 2 načina postavljanja objektov:
- Build Mode (tipka
B) - Interaktivno postavljanje - Programsko - Dodaš kodo v
GameScene.js
🏗️ STAVBE (Build Mode - Tipka B)
Razpoložljive Stavbe:
| Tipka | Ime | ID | Cena | Kolizija | Opis |
|---|---|---|---|---|---|
1 |
Fence Post | fence_post |
1 les | Ne | Ograjen steber |
2 |
Fence Horizontal | fence_horizontal |
2 lesa | Ne | Vodoravna ograja → |
3 |
Fence Vertical | fence_vertical |
2 lesa | Ne | Navpična ograja ↓ |
4 |
Fence Corner | fence_corner |
2 lesa | Ne | Vogalna ograja ⌞ |
5 |
Barn | barn |
40 lesa + 20 kamna | Da | Hlev za živali |
Dodatne Stavbe (Samo Programsko):
| ID | Ime | Cena | Kolizija | Opis |
|---|---|---|---|---|
fence |
Old Fence | 2 lesa | Ne | Stara izometrična ograja |
grave |
Grave | 10 kamna | Ne | Grob za zombije |
farmhouse |
Farmhouse | 50 lesa + 30 kamna + 100 zlata | Da | Hiša za igralca |
blacksmith |
Blacksmith | 30 lesa + 40 kamna + 80 zlata | Da | Kovačnica |
🌳 DEKORACIJE (Programsko - TerrainSystem)
Drevesa:
| ID | Ime | Opis |
|---|---|---|
tree_green_final |
Zeleno Drevo | Navadno zeleno drevo |
tree_blue_final |
Modro Drevo | Navadno modro drevo |
tree_sapling |
Sadika | Mlado drevo |
tree_apple |
Jablana | Sadno drevo (jabolka) |
tree_orange |
Oranževec | Sadno drevo (oranže) |
tree_cherry |
Češnja | Sadno drevo (češnje) |
tree_dead_new |
Mrtvo Drevo | Suho drevo |
Skale:
| ID | Ime | Opis |
|---|---|---|
rock_asset |
Kamen | Navadna skala |
rock_1 |
Skala 1 | Manjša skala |
rock_2 |
Skala 2 | Večja skala |
Cvetje in Rastline:
| ID | Ime | Opis |
|---|---|---|
flowers_new |
Cvetje | Dekorativno cvetje |
bush |
Grm | Dekorativen grm |
Strukture:
| ID | Ime | Opis |
|---|---|---|
fence |
Ograja | Lesena ograja |
gravestone |
Nagrobnik | Nagrobni kamen |
chest |
Skrinja | Skrinja za predmete |
spawner |
Spawner | Zombie spawner |
ruin |
Ruševina | Zapuščena zgradba |
arena |
Arena | Bojno območje |
furnace |
Talilna Peč | Tali rudo v kovine |
mint |
Kovnica | Kuje kovance |
Signposti (Navigacija):
| ID | Ime | Opis |
|---|---|---|
signpost_city |
Smer Mesto | Puščica → |
signpost_farm |
Smer Farma | Puščica ← |
signpost_both |
Obe Smeri | Puščica ⇅ |
💻 KAKO UPORABITI (Programsko)
1. Postavitev Stavb (BuildSystem)
// V GameScene.js, po vrstici: this.buildSystem = new BuildSystem(this);
// Ena ograja
this.buildSystem.placeSingleFence(50, 50, 'fence_post', false);
// Linija ograj
this.buildSystem.placeFenceLine(40, 40, 50, 40, 'fence_horizontal', false);
// Pravokotnik ograj
this.buildSystem.placeFenceRectangle(30, 30, 20, 15, 'fence_post', false);
// Hlev
this.buildSystem.placeSingleFence(60, 60, 'barn', false);
// Farmhouse
this.buildSystem.placeSingleFence(70, 70, 'farmhouse', false);
2. Postavitev Dekoracij (TerrainSystem)
// V GameScene.js, po vrstici: this.terrainSystem.generate();
// Drevesa
this.terrainSystem.addDecoration(45, 45, 'tree_green_final');
this.terrainSystem.addDecoration(46, 45, 'tree_apple');
this.terrainSystem.addDecoration(47, 45, 'tree_dead_new');
// Skale
this.terrainSystem.addDecoration(50, 55, 'rock_asset');
this.terrainSystem.addDecoration(51, 55, 'rock_1');
// Cvetje
this.terrainSystem.addDecoration(40, 50, 'flowers_new');
this.terrainSystem.addDecoration(41, 50, 'bush');
// Strukture
this.terrainSystem.placeStructure(60, 50, 'chest');
this.terrainSystem.placeStructure(65, 50, 'furnace');
this.terrainSystem.placeStructure(70, 50, 'mint');
3. Postavitev Kompleksnih Struktur
// Ruševina (6x6 območje)
this.terrainSystem.placeStructure(55, 55, 'ruin');
// Arena (12x12 območje)
this.terrainSystem.placeStructure(75, 55, 'arena');
// Zombie Spawner
this.terrainSystem.placeStructure(80, 80, 'spawner');
🎨 PRIMERI UPORABE
Primer 1: Ustvari Sadovnjak (10x10)
// V GameScene.js, po inicializaciji terrainSystem
for (let x = 20; x < 30; x++) {
for (let y = 20; y < 30; y++) {
if ((x + y) % 3 === 0) { // Vsako 3. mesto
const trees = ['tree_apple', 'tree_orange', 'tree_cherry'];
const randomTree = trees[Math.floor(Math.random() * trees.length)];
this.terrainSystem.addDecoration(x, y, randomTree);
}
}
}
console.log('🍎 Sadovnjak ustvarjen!');
Primer 2: Ustvari Kamnolom
// Območje polno skal
for (let x = 60; x < 70; x++) {
for (let y = 60; y < 70; y++) {
if (Math.random() > 0.5) {
this.terrainSystem.addDecoration(x, y, 'rock_asset');
}
}
}
console.log('⛏️ Kamnolom ustvarjen!');
Primer 3: Ustvari Vas (5 hiš)
// Postavi 5 hiš v vrsti
for (let i = 0; i < 5; i++) {
this.buildSystem.placeSingleFence(30 + (i * 5), 70, 'farmhouse', false);
}
// Dodaj ograje okoli vasi
this.buildSystem.placeFenceRectangle(28, 68, 27, 6, 'fence_horizontal', false);
console.log('🏘️ Vas ustvarjena!');
Primer 4: Ustvari Pokopališče
// 5x5 pokopališče
for (let x = 40; x < 45; x++) {
for (let y = 40; y < 45; y++) {
if ((x + y) % 2 === 0) {
this.terrainSystem.addDecoration(x, y, 'gravestone');
}
}
}
// Ograja okoli pokopališča
this.buildSystem.placeFenceRectangle(39, 39, 7, 7, 'fence_post', false);
console.log('🪦 Pokopališče ustvarjeno!');
Primer 5: Ustvari Gozd
// Naključen gozd 20x20
for (let x = 10; x < 30; x++) {
for (let y = 10; y < 30; y++) {
if (Math.random() > 0.7) { // 30% verjetnost
const trees = ['tree_green_final', 'tree_blue_final', 'tree_dead_new'];
const randomTree = trees[Math.floor(Math.random() * trees.length)];
this.terrainSystem.addDecoration(x, y, randomTree);
}
}
}
console.log('🌲 Gozd ustvarjen!');
📍 KJE DODATI KODO
Za Stavbe (BuildSystem):
Datoteka: c:\novafarma\src\scenes\GameScene.js
Lokacija: Vrstica 68 (takoj po this.buildSystem = new BuildSystem(this);)
Za Dekoracije (TerrainSystem):
Datoteka: c:\novafarma\src\scenes\GameScene.js
Lokacija: Vrstica 80 (takoj po this.initializeFarmWorld();)
🎮 BUILD MODE (Interaktivno)
Kako Uporabiti:
- Zaženi igro (
npm start) - Pritisni
B→ Vklopi Build Mode - Izberi stavbo:
1= Fence Post2= Fence Horizontal3= Fence Vertical4= Fence Corner5= Barn
- Premikaj miško → Vidiš predogled
- Klikni → Postavi stavbo
- Pritisni
B→ Izklopi Build Mode
Barve Predogleda:
- 🟢 Zelena = Lahko postaviš (dovolj virov, prosto mesto)
- 🔴 Rdeča = Ne moreš postaviti (premalo virov ali zasedeno)
💰 CENE STAVB
| Stavba | Les | Kamen | Zlato |
|---|---|---|---|
| Fence Post | 1 | - | - |
| Fence Horizontal | 2 | - | - |
| Fence Vertical | 2 | - | - |
| Fence Corner | 2 | - | - |
| Old Fence | 2 | - | - |
| Barn | 40 | 20 | - |
| Grave | - | 10 | - |
| Farmhouse | 50 | 30 | 100 |
| Blacksmith | 30 | 40 | 80 |
Opomba: Če uporabljaš programsko postavitev z consumeResources = false, se viri NE porabijo!
🔧 KONZOLNI UKAZI (Debug)
// Dodaj vire
this.scene.scenes[0].inventorySystem.addItem('wood', 1000);
this.scene.scenes[0].inventorySystem.addItem('stone', 1000);
this.scene.scenes[0].inventorySystem.gold = 10000;
// Postavi peč pri igralcu
placeFurnace();
// Postavi kovnico pri igralcu
placeMint();
📝 OPOMBE
Razlika med BuildSystem in TerrainSystem:
- BuildSystem → Stavbe (ograje, hiše, hlevi)
- TerrainSystem → Dekoracije (drevesa, skale, cvetje, strukture)
Kolizije:
Nekatere stavbe imajo kolizijo (igralec ne more skozi):
- ✅ Barn
- ✅ Farmhouse
- ✅ Blacksmith
Ograje in dekoracije NIMAJO kolizije (igralec lahko gre skozi).
Pripravil: Antigravity AI
Datum: 12.12.2025
Verzija: 1.0
Srečno pri gradnji! 🏗️🌾