随机种子产生pc的随机出拳
srand(time(0));
int pc = rand()%3; //0, 1, 2 石头剪子布
屏幕输入自己的结果。
scanf(" %d", &var);
一个负责比较的代码块,很简单的逻辑处理。
一个最多执行三次的循环。
两个负责记录胜负次数的变量,针对单一角色,两胜或者两负,都会结束游戏。
/至搂主:本游戏系统可支持多个用户游戏,一次只能登录一个用户,运行此程序会生成一个文件来存储用户信息,本程序允许承载的用户个数为1000个,为使游戏更有趣味,程序特意为不同的玩家分数设计了不同的等级,程序初始化时,会生成一个只含有5个系统玩家的文件。游戏过程中,文件会不断刷新,如果玩家要删除一切曾经的游戏记录,只需将存储文件删除,存储记录的文件名为'sunyi',如果搂主想与我们联系,请加QQ好友865363864。(加好友时请搂主注明身份)。
/
#include <stdioh>
#include <stdlibh>
#include <timeh>
//#define NULL 0
//
struct computer //定义系统玩家结构体
{
char player[30];
int score;
int times;
int time;
}cpt[1000]={"player1",100,1,1,"player2",100,1,1,"player3",100,1,1,"player4",100,1,1,"player5",100,1,1,};
FILE in; //生成记录玩家信息的文件的指针
int number,rool; //rool:玩家所在数组位置的角标number:数组元素的个数
//
int h() //生成一个随机数(1,2或3);
{
int k,n;
n=rand()%3;
return n+1;
}
//
int str_to_num(char a[]) //引入函数str_to_num:使字符串(string)转化为整数数形式(int)!
{
int i=strlen(a)-1,num=0,time=1;
for(;i>=0;i--)
{
num=num+(a[i]-'0')time;
time=time10;
}
return(num);
}
//
void b(int n)
{
switch((int)(n/20))
{
case(0):printf("等级:江湖渣子");break;
case(1):
case(2):printf("等级:初入江湖");break;
case(3):
case(4):
case(5):printf("等级:江湖浪子");break;
case(6):
case(7):
case(8):
case(9):printf("等级:江湖侠客");break;
case(10):
case(11):
case(12):
case(13):
case(14):
case(15):
case(16):
case(17):
case(18):
case(19):printf("等级:一派掌门");break;
default:
{
switch((int)(n/1000))
{
case(0):printf("等级:武林盟主");break;
case(1):
case(2):
case(3):
case(4):printf("等级:江湖奇侠");break;
case(5):
case(6):
case(7):
case(8):
case(9):printf("等级:孤独求败");break;
default:printf("等级:不死之身");break;
}
}
}
}
//
int readfile(void) //读文件
{
int i,number=5;
if((in=fopen("sunyitxt","rb"))!=NULL)
{
fread(&number,sizeof(int),1,in);
for(i=0;i<number;i++)
{
fread(&cpt[i],sizeof(struct computer),1,in);
}
fclose(in);
}
return(number);
}
//
void writefile() //写文件
{
int i;
in=fopen("sunyitxt","wb");
fwrite(&number,sizeof(int),1,in);
for(i=0;i<number;i++)
{
fwrite(&cpt[i],sizeof(struct computer),1,in);
}
fclose(in);
}
//
void rule() //规则函数
{
printf(" 猜拳游戏\n");
printf("规则:\n");
printf(" 输入“N”或“n”查看积分,第一次游戏时,会免费赠送玩家100枚金币,每局游戏都会");
printf("提示您输入押金,押金必须大于1枚金币!(含1枚),提示游戏开始后,输入一个1~3");
printf("之间的值;1表示石头,2表示剪刀,3表示布。同时,系统也将出拳,按照通俗规则,赢者");
printf("将得到押金,否则扣除,当积分小于5分时,您有五次机会得到系统免费赠送的30分,");
printf("当玩家金币数为零时(又用完5次得到30金币的机会), 系统将提示玩家游戏结束。并删");
printf("除用户。\n");
printf(" #本系统会自动生成5个系统玩家轮流与您游戏,游戏前,玩家需要登录来调出自己");
printf("的游戏记录,如果是第一次游戏,请输入“register”,再输入新用户名注册,如果以前");
printf("进行过游戏,请输入“entry”再输入“用户名”登录\n(注:本系统允许存储本记录多个用户的信息。)\n\n");
}
//
int registe() //开始游戏前的登录和注册
{
char ch[30];
int i;
loop4:
printf("\n第一次玩游戏?请输入“register”注册!\n登录?请输入“entry”登录\n");
loop3:
scanf("%s",ch);
if(strcmp("register",ch)==0)
{
loop2:
printf("请输入新用户名:(长度小于30个字符)");
scanf("%s",ch);
for(i=5;i<number;i++)
{
if(strcmp(cpt[i]player,ch)==0)
{
printf("这个用户已被注册过!注册失败!请重新注册!\n");
goto loop2;
}
}
strcpy(cpt[number]player,ch);
cpt[number]score=100;
cpt[number]time=cpt[number]times=1;
number+=1;
writefile();
printf("注册成功!请登录并在您的用户下进行游戏!:");
goto loop4;
}
else if(strcmp("entry",ch)==0)
{
printf("请输入用户名登录:");
scanf("%s",ch);
for(i=5;i<number;i++)
{
if(strcmp(cpt[i]player,ch)==0)
{
printf("登录成功!\n");
printf("您将在您的用户下进行游戏。!");
break;
}
}
if(i==number)
{
printf("输入错误或没有注册或该用户由于输光金币已被系统删除!\n请重新输入用户名登录!");
goto loop4;
}
}
else
{
printf("您输入的不是“register”也不是“entry”,系统无法执行您的命令,请重新输入:\n");
goto loop3;
}
return(i);
}
//
void game() //游戏和查询的主体函数
{
int o,p;
char a[10],wether[1];
if(cpt[rool]time==1)printf("本局游戏系统将免费赠予您100枚金币。\n");
if(cpt[rool]score<5&&cpt[rool]times<=5)
{
if(cpt[rool]times<5)
{
printf("您的积分已少于5分,系统第%d次赠送你30枚金币\n",cpt[rool]times);
}
else
{
printf("您的积分已少于5分,系统最后一次赠送你30枚金币!\n");
}
cpt[rool]score+=30;
cpt[rool]times+=1;
game();
}
if(cpt[rool]score==0)
{
int q;
printf("您不能在没有积分的状态下游戏!你的用户将被删除,如果您还想继续游戏,请重新申请用户\nGAME OVER!\n");
for(q=rool;q<number-1;q++)
{
strcpy(cpt[q]player,cpt[q+1]player);
cpt[q]time=cpt[q+1]time;
cpt[q]times=cpt[q+1]times;
cpt[q]score=cpt[q+1]score;
}
number-=1;
writefile();
return;
}
else
{
printf("是否继续游戏,输入‘y’或‘Y’继续游戏\n");
scanf("%s",wether);
if(strcmp("y",wether)!=0 && strcmp("Y",wether)!=0)
{
printf("GAME STOP");
return;
}
else
{
loop1:
printf("请输入你对本局游戏的押金或输入'N'或‘n’查询积分排名\n");
loop5:
scanf("%s",a);
//
if(a[0]=='n'||a[0]=='N') //查寻排名
{
int i[5]={-1,-1,-1,-1,-1},j,k,d=0,e=0,line=-1;
for(k=1;k<=5;k++)
{
for(d=0;d<5;d++)
{
if(d!=i[0]&&d!=i[1]&&d!=i[2]&&d!=i[3]&&d!=i[4])break;
}
for(j=0;j<number;j++)
{
if(cpt[j]score>=cpt[d]score&&j!=i[0]&&j!=i[1]&&j!=i[2]&&j!=i[3]&&j!=i[4])d=j;
}
i[k-1]=d;
if(d==rool)
{
line=k;
}
printf("\n玩家:%10s,金币数:%4d,",cpt[d]player,cpt[d]score);
b(cpt[d]score);
}
if(line!=-1)
{
printf("\n\n您目前的积分为:%d,\n排名为:%d,\n",cpt[rool]score,line);
b(cpt[rool]score);
printf("\n\n");
}
else
{
printf("\n\n您目前的积分为:%d,\n没有进入前5名\n",cpt[rool]score);
b(cpt[rool]score);
printf("\n\n");
}
game();
}
//
else //玩游戏
{
int g=0,le=strlen(a);
for(;g<le;g++)
{
if(!(a[g]>='0'&&a[g]<='9'))
{
printf("你输入了游戏系统无法识别的字符,请重新输入:");
break;
}
}
if(g<le)
{
goto loop5;
}
int money=str_to_num(a);
if(money==0)
{
printf("押金不能为‘0’,请重新输入:");
goto loop5;
}
if(money<0)
{
printf("押金不能为负数,请重新输入:");
goto loop5;
}
printf("和您进行本轮游戏的是系统玩家player%d。\n",(cpt[rool]time-1)%5+1);
if(cpt[(cpt[rool]time-1)%5]score<5)
{
cpt[(cpt[rool]time-1)%5]score+=50;
printf("你的对手的金币小于5个,系统赠送你的对手50枚金币\n");
}
printf("您设定的押金为%d\n",money);
if(money>cpt[rool]score)
{
printf("抱歉,您的金币不足!请重新输入!\n");
goto loop1;
}
if(money>cpt[(cpt[rool]time-1)%5]score)
{
printf("抱歉,您的对手金币不足!请重新输入!\n");
goto loop1;
}
if(1>0)
{
printf("游戏开始,请出拳!(1表示石头,2表示剪刀,3表示布)");
scanf("%d",&o);
p=h();
switch(o)
{
case 1:
{
printf("玩家出拳:石头\n");
break;
}
case 2:
{
printf("玩家出拳:剪子\n");
break;
}
case 3:
{
printf("玩家出拳:布\n");
break;
}
}
switch(p)
{
case 1:
{
printf("系统出拳:石头\n");
break;
}
case 2:
{
printf("系统出拳:剪子\n");
break;
}
case 3:
{
printf("系统出拳:布\n");
break;
}
}
switch(o-p)
{
case 0 :
{
printf("平局!系统将不改变你的金币数量,你的余额为:%d\n",cpt[rool]score);
break;
}
case 1 :
case -2:
{
printf("你输了,系统将扣除你%d个金币,你的余额为:%d\n",money,cpt[rool]score-money);
cpt[rool]score-=money;
cpt[(cpt[rool]time-1)%5]score=cpt[(cpt[rool]time-1)%5]score+money;
break;
}
case -1:
case 2 :
{
printf("你赢了,系统将给予你%d个金币,你的余额为:%d\n",money,cpt[rool]score+money);
cpt[rool]score+=money;
cpt[(cpt[rool]time-1)%5]score=cpt[(cpt[rool]time-1)%5]score-money;
break;
}
}
cpt[rool]time+=1;
writefile();
}
game();
}
}
}
}
main() //主函数
{
srand( (unsigned)time(0) );
number=readfile();
rule();
rool=registe();
game();
}
#coding=utf8
import random
changes = ["", "石头", "剪子", "布"]
integral = 0
def show_changes():
message = "\n"
for index, value in enumerate(changes):
if index == 0:
continue
message += "{0} {1}"format(index, value)
if index != len(changes) - 1:
message += " "
return message
def compute_result(_me, _ra):
global integral
result = "错误"
result = "平局" if _me == _ra else result
result = "胜利" if _me == "1" and _ra == "2" or \
_me == "2" and _ra == "3" or \
_me == "3" and _ra == "1" else result
result = "失败" if _me == "1" and _ra == "3" or \
_me == "2" and _ra == "1" or \
_me == "3" and _ra == "2" else result
if result == "胜利":
integral += 1
if result == "失败":
integral -= 1
return result
def run_game():
while 1:
print show_changes()
_me = str(raw_input("请出拳:")strip())
_ra = str(randomrandint(1, len(changes) - 1))
res = compute_result(_me, _ra)
try:
changes[int(_me)]
except:
print "出拳错误!"
continue
print "你出<{0}> 对方出<{1}> 本次对战<{2}> 当前积分<{3}>"format(
changes[int(_me)],
changes[int(_ra)],
res,
integral
)
tp = raw_input("\n请选择是否退出(yes/no): ")strip()
if tp == "no":
continue
elif tp == "yes":
print "已退出 !"
else:
print "输入错误,已退出游戏!"
break
print "游戏开始"
while 1:
print ""
print "1 开始新游戏"
print "2 载入游戏"
print "3 退出"
print ""
change = raw_input("请选择:")strip()
if change == "1":
print "正在载入新游戏 "
integral = 0
run_game()
print "您当前的得分是:{0}"format(integral)
elif change == "2":
print "正在载入 "
run_game()
print "您当前的得分是:{0}"format(integral)
elif change == "3":
break
else:
print "输入错误 ! 请重新输入 !"
print "游戏结束"
这可是我自己手打的 要采纳呦
有什么问题可以追问 或许我也可以教教你写代码的思路
学会了思路 你就知道怎样自己写程序了
自己纯手打,老半天才弄出来啊
import javaawtBorderLayout;
import javaawtDimension;
import javaawtGridBagConstraints;
import javaawtGridBagLayout;
import javaawteventActionEvent;
import javautilRandom;
import javaxswingAbstractAction;
import javaxswingBox;
import javaxswingJButton;
import javaxswingJFrame;
import javaxswingJLabel;
import javaxswingJPanel;
import javaxswingJTextField;
public class Demo2 extends JFrame {
private JLabel lb1, lb2, lb3, lb4; // 提示标签
private JTextField ta1, ta2;// 两个文本框
private JButton b1, b2, b3; // 三个按钮
private JPanel p1, p2; // 两个JPanel面板
public Demo2() {
// 初始化所有组件
lb1 = new JLabel("欢迎使用人机猜拳程序");
lb2 = new JLabel("你出拳: ");
lb3 = new JLabel("电脑出拳:");
lb4 = new JLabel("结果");
ta1 = new JTextField();
ta1setPreferredSize(new Dimension(60, 60)); // 设置大小
ta1setEditable(false);//设置不可编辑
ta2 = new JTextField();
ta2setPreferredSize(new Dimension(60, 60));
ta2setEditable(false);//设置不可编辑
b1 = new JButton("剪刀");
b2 = new JButton("石头");
b3 = new JButton("布");
p1 = new JPanel();
p2 = new JPanel();
// 设置第一个面板内容
Box box = BoxcreateVerticalBox();
Box box1 = BoxcreateHorizontalBox();
box1add(lb2);
box1add(ta1);
box1add(lb3);
box1add(ta2);
boxadd(lb1);
boxadd(BoxcreateVerticalStrut(40));
boxadd(box1);
boxadd(BoxcreateVerticalStrut(10));
boxadd(lb4);
boxadd(new JLabel());
p1add(box);
// 设置第二个面板
p2setLayout(new GridBagLayout()); // 使用GridBagLayout布局管理器
p2setPreferredSize(new Dimension(0, 60));
GridBagConstraints g2 = new GridBagConstraints();
g2fill = GridBagConstraintsBOTH;
g2weightx = 10;
g2weighty = 10;
g2gridx = 0;
g2gridy = 0;
p2add(b1, g2);
g2gridx = 1;
p2add(b2, g2);
g2gridx = 2;
p2add(b3, g2);
//为3个按钮添加事件
b1addActionListener(new buttonAction());
b2addActionListener(new buttonAction());
b3addActionListener(new buttonAction());
thisgetContentPane()add(p1);
thisgetContentPane()add(p2, BorderLayoutSOUTH);
thissetTitle("机器人猜拳游戏");
thissetSize(300, 300);
thissetVisible(true);
thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
}
//事件类
class buttonAction extends AbstractAction{
@Override
public void actionPerformed(ActionEvent e) {
if(egetSource()==b1){
ta1setText("剪刀");
init(ta1getText());
}else if(egetSource()==b2){
ta1setText("石头");
init(ta1getText());
}else if(egetSource()==b3){
ta1setText("布");
init(ta1getText());
}
}
// 模拟电脑出拳,产生三个随机数。0代表剪刀,1代表石头,2代表布
public String getQuan(){
String str="";
int num=new Random()nextInt(3) ;
if(num==0){
str="剪刀";
}else if(num==1){
str="石头";
}else if(num==2){
str="布";
}
return str;
}
// 判断输赢方法
public String isying(String s1,String s2){
String s="";
if(s1equals(s2)){
s="平局";
}else if(s1equals("剪刀")&&s2equals("布")){
s="你赢";
}else if(s1equals("石头")&&s2equals("剪刀")){
s="你赢";
}else if(s1equals("布")&&s2equals("石头")){
s="你赢";
}else{
s="电脑赢";
}
return s;
}
public void init(String wo){
String sy=""; // 保存输赢结果
String dncq=getQuan(); //电脑出拳
if(woequals(dncq)){
sy="平局";
}else if(woequals("剪刀")&&dncqequals("布")){
sy="你赢";
}else if(woequals("石头")&&dncqequals("剪刀")){
sy="你赢";
}else if(woequals("布")&&dncqequals("石头")){
sy="你赢";
}else{
sy="电脑赢";
}
ta2setText(dncq);// 电脑出拳
lb4setText("结果:"+sy);
}
}
public static void main(String[] args) {
new Demo2();
}
}
是。
idle是一个用于编辑脚本,代码高亮且可以直接运行的文本编辑器。pythonshell是个运行程序,双击打开是一个命令行,可以直接输入代码,但是不能保存成脚本,可以看做是控制台。
package Demo;
import javautilRandom;
import javautilScanner;
public class Demo12 {
public static void main(String[] args) {
String[] str = { "石头", "剪刀", "布" };
Random ram = new Random();
int y, n, i;
while (true) {
Systemoutprintln("菜单:\n1、开始猜拳 \n9、退出");
Scanner scan = new Scanner(Systemin);
Systemoutprint("请选择:");
String s = scannextLine();
if ("1"equals(strim())) {
y = 0;
n = 0;
i = 0;
while (true) {
try {
Systemoutprintln("请出拳:1、石头 2、剪刀 3、布");
int s1 = IntegerparseInt(scannextLine());
if (s1 > 0 && s1 < 4) {
Systemoutprintln("你 出:" + str[s1 - 1]);
int s2 = ramnextInt(3);
Systemoutprintln("我 出:" + str[s2]);
if (s1 == (s2 + 1)) {
Systemoutprintln("这次是平局");
} else if ((s1 == 1 && s2 == 1)
|| (s1 == 2 && s2 == 2)
|| (s1 == 3 && s2 == 0)) {
Systemoutprintln("这次你赢了!");
y++;
} else if ((s1 == 1 && s2 == 2)
|| (s1 == 2 && s2 == 0)
|| (s1 == 3 && s2 == 1)) {
Systemoutprintln("这次你输了!");
n++;
}
if (i == 2) {
if (y > n) {
Systemoutprintln("你赢了 " + y + ":" + n);
} else if (y < n) {
Systemoutprintln("你输了 " + y + ":" + n);
} else {
Systemoutprintln("平局 " + y + ":" + n);
}
break;
}
i++;
} else {
Systemoutprintln("输入有误!");
}
} catch (Exception ex) {
Systemoutprintln("输入有误!");
}
}
} else if ("9"equals(strim())) {
Systemoutprintln("退出成功");
return;
} else {
Systemoutprintln("指令错误~");
}
}
}
}
菜单:
1、开始猜拳
9、退出
请选择:2
指令错误~
菜单:
1、开始猜拳
9、退出
请选择:1
请出拳:1、石头 2、剪刀 3、布
2
你 出:剪刀
我 出:布
这次你赢了!
请出拳:1、石头 2、剪刀 3、布
4
输入有误!
请出拳:1、石头 2、剪刀 3、布
3
你 出:布
我 出:布
这次是平局
请出拳:1、石头 2、剪刀 3、布
1
你 出:石头
我 出:石头
这次是平局
你赢了 1:0
菜单:
1、开始猜拳
9、退出
请选择:9
退出成功
大哥,刚刚看到你的就开始写了。各种功能都有,包括判断你输入的字符是否正确,假如不符合的字符就提示。不玩了就可以直接按0退出。
然后,只要是赢三次,输三次都自动退出,并输出你输赢,还可以自动共玩多少局,输赢局数统计!希望能帮到您。
/
猜拳游戏思路
1、定义输入函数
2、提示用户输入猜拳数值
3、定义随机一个数作为电脑数值
4、判断[用户输入数值]与 [电脑随机数值]
5、能够相等就是打平,不能相等就利用&&、||逻辑符判断输赢
6、设定数值1-石头 2-剪刀 3-布
/
import javautil;//嵌入Javautil包所有
public class Cq{
public static void main(String[] args){
int win=0;//赢的记录
int lose=0;//输的记录
int all=1;//计数总的局数
int a=1;//控制循环条件使用
Systemoutprintln("--------------猜拳游戏---------------");
Systemoutprintln("游戏规则:赢三次便赢,输三次便输。");
while(a>0){//假如a=0的话就不用继续玩
Scanner in=new Scanner(Systemin);//定义输入函数in,Scanner包功能,输入数值用的
Systemoutprintln("请输入一个数值:1、石头 2、剪刀 3、布 0、退出游戏");//提示输入数值
Systemoutprintln(" ");//空行
int x=innextInt();//让用户输入X的数值
Random on=new Random();//定义电脑的随机数值的函数on
int y=onnextInt(3)+1;//定义y随机函数数值范围(1--3)
if(x>=4){ //判断用户是否输入非1--3范围
Systemoutprintln("亲,请正确输入:1、石头 2、剪刀 3、布。你输入了:"+x);
}else if(x==0){
a=0;
Systemoutprintln("欢迎再次玩“猜拳游戏”!");
return;
}
else{
/下面是判断用户输入x的数值 嵌套if/
if(x==y){
if(x==1){ //判断打平的情况
Systemoutprintln("你:石头------电脑:石头 PK:平手"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}
else if(x==2){
Systemoutprintln("你:剪刀------电脑:剪刀 PK:平手"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}else {
Systemoutprintln("你:布------电脑:布 PK:平手"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}
/ 打平手的判断END/
}else if(x==1&&y==2||x==2&&y==3||x==3&&y==1){ //开始判断赢的情况
if(x==1&&y==2){
win++;//win1
Systemoutprintln("[你]:石头---VS---[电脑]:剪刀 PK:赢了!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}else if(x==2&&y==3){
win++;//win2
Systemoutprintln("[你]:剪刀---VS---[电脑]:布 PK:赢了!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}else {
win++;//win3
Systemoutprintln("[你]:布---VS---[电脑]:石头 PK:赢了!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}
//判断赢的情况END
}else {//开始判断输的情况
if(x==1&&y==3){
lose++;
Systemoutprintln("[你]:石头---VS---[电脑]:布 PK:输了!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}else if(x==2&&y==1){
lose++;
Systemoutprintln("[你]:剪刀---VS---[电脑]:石头 PK:输了!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}else {
lose++;
Systemoutprintln("[你]:布---VS---[电脑]:剪刀 PK:输了!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}
}//判断输的情况END
if(win==3){
Systemoutprintln("");
Systemoutprintln("");
Systemoutprintln("游戏结束:恭喜您!你已经赢了[电脑]三局!!!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
a=1;
return;
}else if (lose==3) {
a=1;
Systemoutprintln("");
Systemoutprintln("");
Systemoutprintln("游戏结束:很遗憾,电脑赢了你三盘!继续加油!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
return;
}
else{continue;}
}//判断是否输入数值1-3范围,如果不是1-3会提醒重新输入 END
}//while
}
}
以上就是关于用C语言编写三局两胜的猜拳游戏,怎么编写全部的内容,包括:用C语言编写三局两胜的猜拳游戏,怎么编写、怎样用C语言编写一个猜拳游戏、求助,用python编写一个猜拳游戏程序,要求有这样的开头等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)