ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

简单的TRPG骰子

2020-08-18 19:01:11  阅读:65  来源: 互联网

标签:骰子 total sourcestring TRPG int xlast sign 简单 include


又到了新一年的带团季了,今年准备用电脑来存放各种资料,自然也是需要一个简单的骰子工具了,反正也不复杂,就自己写了个,放着做个备份吧
主要功能是计算x1dy1+/-x2dy2+/-.....+/-const这种表达式

#include <iostream>
#include <string>
#include <sstream>
#include <queue>
#include <ctime> 
using namespace std;
int main(){
	srand(time(0));
    string sourcestring;
    stringstream s;
    int x,y,xlast,total;
    char c,sign;
    queue<int> dicerecode;
    while(cin>>sourcestring){
        s.clear();
        s.str(sourcestring);
        total=0;
        sign=0;
        while(!s.eof()){
            xlast=0;
            s>>x;
            if(!s.eof()&&s>>c&&(c=='d'||c=='D')){
                s>>y;
                for(int i=0;i<x;i++){
                    int tmp=rand()%y+1;
                    xlast+=tmp;
                    dicerecode.push(tmp);
                }
                if(sign=='-') total-=xlast;
                else total+=xlast;
                if(!s.eof()) s>>sign;
            }
            else{
                xlast+=x;
                if(sign=='-') total-=xlast;
                else total+=xlast;
                sign=c;
            }
        }
        cout<<"result="<<total<<"\t";
        cout<<"(";
        while(!dicerecode.empty()){
            cout<<dicerecode.front();
            if(dicerecode.size()>1) cout<<',';
            dicerecode.pop();
        }
        cout<<")\n";
    }
    return 0;
}

标签:骰子,total,sourcestring,TRPG,int,xlast,sign,简单,include
来源: https://www.cnblogs.com/kangyupl/p/13525251.html

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有