Een GUI is puur voor jezelf / voor de fun / visuele weergave / handig voor debuggen. Qua contest heeft het er geen drol mee van doen; we verwachten alleen een output.txt

Dat doet CombineFigure. Voor een "O" zou je dus eerst 4 figures hebben:
code:
1
2
3
4
5
6
7
8
9
| f1: ¯
f2: |
f3: |
f4: _
combine >>
fc:
_
|_| |
En dat is wel zo handig voor een officiële contest validator

pedorus schreef op dinsdag 04 november 2008 @ 00:08:
Dat lijkt me een groot voordeel van deze methode. Het blijft werken, ook als de score niet klopt

Wellicht kun je ook gewoon geen rekening houden met ingewikkelde figuren, als extra optimalisatie. De score rekent de validator dan wel uit.

Zie mijn opmerking van zonet dus

Ik ben niet bezig met een contest entry maar met de validator die we later over jullie resultaten laten buigen

Of ik nog mee ga doen als deelnemer moet ik nog even bezien.
Overigens is een bijkomend voordeel dat ik nu de scanlines methode die relatief het meeste CPU tijd kost straks leuk kan optimaliseren zolang ik maar figures/lines blijf teruggeven; bij minder object oriented functies kwam je dan al snel in de knoei denk ik.
pedorus schreef op dinsdag 04 november 2008 @ 00:08:
Infinite loops heb je niet zoveel last van, zolang je maar de steen 'weghaalt' voor de call, zodat je er niet op terug kan komen. Ik zou enkel wel eerst de hele lijn detecteren, en dan pas de omzettingen en calls doen, zodat je wel steeds de hele regel hebt (je moet toch al testen of de lengte groter dan 2 is). En ja, dan lijkt me ook de optimalisatie van het werken
zonder dirty bit mogelijk.

Ik weet dat je 't tegen .oisyn hebt, maar inderdaad met mijn bak Figure objecten die uit de scanlines komt (en een figure bestaande uit een bak Line objecten) heb ik geen dirty bit nodig; ik scan eerst voor lines/figures, bereken de score, clear de figure uit de map, drop & refill en ga door met move n+1

pedorus schreef op dinsdag 04 november 2008 @ 00:08:
Ik vermoed dat er vast nog iets mogelijk is als je bijhoudt welke rijen en kolommen er gewijzigd zijn. En ik vermoed dat je je veld nu als een 'dubbele' array opslaat? Wellicht is een enkele iets sneller.

Ja vast maar 100K zetten in

sec. valideren vind ik voorlopig netjes

Ik heb een goeie profiler en er is nog zat te optimizen; of ik daar de puf voor heb voor 0.5 sec. winst... nah
[
Voor 117% gewijzigd door
RobIII op 04-11-2008 02:20
]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij