Ikhowudi yomthombo yeengxelo eziphumeleleyo kwi-IOCCC yamashumi amabini anesithoba (International Obfuscated C Code Contest) ipapashiwe. Abathathi-nxaxheba bacelwe ukuba benze ikhowudi ye-C engaqondakaliyo nekunzima ukuyihlalutya. Iingxelo, kwelinye icala, kufuneka zithintele uhlalutyo kunye nokuqonda ingxaki esonjululwayo, kodwa, kwelinye icala, ikhowudi kufuneka ibe nomdla kwaye iphawuleke (iingxelo zinokuba nefomathi engaqhelekanga okanye ziqaqambise iinkalo ezingalindelekanga zolwimi lwe-C). Ubungakanani befayile yekhowudi yenkqubo akufuneki idlule ii-byte ezingama-4993, kwaye ikhowudi ecocekileyo akufuneki idlule ii-byte ezingama-2503 emva kokucutshungulwa ngesixhobo se-iocccsize.
Phakathi kwabaphumeleleyo:
- I-emulator yekhompyutha ye-URISC, iseti yemiyalelo yayo inqunyelwe kwi-SUBLEQ enye (SUBBtract kunye neBranch ukuba ingaphantsi okanye i-Equal to zero). I-emulator inobukhulu obuyi-366 bytes kuphela, nangona ukongeza kwi-CPU, ilingisa i-framebuffer enesisombululo se-800x512, isebenzisa ilayibrari ye-SDL3 ukuvelisa imifanekiso, kwaye inokulayisha umfanekiso ukusuka Linux kwaye uqhube umdlalo iDoom kuwo.
- Umvelisi womfanekiso wemingxuma emnyama. Olu setyenziso luquka itoliki elula yecandelo elincinci lolwimi lwaseFortran 66, inkqubo echazwe ngohlobo lwamakhadi atyunyuziweyo, atyunyuzwe kusetyenziswa izithuba kunye neethebhu kwikhowudi yomthombo. Inkqubo yaseFortran etyunyuziweyo iphinda ikhowudi yokuqala yokulinganisa imingxuma emnyama epapashwe nguJean-Pierre Luminet ngo-1978. Umfanekiso wenziwa njengelifu lenqaku kwaye ugcinwe kwifomathi yePGM. Ukongeza kwi-simulation yemingxuma emnyama, kukho iinguqulelo ze-"punched card" ezityunyuziweyo ezinikezelwayo zokubala iseti yeMandelbrot, iinombolo eziphambili zokubala, kunye nokulandelela imisebe.
- Uhlobo lwesixhobo sepatch esivelisa isixhobo se-diff ngokusebenzisa uthotho lotshintsho lwekhowudi yaso. Kwinyathelo lokuqala, isixhobo sepatch esihlanganisiweyo sidluliselwa kwikhowudi yaso yomthombo, esetyenziselwa ukuvelisa ifayile ye-diff. Emva kokusebenzisa le diff kwikhowudi yomthombo, inkqubo ephumayo ijikeleza kwikhowudi yayo ukuvelisa iseti yemisebenzi elungisiweyo kwifomathi ethi "git am". Xa ezi mvume zidityaniswe nomyalelo othi "git log --pretty=format:%s > final.c," ikhowudi ephumayo isebenzisa isixhobo se-diff.
- Umdlalo ofana ne-roguelike odlalwa kwi-terminal yombhalo, abadlali bahamba kwi-maze eyenziwe ngokuzenzekelayo, baqokelela izinto zakudala, kwaye baphephe izilo. Ikhowudi ifomathiwe njengomfanekiso womntu ohlala ejele kwaye ifihlwe (iintambo ziyabethelwa, ii-loops zisetyenziswa kusetyenziswa i-goto, kwaye ii-array ziphathwa kusetyenziswa i-syntax ethi "index[array]").

- Ijenereyitha ye-ASCII yoopopayi ephinda ilandelelwano lwentshayelelo lweDoctor Who, ilinganisa isiphumo sevidiyo esithi "HowlRound" (umjelo wemifanekiso enciphayo) esetyenziswe kulandelelwano lwentshayelelo lwe-1963.
- I-emulator yeGameBoy eyenzelwe iTetris kodwa ikwaziyo ukuqhuba eminye imidlalo (iifayile zeROM zemidlalo elishumi elinesibini zivavanyiwe). Isiphumo senziwa njengemizobo engeyiyo kusetyenziswa oonobumba be-Unicode.
- Isilingisi sesandi sokusefa esinomculo wokucamngca ozivelela ngokuzenzekelayo ngasemva. Isiphumo yifayile ye-WAV yemizuzu emi-5.
- Ukuphunyezwa komatshini we-slot we-Quine Pong oziguqulayo, oquka imidlalo emibini: i-ping-pong kunye ne-jumper ye-dinosaur obstacle course (njengeqanda le-Easter le-Google Chrome). Le nkqubo iphawuleka ngokuboniswa kwayo kwesakhelo, okufezekiswa ngokuvuselelwa kwekhowudi ejikelezayo (ukuqaliswa kwenkqubo kuphumela kwimveliso yekhowudi yomthombo kwisakhelo sokuqala; ukuhlanganiswa kwale khowudi kuvelisa ikhowudi yesakhelo esilandelayo, njalo njalo). Umdlalo wegeyimu uphunyezwa ngeskripthi segobolondo esenza ukuhlanganiswa kwekhowudi ejikelezayo.
- Umqokeleli kunye nomvelisi wekhowudi wolwimi lwaseZoltraak. Olu lwimi lunegama elinye kuphela, "zoltraak," elidityaniswe kwiindlela ezahlukeneyo ezinezithuba kunye nemigca engenanto. Nayiphi na ifayile yombhalo ifakwa, eguqulwa ibe yinkqubo ye-C equlathe i-header kunye nolandelelwano lweZoltraak. Ukuqokelela kunye nokusebenzisa inkqubo ye-C evelisiweyo kukhupha umxholo wefayile yombhalo wokuqala.

umthombo: opennet.ru

