Archief - Spelbord definiëren in xml?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Curahee Q

Legacy Member
Beste 9livers

Ik heb spelborden in mijn database zitten en trek deze uit de databank met behulp van Java. Nu wil ik de front-end bouwen met html en javascript, meer bepaald html5 met zijn canvas element. Aangezien je hier op kan tekenen lijkt het mij ideaal aangezien ik mijn spelbord in java ook teken met behulp van paint.

Ik roep mijn jsp-file aan met behulp van jQuery (gebruik dus ajax) en mijn jsp bestand zou een xml bestand moeten teruggeven. Nu was mijn vraag, hoe kan ik best dit spelbord definiëren in xml?

Het spelbord bestaat uit vakken en kan een variabel aantal vakken in x-richting en y-richting hebben. Op een vak staat een speler, een obstakel, een vijand of niets. Het begin zou als volgt moeten zijn omdat ik de breedte en hoogte op een manier toch moet kennen in mijn javascript.

Code:
<?xml version="1.0" encoding="utf-8"?>
<spelbord width="10" height="15">

</spelbord>

Hoe zouden jullie dit aanpakken?

Alvast bedankt

Cycloon

Legacy Member
Code:
<spelbord>
     <veld posx="1" posy="1">
           <object op het veld>
     </veld>
</spelbord>

Veel meer fancy dingen moet je daar niet met doen. Je zou eventueel de x en y coördinaten kunnen weglaten en gewoon je velden opsommen van links naar rechts en van boven naar onder.

Curahee Q

Legacy Member
Oké bedankt. Ik dacht dat er misschien andere/betere manieren zouden zijn.

Moto

Legacy Member
Ik dacht dat er misschien andere/betere manieren zouden zijn.
Andere manier indien men maar weining variatie per tile heeft

Code:
rows 20 
cols 20 
players 2
m ....................
m ....................
m ....................
m ....................
m ....................
m ....................
m .....*..............
m ......%..b..........
m ....................
m ....................
m ........aa..........
m ....................
m ....................
m ....................
m ....................
m ....................
m ....................
m ....................
m ....................
m ....................

Gebruikt in de nieuwe Google AI Ants Challenge

https://github.com/aichallenge/aichallenge/wiki/Ants-Game-Specification

Curahee Q

Legacy Member
Dat zou ik ook kunnen doen maar die xml kan ik gemakkelijk overlopen met javascript en die map op die manier in mindere mate denk ik...

Cycloon

Legacy Member
Die xml heeft het voordeel dat het makkelijk uitbreidbaar is in de toekomst. Met die tekens heb je nogal een beperkt aantal opties om later met uit te breiden.

Moto

Legacy Member
"indien men maar weining variatie per tile heeft"
"Met die tekens heb je nogal een beperkt aantal opties om later met uit te breiden"
Wow bijna hetzelfde...

Cycloon

Legacy Member
Moto zei:
"indien men maar weining variatie per tile heeft"
"Met die tekens heb je nogal een beperkt aantal opties om later met uit te breiden"
Wow bijna hetzelfde...

Dan zijn we het eens, zoveel te beter :)

Moto

Legacy Member
Dan zijn we het eens, zoveel te beter
Bwa niet echt ze, ik zei "bijna" :p
Uw stelling is TE algemeen,
Stel nu dat ge van de "vierkante map" afstapt of elke tile als iets anders wilt definieren (gras, berg, water) + zwaar de dimensies uitbreidt, en stel dat hem elke beurt de volledige map van de server naar de client doorstuurd.

Dan gaat ge constant bijzonder grote XMLs moeten doorsturen. wat dan weer nadelig is

Tis altijd iets met programmeren :(

Cycloon

Legacy Member
Je kan dan uiteraard met kleinere (sub)mappen gaan werken die je dynamisch inlaadt. Voor elk probleem is er wel een oplossing.

Parnakra

Legacy Member
Onafhankelijk van hoe je het voorstelt, gebruik for the love of god JSON i.p.v. XML

Curahee Q

Legacy Member
Ik heb het dan toch maar met JSON gedaan. Ik wou het eerst niet met JSON doen omdat ik dan nog een extra jar moest downloaden enzo maar eigenlijk was het redelijk snel klaar.

EDIT
Ik doe het dus nu op json manier en moet ik geen X en Y coördinaat meer bijhouden.

JSON-string
Code:
[
	[{"veld": "+"}, {"veld:" "+"}, {"veld:" "+"}],
	[{"veld": "@"}, {"veld:" " "}, {"veld:" "~"}],
	[{"veld": " "}, {"veld:" " "}, {"veld:" "~"}]
]
De hoogte van het veld is nu json.length en de breedte json[0].length. Werkt perfect.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan