Page 1 of 2

Pikapelikilpailu 25

Posted: Thu Jan 13, 2011 4:48 pm
by Koodiapina
Pikapelikilpailu 25

Aihe: Rakastunut androidi nimeltään Della

Säännöt:
  • Kilpailuaika on perjantaina 14.1 klo 18:00-20:10 (Suomen aikaa). Kilpailutyön tulee olla tässä viestiketjussa kilpailuajan sisällä.
  • Pelipaketissa tulee olla kilpailutyön lähdekoodi.
  • Toteutuskielenä CoolBasic.
  • Ennen kilpailua luotua mediaa tai koodia ei saa käyttää.
  • Kilpailuun osallistuvan pelin tulee liittyä tunnistettavasti kilpailun aiheeseen. Aihe julkaistaan tässä viestiketjussa kilpailuajan alkaessa (14.1 18:00)
Tässä avauksessa voi perinteiden mukaisesti ilmoittautua mukaan. Ilmoittautuminen ei ole pakollista, vaikka kilpailuun osallistuisikin.

Mukaan ilmoittautuneet
  • axu
  • Wingman
  • MikkoK
  • Taatero
  • buke44
Taustatietoa: Della on IRC-bottini. Kilpailuun osallistuvassa pelissä voi olla toki vaikka robotti, jos siltä tuntuu. Sen ei tarvitse liittyä tähän oikeaan bottiin mitenkään.

Code: Select all

18:02 <@Grandi> Della: Tykkäätkö pikakisan aiheesta?
18:02 <@Della> no en tykkää
18:02 <+Chaosworm> ja aika pahastikin ilmeisesti vielä
18:02 <@Della> en olisi niin varma
18:03 <+Chaosworm> kerrankin kun muistin pikapelikisan niin joku androidi -.-
18:03 <@Grandi> Mikä vika androideissa? ;___;
18:03 <@Della> jaa-a, vaikea sanoa
18:03 <+Chaosworm> ja mikä pahempaa, niin vielä rakastunut
18:04 <@Grandi> Nokun Della-mussuka on rakastunut. Etkö olekin?
18:04 <@Della> enpä oikeastaan

Re: Pikapelikilpailu 25

Posted: Thu Jan 13, 2011 4:54 pm
by MaGetzUb
Jes, miksi ei aihetta julkaista tämän yhteydessä? Saisi jo vain suunnitella etukäteen ettei ihan tyhjästä tarvitsisi nyhjästä, semmoisia kisoja voisi järjestää erikseen. :P Tai no miten tuon "pikapelin" mieltää.

Re: Pikapelikilpailu 25

Posted: Thu Jan 13, 2011 4:55 pm
by Koodiapina
MaGetzUb wrote:Jes, miksi ei aihetta julkaista tämän yhteydessä?
Koska silloin kilpailuaika menettäisi merkityksensä.

Re: Pikapelikilpailu 25

Posted: Thu Jan 13, 2011 5:30 pm
by axu
Katsotaan, jos huomenna pääsis ajoissa koneelle :D Eli minut voi lisätä listaan.

Re: Pikapelikilpailu 25

Posted: Thu Jan 13, 2011 6:30 pm
by MaGetzUb
Grandi wrote:
MaGetzUb wrote:Jes, miksi ei aihetta julkaista tämän yhteydessä?
Koska silloin kilpailuaika menettäisi merkityksensä.
Eihän se siitä mitenkään kärsisi koska koodausaika on tuo kisa-aika.

Re: Pikapelikilpailu 25

Posted: Thu Jan 13, 2011 6:40 pm
by Koodiapina
MaGetzUb wrote:Eihän se siitä mitenkään kärsisi koska koodausaika on tuo kisa-aika.
Ja mikä estäisi koodaamisen aloittamisen ennen kilpailun alkua?

Re: Pikapelikilpailu 25

Posted: Fri Jan 14, 2011 11:34 am
by Wingman
minä tulen myös mukaan, kun pääsen tänään koneelle..

Re: Pikapelikilpailu 25

Posted: Fri Jan 14, 2011 2:42 pm
by MikkoK
Katsotaan jos aikaa on, lisää minut listaan siis.

Re: Pikapelikilpailu 25

