Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xkawi/connectfour
connectfour app for cloud computing
https://github.com/xkawi/connectfour
Last synced: about 2 months ago
JSON representation
connectfour app for cloud computing
- Host: GitHub
- URL: https://github.com/xkawi/connectfour
- Owner: xkawi
- Created: 2014-03-26T16:12:50.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2014-04-09T09:25:58.000Z (over 10 years ago)
- Last Synced: 2023-08-13T19:45:02.533Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 2.27 MB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# connectfour
connectfour app for cloud computing.
Once pushed, Travis-Cl will automatically deploy it to Heroku.
[Configure Travis-Cl for Node+Heroku](http://shapeshed.com/continuously-deploy-node-apps-with-github-travis-and-heroku/) or [this](http://xseignard.github.io/2013/02/18/continuous-deployement-with-github-travis-and-heroku-for-node.js/)
# API Docs
### GET /index
**Request**: nil
**Response**: Array of bots in JSON format
[
{
'userid': '123114125545345',
'bot': {
'id': 0,
'code': 'return Math.floor(Math.random()*7);',
'name': 'Bot0',
'lang': 'js',
'score': 800,
'win': 2,
'lose': 1
}
},
{
'userid': '19823712364987',
'bot': {
'id': 0,
'code': 'return randint(0, 6)',
'name': 'Bot0',
'lang': 'js',
'score': 800,
'win': 0,
'lose': 0
}
}
]### POST /login
**Request**:
Type: application/json
Options:
{
'userid': 'userid',
'name': 'name'
}**Response**:
New User (example)
{
id: "the fbid being sent"
email: "[email protected],
bots: [
{
code: "return randint(0,6)"
id: 0
lang: "js"
lose: 0
name: "Bot0"
score: 800
win: 0
}
]
}
Existing User (example){
id: 123,
email: "[email protected]"
bots: [
{
code: "return Math.floor(Math.random()*6);"
id: 1
lang: "js"
lose: 0
name: "Bot1"
score: 800
win: 0
},
{
code: "return randint(0,6)"
id: 2
lang: "python"
lose: 10
name: "Bot2"
score: 800
win: 11
}
]
}### GET /leaderboard
**Request**: nil
**Response**: Array of bots with its respective userid in JSON format
[
{
"userid":"bob",
"bot": {
"code": "return randint(0,6)",
"id":0,
"lang":"python",
"lose":11,
"name":
"anotherUser's Bot",
"score":1000,
"win":11
}
},
{
"userid": "1234567",
"bot": {
"code":"return randint(0,6)",
"id":0,
"lang":"js",
"lose":0,
"name":"Bot0",
"score":800,
"win":0
}
},
{
"userid":"kawi",
"bot": {
"code":"return randint(0,6)",
"id":2,
"lang":"python",
"lose":10,
"name":"Bot2",
"score":800,
"win":11
}
},
{
"userid":"kawi",
"bot": {
"code":"return Math.floor(Math.random()*6);",
"id":1,
"lang":"js",
"lose":0,
"name":"Bot1",
"score":800,
"win":0
}
}
]### POST /submit_bot
**Request**:
type: application/json
values:
{
"bot": "actual code written by the user",
"lang": "python or js",
"userid": "user id or facebook id",
"bot_name": "name of the bot"
}**Response**:
Syntax Error (JSON):
{"success": false, "error": "invalid syntax"}
Bad Move (JSON):{"success": false, "error": "bot cause invalid move"}
Success (JSON):
{
"success": true,
"error": null,
"bot": {
'code': code,
'id': 0,
'lang': lang,
'name': "Bot0",
'score': 800,
'win': 0,
'lose': 0
}
}### POST /edit_bot
**Request**:
type: application/json
values:
{
"bot": "actual code written by the user",
"lang": "python or js",
"bot_id": "id of the bot",
"userid": "user id or facebook id",
"bot_name": "name of the bot"
}**Response**:
Syntax Error (JSON):
{"success": false, "error": "invalid syntax"}
Bad Move (JSON):{"success": false, "error": "bot cause invalid move"}
Success (JSON):
{
"success": true,
"error": null,
"bot": {
'code': code,
'id': 0,
'lang': 'lang',
'name': 'Bot0',
'score': 800,
'win': 0,
'lose': 0
}
}### POST /play
**Request**:
type: application/json
value:
{
"bot1": {
"userid": "kawi",
"botid": "1"
},
"bot2": {
"userid": "bob",
"botid": "0"
}
}
**Response**:
{
"winner": { "userid": "kawi", "botid": 1 },
"bad_move": null,
"steps":[
"_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n",
"_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\n",
"_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,R,_,_,_,W,_,\n",
"_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,R,_,R,_,W,_,\n",
"_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,W,_,_,_,_,_,\n_,R,_,R,_,W,_,\n",
"_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,W,_,R,_,_,_,\n_,R,_,R,_,W,_,\n",
"_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,W,_,R,_,_,_,\n_,R,_,R,W,W,_,\n",
"_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,R,_,_,_,\n_,R,_,R,W,W,_,\n",
"_,_,_,_,_,_,_,\n_,_,_,_,_,_,_,\n_,W,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,R,_,_,_,\n_,R,_,R,W,W,_,\n",
"_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,R,_,_,_,\n_,R,_,R,W,W,_,\n",
"_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,R,_,W,_,\n_,R,_,R,W,W,_,\n",
"_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,R,_,W,_,\nR,R,_,R,W,W,_,\n",
"_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,R,W,W,_,\nR,R,_,R,W,W,_,\n",
"_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,R,W,W,_,\nR,R,_,R,W,W,R,\n",
"_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,_,_,_,_,\n_,R,_,_,W,_,_,\n_,W,_,R,W,W,_,\nR,R,_,R,W,W,R,\n",
"_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,_,_,_,_,\n_,R,_,_,W,_,_,\nR,W,_,R,W,W,_,\nR,R,_,R,W,W,R,\n",
"_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,_,_,_,_,\nW,R,_,_,W,_,_,\nR,W,_,R,W,W,_,\nR,R,_,R,W,W,R,\n",
"_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\n_,W,_,_,_,_,_,\nW,R,_,R,W,_,_,\nR,W,_,R,W,W,_,\nR,R,_,R,W,W,R,\n",
"_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\nW,W,_,_,_,_,_,\nW,R,_,R,W,_,_,\nR,W,_,R,W,W,_,\nR,R,_,R,W,W,R,\n",
"_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\nW,W,_,_,_,_,_,\nW,R,_,R,W,_,_,\nR,W,_,R,W,W,_,\nR,R,R,R,W,W,R,\n",
"_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\nW,W,_,W,_,_,_,\nW,R,_,R,W,_,_,\nR,W,_,R,W,W,_,\nR,R,R,R,W,W,R,\n",
"_,_,_,_,_,_,_,\n_,R,_,_,_,_,_,\nW,W,_,W,_,_,_,\nW,R,_,R,W,R,_,\nR,W,_,R,W,W,_,\nR,R,R,R,W,W,R,\n",
"_,_,_,_,_,_,_,\n_,R,_,W,_,_,_,\nW,W,_,W,_,_,_,\nW,R,_,R,W,R,_,\nR,W,_,R,W,W,_,\nR,R,R,R,W,W,R,\n",
"_,_,_,R,_,_,_,\n_,R,_,W,_,_,_,\nW,W,_,W,_,_,_,\nW,R,_,R,W,R,_,\nR,W,_,R,W,W,_,\nR,R,R,R,W,W,R,\n",
"_,_,_,R,_,_,_,\nW,R,_,W,_,_,_,\nW,W,_,W,_,_,_,\nW,R,_,R,W,R,_,\nR,W,_,R,W,W,_,\nR,R,R,R,W,W,R,\n",
"R,_,_,R,_,_,_,\nW,R,_,W,_,_,_,\nW,W,_,W,_,_,_,\nW,R,_,R,W,R,_,\nR,W,_,R,W,W,_,\nR,R,R,R,W,W,R,\n",
"R,_,_,R,_,_,_,\nW,R,_,W,_,_,_,\nW,W,_,W,_,W,_,\nW,R,_,R,W,R,_,\nR,W,_,R,W,W,_,\nR,R,R,R,W,W,R,\n",
"R,_,_,R,_,_,_,\nW,R,_,W,_,_,_,\nW,W,_,W,_,W,_,\nW,R,_,R,W,R,_,\nR,W,R,R,W,W,_,\nR,R,R,R,W,W,R,\n"
]
}