简单的TRPG骰子
又到了新一年的带团季了,今年准备用电脑来存放各种资料,自然也是需要一个简单的骰子工具了,反正也不复杂,就自己写了个,放着做个备份吧
主要功能是计算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;
}
简单的TRPG骰子的更多相关文章
- 掷骰子-IOS新手项目练习(抱歉,由于个人原因,图片没显示,要源码的项目私聊)
---恢复内容开始--- 今天我们来讲的就是项目<掷骰子> 首先我们先下载资源包,也就是我们需要的图片[点击图片下载] 在我们下载完图片之后,我们就可以开始创建项目 一.我们项目的做法可以 ...
- [ML] Concept Learning
Candidate Elimination Thanks for Sanketh Vedula. This is a good demo to understand candidate elimina ...
- AutoML初创公司探智立方:模型的物竞天择与适者生存
从回归分析的出现到深度学习的蓬勃发展,这条算法的进化路线与其说是「机器替代人」,不如说是「机器帮助人类完毕我们不擅长的事」. 这份「不擅长」列表里有「不擅长从大量数据中寻找规律」.「不擅长同一时候完毕 ...
- [Scikit-learn] Dynamic Bayesian Network - HMM
Warning The sklearn.hmm module has now been deprecated due to it no longer matching the scope and th ...
- [水煮 ASP.NET Web API2 方法论](1-8)添加 Session 状态
问题 ASP.NET Web API 构建 Web 应用程序时,要求使用 Session 在服务器存储一些用户特定的信息 解决方案 ASP.NET Web API 不支持 Session,因为 API ...
- UML-1-面向对象分析和设计
1.关键词: OOA:Object-Oriented Analysis.面向对象分析.抽取对象或概念,如:航班系统包含 飞机(Plane).航班(Flight)等概念. OOD:Object-Orie ...
- PHP流程控制之分支结构switch语句的使用
分支结构switch语句的使用 还记得我们最开始讲了这么一个故事: 王同学家里头特别有钱,所以他的行程方式和正常人的又有些不一样. 他的出行方式呢有6种,如下: 1,司机开车2,民航3,自己家的专机4 ...
- 通过创建一个简单的骰子游戏来探究 Python
在我的这系列的第一篇文章 中, 我已经讲解如何使用 Python 创建一个简单的.基于文本的骰子游戏.这次,我将展示如何使用 Python 模块 Pygame 来创建一个图形化游戏.它将需要几篇文章才 ...
- 简单CSS3代码实现立方体以及3D骰子
1 实现3D立方体 首先准备好UL以及6个Li: 代码如下 ul { position: absolute; top: 50%; left: 50%; transform:translate(-50% ...
随机推荐
- 如何获取 topic 主题的列表?
bin/kafka-topics.sh --list --zookeeper localhost:2181
- CopyOnWriteArrayList 可以用于什么应用场景?
CopyOnWriteArrayList(免锁容器)的好处之一是当多个迭代器同时遍历和修改这 个列表时,不会抛出 ConcurrentModificationException.在 CopyOnWri ...
- idea-中的Mark Diretory as的内容
Sources Root:告诉idea这个文件夹及其子文件夹中包含源代码,是需要编译构建的一部分 Test Sources Root:测试源文件夹允许您将与测试相关的代码与生产代码分开.通常,源和测试 ...
- Mybatis入门程序(二)
1.实现需求 添加用户 更新用户 删除用户 2.添加用户 (1)映射文件User.xml(Mapper)中,配置添加用户的Statement <!-- 添加用户: parameterType:指 ...
- task0002(四)- 练习:数据处理、轮播及交互
转载自我的个人博客 欢迎大家批评指正 包括5部分: 小练习1-处理用户输入 小练习2-日期对象的使用 小练习3:轮播图 小练习4:输入提示框 小练习5:界面拖拽交互 源码地址task0002 在线De ...
- APICloud重磅支持Atom编辑器,并建立开发工具核心库
APICloud技术再次升级,不仅支持Atom编辑器开发工具,并推出核心开发工具库,使开发者进行App开发更便捷高效. APICloud支持Atom编辑器开发工具 APICloud始终坚持多开发工具支 ...
- 夏日葵电商:连锁零售店小程序o2o系统解决方案
公众平台"附近小程序"功能上线后,一个主体账号可以同时绑定N+个门店,这对连锁零售店铺来说是重磅福利呀,无论你是通过搜索还是线下扫码进入小程序,线上与线下都完全贯通了,线上多种入口 ...
- 前端面试题整理——webpack相关考点
webpack是开发工具,面试考点重点在配置和使用,原理理解不需要太深. 一.基本配置 1.拆分配置和merge 将公共配置跟dev和prod的配置拆分,然后通过webpack-merge对配置进行整 ...
- onActivityResult执行两次问题
差点被坑死 记一次onActivityResult被调用两次的坑
- java中接口interface可以持有多个类的共享常量
3.接口持有多个类的共享常量 接口另一主要功能,马克-to-win: 可以使用接口来引入多个类的共享常量.所有的这些变量名都将作为常量看待.所有定义在接口中的常量都默认为public.static和 ...