Jump to content

info Soutěž o nejlepšího pawn scriptera #2


vEnd

Recommended Posts

  • Hlavní moderátor

Soutěž o nejlepšího pawn scriptera #2
Ano ano, po dvou nezdařených pokusech se našel další člověk, co chce tuhle šílenost obnovit. Ale než soutěž odsoudíte jako další nesplnitelný projekt a mě pošlete do háje, zkuste si alespoň přečíst, co vám chci říct.

Předchozí pokusy nebyly dotaženy do konce či ztroskotaly na jiných věcech. Tato soutěž se liší v tom, že před začátkem bude řádně připravena. Právě kvůli předchozím zkušenostech nenecháme tentokrát nic náhodě. Jediné, co by se mohlo pokazit, je, že by mě přejel autobus, pak byste měli, jak se říká, po ptákách. :d

O čem soutěž bude
Stálice fóra si třeba pamatují zadání minulých soutěží. Byly to různé věci – kalkulačky, XML, house systémy. Ve všech případech šlo, víceméně, o prověření vašich znalostí pawn, ale často to zasahovalo i do SA:MP. Teď tomu tak nebude. Bez SA:MP funkcí se hravě obejdete, vystačíte si jen s konzolí, soubory a vašimi znalostmi jazyka. (Práci tvořte ve verzi pawn, kterou SA:MP používá!)

Budou se prověřovat různé oblasti – znalost základních, ale i pokročilých konstrukcí pawn, logické uvažování, algoritmické myšlení, schopnost optimalizovat kód, schopnost psát čitelný kód apod.

Organizace soutěže
Soutěž bude rozdělena na dvě kola, a to na lehké a náročné.

1. kolo (lehké)
Náročnost tohoto kola se bude některým zdát triviální, ale chceme dát šanci i méně zkušeným pawnerům. Prověřovat se budou elementární znalosti pawn (proměnné, podmínky, cykly, funkce apod.) a dovednost vymyslet a implementovat nenáročné algoritmy. V tomto kole nebude hodnocena optimalizace.

První kolo bude probíhat 3 týdny ode dne zveřejnění zadání (ve zvláštním tématu).

2. kolo (náročné)
Druhé kolo už prověří vaše schopnosti více, osobně doufám, že to pro vás bude alespoň trochu výzva. :) V tomto kole se hodnotí i optimalizace kódu.

Toto kolo potrvá 3 týdny ode dne zveřejnění zadání (ve zvláštním tématu).

V případě remízy...
...se pravděpodobně uchýlíme k dalšímu kolu, ale budeme se snažit to zhodnotit tak, aby k tomu nedošlo.
 
Jak se připojit do soutěže
K účasti není nutná registrace. Stačí mi během tří týdnů od spuštění daného kola zaslat soubor v tomto tvaru: vas_nick_na_foru.pwn. Zasílat mi jej můžete soukromou zprávou.
 
Pozor, pokud se nezúčastníte prvního kola, nemůžete se zúčastnit ani druhého (nemělo by to cenu)!

Pravidla
Určitě se najdou experti, co si budou chtít ulehčit práci, takže stanovíme pár pravidel, která pokud nedodržíte, budete ze soutěže vyloučeni.
 
1. Je zakázáno kopírovat. Pokud zjistíme, že jste řešení nebo jeho část někde "obšlehli", budete ze soutěže vyloučeni, a to i v případných následujících soutěžích.
 
2. Je zakázáno žádat o pomoc s řešením zadání. Cílem je prokázat, že jste dostatečně schopní, abyste měli titul nejlepšího scriptera, ne ukázat nám, jak hezky umíte požádat.
 
3. Každé kolo může mít svá doplňující pravidla (např. zákaz použití té či oné funkce), za jejich porušení může být srážka bodů či vyloučení (bude blíže upřesněno v daném kole).

Hodnocení
No a teď jak to bude s hodnocením. Rozhodli jsme se, že nebudeme zavádět běžnou bodovou stupnici, jak to bylo v předchozí soutěži (v té před několika lety). Hodnocení scriptu bude uvedeno slovně formou poznámek k jednotlivým faktorům hodnocení (čtěte dál).
 
Níže uvedené faktory budou ovlivňovat hodnocení (seřazeno hierarchicky, tedy od nejdůležitějšího po nejméně důležité).

1. Přeložitelnost a chybovost
Tím jsou myšleny chyby, pády a varování kompilátoru a chyby při běhu. Pokud script ani nezkompilujeme, dojde k velké srážce bodů. Za varování a chyby při běhu budou také nemalé bodové srážky, jsou to věci, na které jste upozorněni a které lze opravit.

2. Správná implementace (dodržení zadání) a funkčnost
Pokud přesně dodržíte pokyny v zadání, nemusíte se bát úbytku bodů za špatnou implementaci. Věci, co uděláte navíc, nebudou za bonusové body, pokud neuvedeme jinak. Funkčností se myslí to, že script bude dělat to, co má (např. funkce pro sečtení bude vracet součet a ne třetí odmocninu z násobku).

