美文网首页
3. Express-路由分发功能实现剪刀石头布

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

作者: 萘小蒽 | 来源:发表于2020-07-06 10:54 被阅读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;
    }
    
    

    相关文章

      网友评论

          本文标题:3. Express-路由分发功能实现剪刀石头布

          本文链接:https://www.haomeiwen.com/subject/bufofktx.html