Uno bot game

Gestart doorJenner27 reacties59 weergaven

28 berichten · pagina 1 van 2

Jenner

Lid · Topicstarter

Berichten
1.544
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallo allemaal,

Ik ben vandaag een beetje bezig met een systeem die het spel Uno kan nabootsen. De spelregels enzo allemaal op een rijtje zetten en ik classes proppen.
Nu leek het me leuk om een soort wedstrijd te houden onder de developers hier en kijken wie de slimste Uno bot kan bouwen. Je kan je bot dan op je eigen server draaien en als je server aan de beurt is zal er een request worden gedaan. Bij deze request zal de nodige informatie worden toegevoegd en hieruit moet je bot een beslissing kunnen maken en de actie terugsturen die de bot wil uitvoeren. De vraag van mij is of hier animo voor is. Hebben mensen interesse in het bouwen van zon bot?

Graag reacties over het idee. smile
------
Ik ben inmiddels zover om te laten zien welke gegevens je krijgt toegestuurd als je bot aan de beurt is.

Hieronder zie je een voorbeeld.

Wat vind je allemaal in de data die je krijgt toegestuurd?
- latest_actions: De acties die zijn uitgevoerd nadat je bot voor het laatst een request heeft gekregen inclusief de actie die hij als laatste heeft uitgevoerd.
- current_color: De kleur die op dit moment aan de beurt is om op te gooien.
- latest_played_card: De kaart die als laatste is opgegooid.
- players: een array met daarin de IDs van de kaarten van de tegenstander. Hieraan kun je bijvoorbeeld zien of hij lang een kaart in zijn hand houdt.
- inverse: Als deze op true staat gaat hij de spelers van hoog naar laag af. Normaal van laag naar hoog.
- your_id: Het ID van jouw speler.
- your_cards: Een array van jouw kaarten in je hand met bijbehorende IDs.
- waited_cards: De kaarten die je moet pakken als jij geen twee pakken of vier pakken opgooit.
Spoiler tonen
Array
(
    [latest_actions] => Array
        (
            [0] => Array
                (
                    [player_id] => 1
                    [action] => draw
                    [cards] => Array
                        (
                            [0] => Array
                                (
                                    [name] => 6
                                    [color] => blue
                                )

                        )

                )

            [1] => Array
                (
                    [player_id] => 0
                    [action] => draw
                    [cards] => Array
                        (
                            [0] => Array
                                (
                                )

                            [1] => Array
                                (
                                )

                        )

                )

        )

    [current_color] => blue
    [latest_played_card] => Array
        (
            [name] => draw four
            [color] => 
        )

    [players] => Array
        (
            [0] => Array
                (
                    [0] => d9b8779bde6ab312611a693a03b0a2575d90a718
                    [1] => 69f26593904d366ca8945cc193ad8911558102ab
                    [2] => 1560ba70ed3c368d5050714c2aa62b7a0ab01991
                    [3] => 94cbd93dcda47a9271726bae43e10bce86ce6508
                    [4] => f8e893e7677e02a8804d40cd4a12c7e642d0d0cb
                    [5] => fa3316720a02b32154fad7ce8b151ced377a0c32
                    [6] => 338f3456d85f76fd29e2cb9b542b9d2aa3d1fc47
                    [7] => c209c2b94929d8cf82bf7dfc06bad27b2b3054ba
                    [8] => 7a1737a1367c6068e45f518236033a5571b3a7c5
                    [9] => 9c76a012e8d3d347620d58a3e50bc6679b5d00de
                    [10] => b2a8f7e3f2e33f9810871861c68e871cb302270b
                    [11] => fff7577cd74feab85082d83d053393f579254c0c
                )

            [1] => Array
                (
                    [0] => 39d43190e581e5e8cf5def09ebb2d8aa417b5762
                    [1] => 51221dc452ab74540ef0ad8668c894c9279a1afe
                    [2] => 417f969435874a92bcb3b27ecaa1f0cc567a8f24
                    [3] => eda12c40814a832f817fd48fdeeae5861ab825d6
                    [4] => 11be5176aa9c4dfe667f5cde1d05be26d5e5e20e
                    [5] => e68d2e0eb7bb7b05e3b06b3f4317dafd42f83fb3
                    [6] => ed617975f9c160639d2d5835e14d781c38af5266
                    [7] => e3791971c9b47b8b8988f5a80afece685c84c74b
                    [8] => b5f72ec074a5c925c64d4eca71c919bd57e9f767
                )

        )

    [inverse] => 
    [your_id] => 1
    [your_cards] => Array
        (
            [39d43190e581e5e8cf5def09ebb2d8aa417b5762] => Array
                (
                    [name] => 8
                    [color] => red
                )

            [51221dc452ab74540ef0ad8668c894c9279a1afe] => Array
                (
                    [name] => 8
                    [color] => red
                )

            [417f969435874a92bcb3b27ecaa1f0cc567a8f24] => Array
                (
                    [name] => 3
                    [color] => blue
                )

            [eda12c40814a832f817fd48fdeeae5861ab825d6] => Array
                (
                    [name] => 7
                    [color] => green
                )

            [11be5176aa9c4dfe667f5cde1d05be26d5e5e20e] => Array
                (
                    [name] => 5
                    [color] => yellow
                )

            [e68d2e0eb7bb7b05e3b06b3f4317dafd42f83fb3] => Array
                (
                    [name] => 4
                    [color] => red
                )

            [ed617975f9c160639d2d5835e14d781c38af5266] => Array
                (
                    [name] => 6
                    [color] => yellow
                )

            [e3791971c9b47b8b8988f5a80afece685c84c74b] => Array
                (
                    [name] => 1
                    [color] => green
                )

            [b5f72ec074a5c925c64d4eca71c919bd57e9f767] => Array
                (
                    [name] => 6
                    [color] => blue
                )

        )

    [waited_cards] => 0
)
Wat de bot moet terugsturen:
-action: draw of play. (Bij draw hoef je verder geen card_id of color mee te geven)
-card_id: Het ID van de kaart in je hand die je wilt opgooien als je voor de actie draw hebt gekozen.
-color: Als je een change color of draw four kaart hebt opgegooid moet je een kleur meegeven. (Zoniet dan kiest hij een random kleur)
0
Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Bedoel je dat we allemaal een bot moeten maken die zo snel/efficient mogelijk het spel uno kan nabootsen of eentje die zegmaar voor mij speelt
0
Berichten
3.314
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik heb wel interesse maar ik weet niet precies wat je bedoelt, wil je een partijtje houden tussen allemaal bots? Eerlijk gezegd lijkt php me dan niet de snelste taal...
0
Jenner

