3. Express-路由分发功能实现剪刀石头布

2020-07-06  本文已影响0人  萘小蒽
const http = require('http');
const url = require('url');
const fs = require('fs');
const express = require('express');
const app = express();
let playerWon = 0;
let platGame = function (playAction) {
    var obj = {};
    obj.playAction = playAction;
    if(playerWon>=3){
        obj.action = "不玩了!!!";
        obj.result = "电脑不玩了!!!";
        return   JSON.stringify(obj);
    }
    var radom = Math.random() * 3;
    var action, result;
    if (radom < 1) {
        action = "剪刀";
    } else if (radom > 2) {
        action = "石头";
    } else {
        action = "布";
    }
    obj.action = action;
    if (playAction == action) {
        result = "平局";
    } else if (action == "剪刀" && playAction == "石头" || action == "石头" && playAction == "布" || action == "布" && playAction == "剪刀") {
        result = "你赢了";
        playerWon++;
    } else {
        result = "你输了"
    }
    obj.result = result;
    return JSON.stringify(obj);
}
app.listen(3000);
app.get('/favicon.ico',function(req,res){
    res.writeHead(404);
        res.end();
})
app.get('/action',function(req,res){
    let parse = url.parse(req.url);
    var val = parseQuery(parse.query).playAction;
        res.writeHead(200, { "content-type": "text/html;charset=utf-8" });
        res.end(platGame(val));
})
app.get('/',function(req,res){
    fs.createReadStream(__dirname + "/index.html").pipe(res);
})
var parseQuery = function (query) {
    var reg = /([^=&\s]+)[=\s]*([^&\s]*)/g;
    var obj = {};
    while (reg.exec(query)) {
        obj[RegExp.$1] = decodeURI(RegExp.$2);
    }
    return obj;
}

上一篇 下一篇

猜你喜欢

热点阅读