石头剪刀布C
初一 记叙文 3375字 69人浏览 小贝贝lovely

石头剪刀布(C++)

#include <stdio.h>

#include <iostream>

#include <time.h>

using namespace std;

#define MAX 3

int main()

{

unsigned int n=0,m=0;

for(int i=0;i<100;++i)

{

srand( (unsigned)time( NULL ) );

cout<<"请输入:"<<endl<<" 1: 石头 2: 剪刀 3: 布"<<endl<<endl;

cin>>n;

cout<<"你输入的是"<<endl<<endl;

switch(n)

{

case 1: cout<<"石头"<<endl;break;

case 2 :cout<<"剪刀"<<endl;break;

case 3: cout<<"布"<<endl;break;

default : cout<<"请输入(1~3)"<<endl;break;

}

cout<<endl<<"电脑的结果是"<<endl<<endl; m=rand()%MAX+1;

/* switch(m)

{

case 1: cout<<"石头"<<endl<<endl;break; case 2: cout<<"剪刀"<<endl<<endl;break; case 3: cout<<"布"<<endl<<endl;break;

default: cout <<"错误"<<endl;

}

//利用结果

int a[3][3]={{0,1,-1},{-1,0,1},{1,-1,0}};

switch(a[n-1][m-1])

{

case 1:cout<< "你赢了"<<endl;break;

case -1:cout<<"你输了"<<endl;break;

case 0:cout<<"平局"<<endl;break;

}

*/

int k=0;

switch(m)

{

case 3: cout<<"石头"<<endl<<endl;break; case 1: cout<<"剪刀"<<endl<<endl;break; case 2: cout<<"布"<<endl<<endl;break; default: cout <<"错误"<<endl;

}

n=-(n-1);

m=-(m-1);

if(m==n) cout<<"你赢了"<<endl;

if(n<m)

{

k=(n)^(~m);

if(k==0)

cout<<"你失败了"<<endl;

else

cout<<"平局"<<endl;

}

if(n>m)

{

k=(~n)^m;

if(k==0)

cout<<"平局"<<endl;

else

cout<<"你失败了"<<endl;

}

}

/*

if(n-m==-2||n-m==1)

cout<<"这局电脑胜利了!!"<<endl<<endl; else

if(n-m==-1||n-m==2)

cout<<"这局你胜利了!!"<<endl<<endl; else

if(n==m)

cout<<"这局平局!!"<<endl<<endl; }

*/

system("pause");

return 0;

}

#include <iostream>

#include <string>

using namespace std;

char game(char m,char n)

{

int x;

if(m=="P" || m=="p") //甲出布的情况 {

switch (n)

{ case 'P':

case 'p':

x=0; // 甲出布乙出布,平局

break;

case 'R':

case 'r':

x=1; // 甲出布乙出石,甲胜

break;

case 's':

case 'S':

x=2; // 甲出布乙出剪,乙胜

break;

default :

cout << "乙输入错误,请重新输入:\n" ; break;

}

}

if(m=="R" || m=="r") //甲出石的情况 {

switch (n)

{ case 'P':

case 'p':

x=2; // 甲出石乙出布,乙胜

break;

case 'R':

case 'r':

x=0; // 甲出石乙出石,平局

break;

case 's':

case 'S':

x=1; // 甲出石乙出剪,甲胜

break;

default :

cout << "乙输入错误,请重新输入:\n" ; break;

}

}

if(m=="R" || m=="r") //甲出剪的情况 {

switch (n)

{ case 'P':

case 'p':

x=1; // 甲出剪刀乙出布,甲胜

break;

case 'R':

case 'r':

x=2; // 甲出剪乙出石,乙胜

break;

case 's':

case 'S':

x=0; // 甲出石乙出剪,平局

break;

default :

cout << "乙输入错误,请重新输入:\n" ; break;

}

}

switch (x)

{

case 0 : cout << "平局" ;

case 1 : cout << "甲胜" ;

case 2 : cout << "乙胜" ;

}

}

int main()

{

int x;

char m;

char n;

cout << "请输入在游戏中甲出的情况:\n"; cin >> m ;

cout << "请输入在游戏中乙出的情况:\n"; cin >> n ;

game(m,n);

return 0;

}