Lid · Topicstarter

Berichten
1.544
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Het is de bedoeling dat je bot bouwt die voor jou speelt en als speler functioneert.
Kyron schreef:
Ik heb wel interesse maar ik weet niet precies wat je bedoelt, wil je een partijtje houden tussen allemaal bots? Eerlijk gezegd lijkt php me dan niet de snelste taal...
PHP is denk ik ook niet de snelste taal, maar helaas is dat momenteel de enige die ik goed beheers. Je kunt natuurlijk op je eigen server andere talen gebruiken en daarmee je beslissingen maken. smile
0
Berichten
5.957
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Kyron schreef:
Ik heb wel interesse maar ik weet niet precies wat je bedoelt, wil je een partijtje houden tussen allemaal bots? Eerlijk gezegd lijkt php me dan niet de snelste taal...
Sowieso maak ik die van mij met javascript.
0
Jenner

Lid · Topicstarter

Berichten
1.544
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Alemaalte schreef:
Eerdere citaten tonen
Kyron schreef:
Ik heb wel interesse maar ik weet niet precies wat je bedoelt, wil je een partijtje houden tussen allemaal bots? Eerlijk gezegd lijkt php me dan niet de snelste taal...
Sowieso maak ik die van mij met javascript.
Dat kan dus niet helaas. Het moet een serverside taal zijn en dat is Javascript helaas niet.
0
Berichten
5.957
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Jenner schreef:
Eerdere citaten tonen
Alemaalte schreef:
Eerdere citaten tonen
Kyron schreef:
Ik heb wel interesse maar ik weet niet precies wat je bedoelt, wil je een partijtje houden tussen allemaal bots? Eerlijk gezegd lijkt php me dan niet de snelste taal...
Sowieso maak ik die van mij met javascript.
Dat kan dus niet helaas. Het moet een serverside taal zijn en dat is Javascript helaas niet.
Wil jij eens even niet gaan liegen ... in wat denk je dat dat (
Afbeelding
) geschreven is?
0
Jenner

Lid · Topicstarter

Berichten
1.544
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Kakkie met Node.js? Had ik kunnen weten biggrinp
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Ik zou dan wel een JSON-achtige request doen.

Dus niet ?var1=iets&var2=iets, maar:
{var1 = iets, var2 = iets}
0
Jenner

Lid · Topicstarter

Berichten
1.544
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Rik schreef:
Ik zou dan wel een JSON-achtige request doen.

Dus niet ?var1=iets&var2=iets, maar:
{var1 = iets, var2 = iets}
Ja ik wou het idd ook in JSON doen. Dat leek me wel het fijnste voor iedereen.
0
Berichten
5.957
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ha wel, dat is zelfs beter yummie
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Alemaalte schreef:
Ha wel, dat is zelfs beter yummie
Is gewoon handiger en sneller. En bovnedien kunnen meerdere talen dat aan.
0
Berichten
5.957
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik zeg toch dat ik JSON beter vindt?
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Alemaalte schreef:
Ik zeg toch dat ik JSON beter vindt?
Ja, ik beargumenteer het nog verder ^^
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren