Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gaolinghu
werewolf in chinese
提交
821eabe6
W
werewolf in chinese
项目概览
gaolinghu
/
werewolf in chinese
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
werewolf in chinese
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
821eabe6
编写于
5月 15, 2023
作者:
gaolinghu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add new file
上级
bbe2b63b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
178 addition
and
0 deletion
+178
-0
werewolf v1.1 beta.cpp
werewolf v1.1 beta.cpp
+178
-0
未找到文件。
werewolf v1.1 beta.cpp
0 → 100644
浏览文件 @
821eabe6
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using
namespace
std
;
#define sp Sleep
#define rd rand
#define ef else if
#define pe system("pause")
#define ct cout
void
pd
(
int
s
[],
int
n
){
if
(
s
[
n
]
==
1
)
ct
<<
"杀手"
;
ef
(
s
[
n
]
==
2
)
ct
<<
"警察"
;
ef
(
s
[
n
]
==
3
)
ct
<<
"平民"
;
ef
(
s
[
n
]
==
4
)
ct
<<
"狙击手"
;
ef
(
s
[
n
]
==
5
)
ct
<<
"医生"
;
puts
(
""
);
}
void
brc1
(){
srand
(
time
(
0
));
int
a
,
b
=
20
,
i
,
j
=
0
,
k
,
l
=
0
,
m
[
21
],
n
=
rd
()
%
20
+
1
,
p
=
0
,
s
[
21
]
=
{
0
}
,
w
,
d
,
e
,
f
=
0
,
g
=
1
,
lr
,
tp
[
21
]
=
{
0
},
yy
[
21
]
=
{
0
},
y
=
2
,
c
=
0
,
kk
;
ct
<<
"你是"
<<
n
<<
"号
\n
正在分配身份
\n
"
;
sp
(
1500
);
for
(
i
=
1
;
i
<
21
;
i
++
)
m
[
i
]
=
1
;
for
(
i
=
1
;
i
<
21
;
i
++
)
do
{
a
=
rd
()
%
5
+
1
;
if
(
a
==
1
&&
l
<
4
)
l
++
,
s
[
i
]
=
1
;
ef
(
a
==
2
&&
w
<
4
)
w
++
,
s
[
i
]
=
2
;
ef
(
a
==
4
&&
p
<
2
)
p
++
,
s
[
i
]
=
4
;
ef
(
a
==
3
&&
j
<
9
)
j
++
,
s
[
i
]
=
3
;
ef
(
a
==
5
&&!
c
)
c
++
,
s
[
i
]
=
5
;
}
while
(
s
[
i
]
==
0
);
ct
<<
"你的身份是"
;
pd
(
s
,
n
);
ct
<<
"游戏将在3秒后开始
\n
"
;
sp
(
3000
);
do
{
bool
f1
=
0
,
f2
=
0
;
lr
=
0
;
ct
<<
"第"
<<
g
<<
"晚开始
\n
"
;
for
(
i
=
1
;
i
<
21
;
i
++
){
if
(
i
==
n
&&
m
[
n
]
==
1
){
if
(
s
[
n
]
==
1
){
for
(
k
=
1
;
k
<
21
;
k
++
)
if
(
m
[
k
]
==
1
&&
s
[
k
]
!=
1
)
ct
<<
k
<<
' '
;
ct
<<
"
\n
你选择杀掉
\n
"
;
cin
>>
a
;
kk
=
a
;
ct
<<
"
\n
杀手杀了"
<<
a
<<
"号"
;
pd
(
s
,
a
);
b
--
;
}
ef
(
s
[
n
]
==
2
){
for
(
k
=
1
;
k
<
21
;
k
++
)
if
(
m
[
k
]
==
1
&&
s
[
i
]
!=
2
)
ct
<<
k
<<
' '
;
ct
<<
"
\n
你选择查验谁的身份
\n
"
;
cin
>>
a
;
if
(
s
[
a
]
==
1
){
ct
<<
a
<<
"号是杀手,请注意
\n
"
;
sp
(
1000
);
}
ef
(
s
[
a
]
==
4
){
ct
<<
a
<<
"号是狙击手,请注意
\n
"
;
sp
(
1000
);
}
else
ct
<<
a
<<
"号是平民
\n
"
;
}
ef
(
s
[
n
]
==
4
){
for
(
k
=
1
;
k
<
21
;
k
++
)
if
(
m
[
k
]
==
1
&&
s
[
i
]
!=
4
)
ct
<<
k
<<
' '
;
ct
<<
"
\n
你选择杀掉
\n
"
;
cin
>>
a
;
m
[
a
]
=
0
;
ct
<<
"
\n
狙击手杀了"
<<
a
<<
"号"
;
pd
(
s
,
a
);
b
--
;
}
}
ef
(
s
[
i
]
==
1
&&
m
[
i
]
==
1
&&
s
[
n
]
!=
1
&&!
f1
){
f1
=
1
;
do
a
=
rd
()
%
20
+
1
;
while
(
a
==
i
||
m
[
a
]
==
0
||
s
[
a
]
==
1
);
ct
<<
"杀手杀掉了"
<<
a
<<
"号"
;
pd
(
s
,
a
);
kk
=
a
;
b
--
;
}
ef
(
s
[
i
]
==
2
&&
m
[
i
]
==
1
&&
s
[
n
]
!=
2
&&!
f2
){
f2
=
1
;
if
(
f
==
0
||
m
[
f
]
==
0
){
do
a
=
rd
()
%
20
+
1
;
while
(
a
==
i
||
m
[
a
]
==
0
);
if
(
s
[
a
]
==
1
)
yy
[
a
]
=
1
;
ef
(
s
[
a
]
==
3
)
yy
[
a
]
=
3
;
}
}
ef
(
s
[
i
]
==
4
&&
m
[
i
]
==
1
){
do
a
=
rd
()
%
20
+
1
;
while
(
a
==
i
||
m
[
a
]
==
0
);
ct
<<
"狙击手杀掉了"
<<
a
<<
"号"
;
pd
(
s
,
a
);
m
[
a
]
=
0
;
b
--
;
}
ef
(
s
[
i
]
==
5
){
f
=
0
;
while
(
f
==
0
){
a
=
rand
()
%
2
+
1
;
if
(
a
==
1
&&
y
>
0
){
y
--
;
f
=
1
;
int
a
;
do
a
=
rand
()
%
15
+
1
;
while
(
a
==
i
||
m
[
a
]
==
0
);
m
[
a
]
=
0
;
cout
<<
"医生针死了"
<<
b
<<
"号"
;
pd
(
s
,
a
);
b
--
;
}
ef
(
a
==
2
&&
g
>
1
&&
y
>
0
){
y
--
;
f
=
1
;
b
++
;
cout
<<
"医生救活了"
<<
kk
<<
"号
\n
"
;
kk
=
0
;
}
else
break
;
}
}
}
if
(
s
[
n
]
==
5
){
cout
<<
"
\n
你选择 1.杀 还是 2.救
\n
"
;
f
=
0
;
while
(
f
==
0
){
cin
>>
a
;
if
(
a
==
1
&&
y
){
y
--
;
f
=
1
;
for
(
k
=
1
;
k
<
21
;
k
++
)
if
(
m
[
k
]
==
1
&&
k
!=
n
)
ct
<<
k
<<
' '
;
cin
>>
a
;
pd
(
s
,
a
);
m
[
a
]
=
0
;
b
--
;
}
ef
(
a
==
2
&&
y
>
0
){
y
--
;
f
=
1
;
kk
=
0
;
b
++
;
}
else
cout
<<
"针剂不足
\n
"
;
}
}
m
[
kk
]
=
0
;
sp
(
1000
);
int
p
[
21
]
=
{
0
};
ct
<<
"第"
<<
g
<<
"晚结束
\n\n
"
;
if
(
m
[
n
]
==
0
){
ct
<<
"你已经>>死<<了"
;
break
;
}
ct
<<
"存活:
\n
"
;
for
(
i
=
1
;
i
<
21
;
i
++
)
if
(
m
[
i
]
==
1
)
ct
<<
i
<<
' '
;
ct
<<
"
\n
请投票....
\n
"
;
for
(
i
=
1
;
i
<
21
;
i
++
){
if
(
i
==
n
&&
m
[
n
]
==
1
){
ct
<<
"你选择投几号
\n
"
;
cin
>>
a
;
p
[
a
]
++
;
ct
<<
"
\n
"
<<
i
<<
"->"
<<
a
<<
'\n'
;
if
(
s
[
a
]
==
3
)
tp
[
a
]
=
i
;
}
ef
(
m
[
i
]
==
1
){
do
a
=
rd
()
%
20
+
1
;
while
(
m
[
a
]
==
0
||
a
==
i
);
p
[
a
]
++
;
ct
<<
i
<<
"->"
<<
a
<<
'\n'
;
}
}
pe
;
ct
<<
"投票情况:
\n
"
;
for
(
i
=
1
;
i
<
21
;
i
++
)
if
(
m
[
i
]
==
1
)
ct
<<
i
<<
"号票数:"
<<
p
[
i
]
<<
'\n'
;
e
=-
100
;
for
(
i
=
1
;
i
<
21
;
i
++
)
if
(
p
[
i
]
>
e
)
d
=
i
,
e
=
p
[
i
];
m
[
d
]
=
0
;
ct
<<
d
<<
"死了
\n
ta的身份是"
;
b
--
;
pd
(
s
,
d
);
g
++
;
if
(
s
[
n
]
!=
1
)
for
(
i
=
1
;
i
<
21
;
i
++
)
if
(
s
[
i
]
==
1
&&
m
[
i
]
==
1
)
lr
=
1
;
ef
(
s
[
n
]
==
1
&&
b
==
2
)
lr
=
0
;
pe
;
}
while
(
m
[
n
]
==
1
&&
b
>
1
&&
lr
);
ct
<<
"
\n\n\n
游戏结束
\n
"
;
for
(
i
=
1
;
i
<
21
;
i
++
){
ct
<<
i
<<
"号的身份是:"
;
pd
(
s
,
i
);
if
(
m
[
i
])
cout
<<
"存活
\n
"
;
else
cout
<<
"死亡
\n
"
;
}
}
int
main
(){
cout
<<
"1.20人模式(医生,警察,狙击手,平民,杀手)
\n
"
;
int
a
=
getch
();
if
(
a
==
'1'
)
brc1
();
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录