csata formátum dokumentáció
This commit is contained in:
444
doc/CsataFormatum.md
Normal file
444
doc/CsataFormatum.md
Normal file
@@ -0,0 +1,444 @@
|
|||||||
|
# Csata objektum
|
||||||
|
|
||||||
|
## Szerkezet
|
||||||
|
|
||||||
|
```python
|
||||||
|
{
|
||||||
|
"enemies": [...],
|
||||||
|
"party_members": [...],
|
||||||
|
"enemy_turn_func": ...,
|
||||||
|
"mus_id": "...",
|
||||||
|
"init_ai_data": {...},
|
||||||
|
"menus": [...],
|
||||||
|
"spells": [...],
|
||||||
|
"inventory": [...]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## enemies
|
||||||
|
|
||||||
|
Az ellenséges egységek listája.
|
||||||
|
|
||||||
|
### Típus
|
||||||
|
|
||||||
|
```python
|
||||||
|
list[Combatant]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Példa
|
||||||
|
|
||||||
|
```python
|
||||||
|
"enemies": [
|
||||||
|
Combatant("Six-Seven kid", 120, 30, 80, 20, 0, 50, False, False),
|
||||||
|
Combatant("Ice Sprite", 60, 15, 150, 10, 0, 200, False, True),
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
Minden elem egy `Combatant` objektum.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## party_members
|
||||||
|
|
||||||
|
A játékos által irányított karakterek listája.
|
||||||
|
|
||||||
|
### Típus
|
||||||
|
|
||||||
|
```python
|
||||||
|
list[Combatant]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Példa
|
||||||
|
|
||||||
|
```python
|
||||||
|
"party_members": [
|
||||||
|
Combatant("Locke", 80, 45, 130, 15, 10, 10, False, False),
|
||||||
|
Combatant("Terra", 100, 35, 100, 30, 30, 30, False, False),
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
A lista sorrendje határozza meg:
|
||||||
|
|
||||||
|
- a karakter pozícióját a csatában,
|
||||||
|
- a menük hozzárendelését,
|
||||||
|
- a varázslatok hozzárendelését.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## enemy_turn_func
|
||||||
|
|
||||||
|
Az ellenséges köröket kezelő függvény.
|
||||||
|
|
||||||
|
### Típus
|
||||||
|
|
||||||
|
```python
|
||||||
|
callable
|
||||||
|
```
|
||||||
|
|
||||||
|
### Példa
|
||||||
|
|
||||||
|
```python
|
||||||
|
"enemy_turn_func": enemy_turn_test
|
||||||
|
```
|
||||||
|
|
||||||
|
A függvényt a rendszer az ellenfelek körének feldolgozására használja.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## mus_id
|
||||||
|
|
||||||
|
A csata alatt lejátszandó zene azonosítója.
|
||||||
|
|
||||||
|
### Típus
|
||||||
|
|
||||||
|
```python
|
||||||
|
str
|
||||||
|
```
|
||||||
|
|
||||||
|
### Példa
|
||||||
|
|
||||||
|
```python
|
||||||
|
"mus_id": "mus_fnafsux"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## init_ai_data
|
||||||
|
|
||||||
|
Az MI számára átadott inicializáló adatok.
|
||||||
|
|
||||||
|
### Típus
|
||||||
|
|
||||||
|
```python
|
||||||
|
dict
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### moves
|
||||||
|
|
||||||
|
Az MI által használható képességek gyűjteménye.
|
||||||
|
|
||||||
|
#### Típus
|
||||||
|
|
||||||
|
```python
|
||||||
|
dict[str, tuple]
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Formátum
|
||||||
|
|
||||||
|
```python
|
||||||
|
"azonosító": (
|
||||||
|
név,
|
||||||
|
függvény,
|
||||||
|
célpont_szükséges
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Paraméterek
|
||||||
|
|
||||||
|
- `név` (`str`)
|
||||||
|
A képesség megjelenő neve.
|
||||||
|
|
||||||
|
- `függvény` (`callable`)
|
||||||
|
A végrehajtandó függvény.
|
||||||
|
|
||||||
|
- `célpont_szükséges`
|
||||||
|
- `True` → ellenséges célpont szükséges
|
||||||
|
- `False` → szövetséges célpont szükséges
|
||||||
|
- `None` → nincs célpont
|
||||||
|
|
||||||
|
#### Példa
|
||||||
|
|
||||||
|
```python
|
||||||
|
"attack": (
|
||||||
|
"Physical attack",
|
||||||
|
move_attack,
|
||||||
|
True
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Teljes példa
|
||||||
|
|
||||||
|
```python
|
||||||
|
"moves": {
|
||||||
|
"attack": ("Physical attack", move_attack, True),
|
||||||
|
"fire": ("Fira", move_fire, True),
|
||||||
|
"ice": ("Blizzara", move_ice, True),
|
||||||
|
"cure": ("Cure", move_cure, False),
|
||||||
|
"defend": ("Defend", move_defend, None)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## menus
|
||||||
|
|
||||||
|
Karakterenként meghatározza a harci főmenüt.
|
||||||
|
|
||||||
|
### Típus
|
||||||
|
|
||||||
|
```python
|
||||||
|
list[list]
|
||||||
|
```
|
||||||
|
|
||||||
|
A külső lista a karaktereket reprezentálja.
|
||||||
|
|
||||||
|
A sorrendnek meg kell egyeznie a `party_members` listával.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Egy karakter menüje
|
||||||
|
|
||||||
|
```python
|
||||||
|
[
|
||||||
|
["Attack", "phys_att"],
|
||||||
|
["Magic", "magic"],
|
||||||
|
["Item", "items"]
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Menüpont formátuma
|
||||||
|
|
||||||
|
```python
|
||||||
|
[
|
||||||
|
megjelenő_szöveg,
|
||||||
|
parancs
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Paraméterek
|
||||||
|
|
||||||
|
- `megjelenő_szöveg` (`str`)
|
||||||
|
- `parancs` (`str`)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Speciális parancsok
|
||||||
|
|
||||||
|
#### Fizikai támadás
|
||||||
|
|
||||||
|
```python
|
||||||
|
["Attack", "phys_att"]
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Mágia
|
||||||
|
|
||||||
|
```python
|
||||||
|
["Magic", "magic"]
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Tárgyak
|
||||||
|
|
||||||
|
```python
|
||||||
|
["Item", "items"]
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Nem választható hely
|
||||||
|
|
||||||
|
```python
|
||||||
|
["", "unselectable"]
|
||||||
|
```
|
||||||
|
|
||||||
|
Ez egy üres, nem kiválasztható menüpont.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## spells
|
||||||
|
|
||||||
|
Karakterenként meghatározza az elérhető varázslatokat.
|
||||||
|
|
||||||
|
### Típus
|
||||||
|
|
||||||
|
```python
|
||||||
|
list[list]
|
||||||
|
```
|
||||||
|
|
||||||
|
A lista sorrendje megegyezik a `party_members` sorrendjével.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Varázslat formátuma
|
||||||
|
|
||||||
|
```python
|
||||||
|
[
|
||||||
|
név,
|
||||||
|
mp_költség,
|
||||||
|
(
|
||||||
|
név,
|
||||||
|
függvény,
|
||||||
|
célpont_szükséges
|
||||||
|
)
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Paraméterek
|
||||||
|
|
||||||
|
- `név` (`str`)
|
||||||
|
A varázslat megjelenő neve.
|
||||||
|
|
||||||
|
- `mp_költség` (`int`)
|
||||||
|
A varázslat MP költsége.
|
||||||
|
|
||||||
|
- `akció` (`tuple`)
|
||||||
|
A végrehajtandó harci művelet.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Példa
|
||||||
|
|
||||||
|
```python
|
||||||
|
[
|
||||||
|
"Fira",
|
||||||
|
15,
|
||||||
|
("Fira", move_fire, True)
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Teljes példa
|
||||||
|
|
||||||
|
```python
|
||||||
|
"spells": [
|
||||||
|
[],
|
||||||
|
[
|
||||||
|
["Fira", 0, ("Fira", move_fire, True)],
|
||||||
|
["Blizzara", 0, ("Blizzara", move_ice, True)]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
["Fira", 0, ("Fira", move_fire, True)],
|
||||||
|
["Blizzara", 0, ("Blizzara", move_ice, True)]
|
||||||
|
],
|
||||||
|
[]
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
Ebben az esetben:
|
||||||
|
|
||||||
|
- Locke nem rendelkezik varázslatokkal,
|
||||||
|
- Terra használhatja a **Fira** és **Blizzara** varázslatokat,
|
||||||
|
- Celes használhatja a **Fira** és **Blizzara** varázslatokat,
|
||||||
|
- Cyan nem rendelkezik varázslatokkal.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## inventory
|
||||||
|
|
||||||
|
A csatában használható tárgyak listája.
|
||||||
|
|
||||||
|
### Típus
|
||||||
|
|
||||||
|
```python
|
||||||
|
list
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Tárgy formátuma
|
||||||
|
|
||||||
|
```python
|
||||||
|
[
|
||||||
|
név,
|
||||||
|
mennyiség,
|
||||||
|
(
|
||||||
|
név,
|
||||||
|
függvény,
|
||||||
|
célpont_szükséges
|
||||||
|
)
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Paraméterek
|
||||||
|
|
||||||
|
- `név` (`str`)
|
||||||
|
A tárgy megjelenő neve.
|
||||||
|
|
||||||
|
- `mennyiség` (`int`)
|
||||||
|
A rendelkezésre álló darabszám.
|
||||||
|
|
||||||
|
- `akció` (`tuple`)
|
||||||
|
A tárgy használatakor meghívandó művelet.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Példa
|
||||||
|
|
||||||
|
```python
|
||||||
|
[
|
||||||
|
"Phoenix Down",
|
||||||
|
67,
|
||||||
|
(
|
||||||
|
"Phoenix Down",
|
||||||
|
move_phoenix,
|
||||||
|
False
|
||||||
|
)
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Teljes példa
|
||||||
|
|
||||||
|
```python
|
||||||
|
"inventory": [
|
||||||
|
[
|
||||||
|
"Phoenix Down",
|
||||||
|
67,
|
||||||
|
(
|
||||||
|
"Phoenix Down",
|
||||||
|
move_phoenix,
|
||||||
|
False
|
||||||
|
)
|
||||||
|
]
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Indexkapcsolatok
|
||||||
|
|
||||||
|
A következő listák indexei összetartoznak:
|
||||||
|
|
||||||
|
```python
|
||||||
|
party_members[i]
|
||||||
|
menus[i]
|
||||||
|
spells[i]
|
||||||
|
```
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
|
||||||
|
```python
|
||||||
|
party_members[1] # Terra
|
||||||
|
menus[1] # Terra menüje
|
||||||
|
spells[1] # Terra varázslatai
|
||||||
|
```
|
||||||
|
|
||||||
|
Ez biztosítja, hogy minden karakter saját menüvel és saját varázslistával rendelkezzen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Összefoglaló
|
||||||
|
|
||||||
|
```python
|
||||||
|
{
|
||||||
|
"enemies": list[Combatant],
|
||||||
|
"party_members": list[Combatant],
|
||||||
|
"enemy_turn_func": callable,
|
||||||
|
"mus_id": str,
|
||||||
|
"init_ai_data": {
|
||||||
|
"moves": dict[str, tuple]
|
||||||
|
},
|
||||||
|
"menus": list[list],
|
||||||
|
"spells": list[list],
|
||||||
|
"inventory": list
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Egy csata teljes egészében leírható egyetlen szótárral, amely tartalmazza az összes résztvevőt, a harci lehetőségeket, az MI által használható képességeket, valamint a játékos számára elérhető menüket, varázslatokat és tárgyakat.
|
||||||
Reference in New Issue
Block a user