怎么用c++来写人机猜拳小游戏程序?包括三个类,电脑类,person类,判断输赢。注意不是java

怎么用c++来写人机猜拳小游戏程序?包括三个类,电脑类,person类,判断输赢。注意不是java,第1张

#include <iostream>

#include <string>

#include <ctime>

using namespace std

class computer //电脑类

{

public:

int a

    computer()  //构造函数

{

}

    void inni1()  //出拳

{

srand(time(0))

a = rand()%3

}

void display1()  //输出出拳

{

if(a==0)

cout<<"电脑:石头\n"

else if(a==1)

cout<<"电脑:剪刀\n"

else

cout<<"电脑:布\n"

}

}

class person  //人类

{

public:

int b

    person()  //构造函数

{

}

    void inni2()  //出拳

{

cout<<"请输入0、1或者2\n"

<<"0表示:石头\t1表示:剪刀\t2表示:布\n"

cin>>b

}

void display2()  //输出出拳

{

if(b==0)

cout<<"你:石头\n"

else if(b==1)

cout<<"你:剪刀\n"

else

cout<<"你:布\n"

}

}

class evaluate:public computer,public person  //判断输赢类

{

public:

void pan_duan()

{

switch(a)

{

case 0:

if(b==0)

cout<<"平局\n"

else if(b==1)

cout<<"你输了!!\n"

else

cout<<"你赢了!!\n"

break

case 1:

if(b==1)

cout<<"平局\n"

else if(b==2)

cout<<"你输了!!\n"

else

cout<<"你赢了!!\n"

break

case 2:

if(b==2)

cout<<"平局\n"

else if(b==0)

cout<<"你输了!!\n"

else

cout<<"你赢了!!\n"

break

}

}

}

int main()

{

evaluate eva    //定义结果判断对象

    eva.inni2()     //人类出拳

eva.display2()  //输出人的出拳

eva.inni1()     //电脑出拳

eva.display1()  //输出电脑的出拳

eva.pan_duan() //输出判断结果

//system("pause")

return 0

}

我之前写了个猜拳游戏的源代码,不过没你想的这么精彩。你才给5分就给你你自己修改了,应该很简单的。要多给点分我可以帮你修改。

import java.util.Scanner

import java.util.Random

public class caiquan

{

final int jiandao=0

final int shitou=1

final int bu=2

public static void main(String[] args)

{

String yn=y

while (yn.equals(y))

{

Scanner scanner = new Scanner(System.in)

System.out.println(欢迎玩猜拳游戏。请输入0,1,2:0表示剪刀,1表示石头,2表示布)

int a = scanner.nextInt()

Random rd = new Random()

int b = rd.nextInt(3)

switch (b)

{

case 0:

{

System.out.println(系统出的是剪刀)

switch(a)

{

case 0:System.out.println(平)break

case 1:System.out.println(赢)break

case 2:System.out.println(输)break

}

}

break

case 1:

{

System.out.println(系统出的是石头)

switch(a)

{

case 0:System.out.println(输)break

case 1:System.out.println(平)break

case 2:System.out.println(赢)break

}

}

break

case 2:

{

System.out.println(系统出的是布)

switch(a)

{

case 0:System.out.println(赢)break

case 1:System.out.println(输)break

case 2:System.out.println(平)break

}

}

}

Scanner ynn = new Scanner(System.in)

System.out.println(是否继续?是请输入y,否则输入n。)

yn=ynn.next()

}

}

}

package Demo

import java.util.Random

import java.util.Scanner

public class Demo12 {

public static void main(String[] args) {

String[] str = { "石头", "剪刀", "布" }

Random ram = new Random()

int y, n, i

while (true) {

System.out.println("菜单:\n1、开始猜拳  \n9、退出")

Scanner scan = new Scanner(System.in)

System.out.print("请选择:")

String s = scan.nextLine()

if ("1".equals(s.trim())) {

y = 0

n = 0

i = 0

while (true) {

try {

System.out.println("请出拳:1、石头  2、剪刀  3、布")

int s1 = Integer.parseInt(scan.nextLine())

if (s1 > 0 && s1 < 4) {

System.out.println("你  出:" + str[s1 - 1])

int s2 = ram.nextInt(3)

System.out.println("我  出:" + str[s2])

if (s1 == (s2 + 1)) {

System.out.println("这次是平局")

} else if ((s1 == 1 && s2 == 1)

|| (s1 == 2 && s2 == 2)

|| (s1 == 3 && s2 == 0)) {

System.out.println("这次你赢了!")

y++

} else if ((s1 == 1 && s2 == 2)

|| (s1 == 2 && s2 == 0)

|| (s1 == 3 && s2 == 1)) {

System.out.println("这次你输了!")

n++

}

if (i == 2) {

if (y > n) {

System.out.println("你赢了  " + y + ":" + n)

} else if (y < n) {

System.out.println("你输了  " + y + ":" + n)

} else {

System.out.println("平局  " + y + ":" + n)

}

break

}

i++

} else {

System.out.println("输入有误!")

}

} catch (Exception ex) {

System.out.println("输入有误!")

}

}

} else if ("9".equals(s.trim())) {

System.out.println("退出成功")

return

} else {

System.out.println("指令错误~")

}

}

}

}

菜单:

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

退出成功


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11953375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存