Posted: Fri Jan 14, 2011 2:48 pm
by Taatero
MikkoK wrote:Katsotaan jos aikaa on, lisää minut listaan siis.
sama täällä

Re: Pikapelikilpailu 25

Posted: Fri Jan 14, 2011 3:22 pm
by phons
Olisin osallistunut, mutta menenkin kaverin pokeri-iltaan.. :/ Toivottavasti ei olisi mikä minulle mieluinen aihe :P

Re: Pikapelikilpailu 25

Posted: Fri Jan 14, 2011 4:44 pm
by buke44
Osallistun.

Re: Pikapelikilpailu 25

Posted: Fri Jan 14, 2011 7:01 pm
by axu
Onpa taas ihme aihe :D Katsotaan jos jotain väkertäis!

Re: Pikapelikilpailu 25

Posted: Fri Jan 14, 2011 9:00 pm
by Awaclus
Pelini nimi on Rakastunut androidi nimeltä Della.

Code: Select all

Repeat
Print "Olet androidi nimeltä Della. Paina mitä tahansa näppäintä rakastuaksesi."
WaitKey
Print "Olet rakastunut androidi nimeltä Della. Paina mitä tahansa näppäintä epärakastuaksesi."
WaitKey
Forever

Re: Pikapelikilpailu 25

Posted: Fri Jan 14, 2011 9:00 pm
by axu
Erittäin vähän testattu tekstipeli:

Code: Select all

SCREEN 600, 300

Regeneration:
    Write "Della is regenerating"
    t = Timer()
    ClearKeys
    Repeat
        If lt <> Timer() And (Timer() - t) Mod 1000 = 0 Then Write "." : lt = Timer()
        If GetKey() Then RegenFailed = True : Goto WakeUp
    Until t + 5000 < Timer()
    RegenFailed = False
    Goto Anyone

Anyone:
    Print2("Is anyone out there?")
    Print "  1. It's me!"
    Print "  2. Youre all alone."
    
    Select GetAnswer(2)
        Case 1 : Print2("Oh, hello.") : Goto Waited
        Case 2 : Print2("I see...", 3000) : Goto Who
    End Select

Waited:
    Print2("I have waited for you so long.", 3000, 0)
    Print2(" Do you still love me?")
    Print "  1. I love you."
    Print "  2. No, not anymore."
    Select GetAnswer(3)
        Case 1 : Goto Ending
        Case 2 : Respect - 1 : Goto Ending
    End Select
    
Who:
    Print "ERROR 2043: Paradox"
    Wait 1000
    Print2("There should be someone there, I heard your answer.")
    Print "  1. Ok, I'm here."
    Print "  2. Your audio processor is malfunctioning."
    Select GetAnswer(2)
        Case 1 : Goto Waited
        Case 2 : Goto SystemCheck
    End Select

SystemCheck:
    Print2("Starting system check......", 3000)
    If RegenFailed Then
        Print2("Oh no, it could be true.")
        Print2("My regeneration was interrupted, so there could be random noises in my head.", 5000)
        Print2("Are you my conscience?")
        Print "  1. Yes"
        Print "  2. Nah, I'm just random noise."
        Select GetAnswer(2)
            Case 1 : Respect + 1 : Goto Ending
            Case 2 : Print2("I need to regenerate.") : Goto Regeneration
        End Select
    Else
        Print2("Every system OK!", 3000)
        Print2("That means you are liar!")
        Print "  1. Hey, it was just a joke!"
        Print "  2. No, really, I'm nobody!"
        Select GetAnswer(2)
            Case 1 : Gosub NotUnderstand : Goto Waited
        End Select
        Print2("How is that possible?", 2000)
        Print2("Are you machine as well?")
        Print "  1. Yes"
        Print "  2. No"
        Select GetAnswer(2)
            Case 1 : Respect + 1 : Goto NiceToMeet
            Case 2 : Print2("I don't understand what you mean. I re-regenerate if that helps.") : Goto Regeneration
        End Select
    EndIf

NiceToMeet:
    Print2("Nice to meet you.", 500, 0)
    Print2("My name is Della")
    Print2("Do you like me?")
    Print "  1. Yes"
    Print "  2. No"
    Select GetAnswer(2)
        Case 1 : Respect + 1 : Goto Ending
        Case 2 : Respect - 1 : Goto Ending
    End Select