3. Ošetření neočekávaných vstupů a hodnot
Nastanou případy, kdy budou porotci (ze zásady zákeřní :oboci:) zadávat při testování takové hodnoty, které by mohly ovlivnit funkčnost dané části kódu. Takové případy musíte ošetřit. Samozřejmě nelze myslet na všechno, takže něco vám uvedeme do zadání, ale na něco budete muset myslet sami. Zapojte analytické a logické myšlení a sledujte/přemýšlejte, co by se mohlo stát kdyby.

Například budu mít funkci pro přepis jednoho znaku v řetězci na daném indexu. Index bude parametrem funkce. Co když zadám index větší, než je délka řetězce? Funkce se vám rozsype jako domeček z karet. Tohle je ukázka případu, který musíte ošetřit.

4. Optimalizace kódu (pouze ve druhém kole)
Tohle asi bude bod, který o soutěži rozhodne. Ve druhém kole se bude porota zaměřovat i na optimalizaci vašeho kódu. Zde mě jeden z porotců upozornil, abych uvedl toto – na prvním místě je CPU, až pak RAM. Takže až budete své kódy optimalizovat, myslete nejdříve na zátěž procesoru a až poté na paměť (to není pokyn k tomu dělat 256bajtové řetězce na 20bajtový nick).

5. Přehlednost kódu
Chápu, že každý má svůj styl zápisu kódu, to ale neznamená, že z toho musíte udělat nečitelnou haldu znaků a čísel. Tabujte, dělejte si poznámky, snažte se o to, aby kód měl strukturu. Za přehlednost se nebude strhávat moc bodů, ale jestli to chcete vyhrát, tak každý bod se hodí.

Závěr
A to by bylo prozatím vše. Jakmile bude připraveno první zadání, dám vám den dopředu vědět. Zatím mi můžete sdělit své názory, popř. mi položit otázky, a to níže v příspěvku.

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • Hlavní moderátor

Keby si mi ponúkol powerbanku tak by som do toho šiel  :oboci:

Nebudu ti nabízet něco, co bych sám potřeboval. :d Ale něco jsi mi připomněl – co se týče cen, tak ty uvedeme až ke konci, každopádně bude to ocenění a barva nicku, to prozatím. Uvidíme, co ještě seženeme. :d Rozjedeme sbírku a třeba se složíme i na tu powerbanku, aby se UareBugged mohl zúčastnit. :kappa:

Začátek prvního kola

Tímto oznamuji, že během dneška, nebo během zítřka dojde ke zveřejnění prvního zadání.

Link to comment
Share on other sites

  • 4 weeks later...
  • Globální moderátor

Vyhlašování soutěže:

 

Po podrobném testování a poradě s porotou jsme došli k následujícímu závěru:

 

Nejdřív ale pár slov k soutěžícím. Došlo nám, že jsme vybrali ne zrovna nejvhodnější dobu pro soutěžení – mnozí z Vás jste v průběhu soutěže měli ještě zkouškové, a proto nebyl čas ani chuť. Za to se velmi omlouváme a zároveň chceme poděkovat všem, kteří se zúčastnili. Bohužel Vás není natolik, abychom selektivně vybírali soutěžící do druhého kola, proto jsme se rozhodli změnit první kolo na bodové hodnocení a nechat Vás postoupit všechny do druhého kola. Ačkoliv co můžeme udělat, je oznámit Lukasze za výherce prvního kola jakožto soutěžícího s největším bodovým ziskem. 

 

Každopádně vEnd Vám ještě do soukromé zprávy sdělí vaše chyby v kódu.

Link to comment
Share on other sites

  • 1 month later...
  • Hlavní moderátor

Vyhlášení celkových výsledků

Nastal čas na vyhlášení vítěze této soutěže o nejlepšího pawnera na pawno.cz. Nejprve malá rekapitulace: Výhercem prvního kola se stal Lukasz. Pořadí ostatních nebylo a nebude publikováno.

 

Výhercem druhého kola kola soutěže se stal IllidanS4! Jeho script získal nejvíce relativních bodů (relativní bodová škála určená pro nás hodnotící).

 

Po součtu relativních bodů z obou kol nám jako výherce vyšel IllidanS4!

 

Za celou porotu a Pawno.cz tým ti gratuluji, soukromě ti ještě sdělím nějaké drobnosti ke tvému scriptu a samozřejmě se dohoneme na tom, jak bude doručena slíbená powerbanka a jak budou nastaveny výhody zde na fóru.

 

Porota sestávala z následujících lidí: HighPrint, xhunterx, vEnd. Za sebe bych chtěl hunterovi i HighPrintovi poděkovat, jejich spolupráci se hodně vážím.

 

Na závěr bych ještě mohl říct, kolik lidí se to vlastně zúčastnilo. Ačkoliv jsem "verboval" mnoho lidí, nakonec se zúčastnili pouze 4. Je to malé číslo, ale i tak to stálo za to, alespoň si dotyční vyzkoušeli, jak na tom jsou.

 

Too long, didn't read

Výhercem soutěže se stává IllidanS4, gratulujeme!

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...