Hackathon hra "azetquizoid"
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
db_generator
public
.gitignore
README.md
app.js
equation_templates.json
game-handler.js
helpers.js
package.json
question-handler.js

README.md

#Azetquizoid http://azetquizoid.azurewebsites.net/

Hra začne, zobrazí se otázka, oba hráči odpoví. Vyhodnotí se odpovědi, ten co odpověděl správně vybere pole. Když ani jeden neodpověděl správně, tak se vybere náhodné pole. Když oba odpověděli správně, tak vyhrál ten, kdo odpověděl první. Zobrazí se další otázka. Oba hráči mohou kdykoliv hádat obrázek. Po každém hádání se pošle status report. Kdyže state=ended tak hra končí. Ten kdo má víc bodů, vyhrál.

Pořadí příkazů

create ->			|
create-confirm <-	|
					| <- connect
connect-confirm <-	| -> connect-confirm
question <-			| -> question
status-report <-	| -> status-report
answer ->			|
					| <- answer
answer-report <-	| -> answer-report
					| <- select
status-report <-	| -> status-report
question <-			| -> question
status-report <-	| -> status-report
...
guess ->			|
guess-response <-	|
status-report <-	| -> status-report

ws protocol @ /game

client -> server

vytvoř hru

{
    "type":"create",
    "data":{}
}

připoj se ke hře

{
    "type":"connect",
    "data":{
        "id":""
    }
}

odpověz na otázku

{
    "type":"answer",
    "data":{
        "text":""
    }
}

získej status o aktuální hře

{
    "type":"status",
    "data":{}
}

zvolit pole pro odkrytí

{
    "type":"select",
    "data":{
		"x":0,
		"y":0
	}
}

hádej

{
    "type":"guess",
    "data":{
		"text":"' // co je na obrázku?
	}
}

server -> client

error

{
    "type":"error",
    "data":{
        "message":""
    }
}

create confirmace

{
    "type":"create-confirm",
    "data":{
        "id":""
    }
}

connect confirmace (dostanou jí oba hráči )

{
    "type":"connect-confirm",
    "data":{
        "id":"",
        "img_url":"", 
		"img_width":0,
        "img_height":0,
        "options":["",""], //možnosti pro pool odpovědí
		"size": {"x":0,"y":0} //počet polí
    }
}

nová otázka

{
    "type":"question",
    "data":{
        "text":"",
        "question_options":[""],
		"timestamp":0,
		"answer_time":0 // čas na odpověď v MS
    }
}

info o odpovědi

{
    "type":"answer-report",
    "data":{
        "correct":true|false, //byla správná
		"pick":true|false, //vybírá pole
		"correct_answer":"",
		"opponent_answer":""
    }
}

guess response

{
    "type":"guess-rsponse",
    "data":{
        "correct":true|false
    }
}

status response (info o hře)

{
    "type":"status-report",
    "data":{
        player1score:0,
        player2score:0,
		"options":["",""], //zbyvajici moznosti
		"state":"running|ended", //hra běží nebo je dohraná.
		"question":"",
		"question_options":[""],
		"uncovered":[] //dvourozměrné pole s odkrytými bloky [y][x]. true = odkrytý
    }
}