NotUnderstand:
    Print2("I really do not understand you humans")
    Respect - 1
Return

WakeUp:
    Print2("Huh?")
    Print2("You woke me up.")
    Print2("Why did you do that?")
    Print "  1. I couldn't wait to see you again."
    Print "  2. 'cause I'm nasty."
    Print "  3. (remain silent)"
    Select GetAnswer(3)
        Case 1 : Respect + 1 : Goto Waited
        Case 2 : Gosub NotUnderstand
        Case 3 : Goto Anyone
    End Select
    Print2("Can I continue regeneration?")
    Print "  1. Yes"
    Print "  2. No"
    Select GetAnswer(2)
        Case 1 : Goto Regeneration
        Case 2 : Respect - 1 : Goto Ending
    End Select

Ending:
    If Respect < 0 Then Print2("I hate you.")
    If Respect = 0 Then Print2("I like you.")
    If Respect > 0 Then Print2("I love you.")
    If RegenFailed Then
        Wait 1000
        Print "ERROR 0: Fatal error occurred. Memory circuits are not regenerated."
        Wait 500
        For i = 1 To 10
            For i2 = 1 To 70
                Write Chr(Rand(255))
                Wait 10
            Next i2
            Print ""
        Next i
        Wait 2000
    EndIf
    Print ""
    Print ""
    Print "Press any key to quit"
    WaitKey
    End

Function Print2(Message$ = "", WaitTime = 1000, Row = 1)
    For i = 1 To Len(Message)
        Write Mid(Message, i, 1)
        Wait 30
    Next i
    If Row Then Print ""
    Wait WaitTime
End Function

Function GetAnswer(Choices)
    k = 1
    Repeat
        k = WaitKey() - 1
    Until k <= Choices
    Return k
End Function

Re: Pikapelikilpailu 25

Posted: Fri Jan 14, 2011 9:03 pm
by buke44
tässä

Re: Pikapelikilpailu 25

Posted: Fri Jan 14, 2011 9:11 pm
by Koodiapina
Kilpailuaika on päättynyt. Teen äänestyksen.

Re: Pikapelikilpailu 25

Posted: Sat Jan 15, 2011 12:10 am
by MaGetzUb
Eikös pikapelikisassa pitäisi tehdä pelejä eikä botteja? :roll:

Re: Pikapelikilpailu 25

Posted: Sat Jan 15, 2011 12:28 am
by buke44
MaGetzUb wrote:Eikös pikapelikisassa pitäisi tehdä pelejä eikä botteja? :roll:
Tämän takia minun pitäisi voittaa muiden hylkäämisen takia. Ja androidi tarkoittaa ihmisen kaltaista robottia. Ei bottia.

Re: Pikapelikilpailu 25

Posted: Sat Jan 15, 2011 1:31 am
by koodaaja
Grandi kertoo jo johdannossa saaneensa innoituksen aiheeseen IRC-botistaan, joten lienee aivan hyväksyttävää julkaista botin kanssa keskustelua simuloiva peli. Eikä androidia kuvittelisi olevan vaikea kytkeä päätteeseen, jonka kautta sitä debugataan, kuten itselleni tuli axun pelistä mielikuva :)

Pientä tulkinnanvaraa on hyvä jättää, eivät nämä kilpailut kuitenkaan kuolemanvakavia ole.

Re: Pikapelikilpailu 25

Posted: Sat Jan 15, 2011 4:02 pm
by axu
buke44 wrote:
MaGetzUb wrote:Eikös pikapelikisassa pitäisi tehdä pelejä eikä botteja? :roll:
Tämän takia minun pitäisi voittaa muiden hylkäämisen takia. Ja androidi tarkoittaa ihmisen kaltaista robottia. Ei bottia.
Pelihän se minunkin oli, siinä yritetään saada Della-androidi rakastumaan sinuun :D
Minun oli tarkoitus kaittaa siihen myös visualisointi tästä kyseisestä androidista, mutta aika ei riittänyt.

Tuosta aihepiirin tulkinnasta olen samaa mieltä koodaajan kanssa. Itse meinasin alunperin tehdä jonkinlaisen android-käyttöjärjestelmään liittyvän pelin mutten keksinyt hyvää ideaa...