石头剪刀布游戏


简介

石头剪刀布 (猜拳游戏)

定义

剪刀、石头、布又称“猜丁壳”,古老而简单,这个游戏的主要目的是为了解决争议,因为三者相互制约,因此不论平局几次,总会有胜负的时候。
游戏规则中,石头克剪刀,剪刀克布,布克石头。

视频

动物世界:一场玩命的石头剪刀布,看似简单,可赢了有上百万奖金

使用spyder编写程序

1代程序

现阶段只能玩一次

源代码

# -*- coding: utf-8 -*-
"""
Created on Thu Nov 18 17:01:22 2021

@author: LZY
"""

import random


    
x=random.randint(1,3) #随机产生数字1,2,3
print()
print('石头用数字1表示\n剪刀用数字2表示\n布用数字3表示\n')

a=int(input('输入你决策:'))

#您的选择          
if a==1:
    print('你的选择是石头。')
elif a==2:
    print('你的选择是剪刀。')
else:
    print('你的选择是布。')
        
#机器的选择  
if x==1:
    print('机器的选择是石头。')
elif x==2:
    print('机器的选择是剪刀。')
else:
    print('机器的选择是布。')
               
#输出的结果    
if a==x:
    print('太可惜了,是平局~')
elif a-x==1:
    print('抱歉,您输了…')
elif a-x==-2:
    print('抱歉,您输了…')
elif a-x==2:
    print('恭喜,您赢了~')
elif a-x==-1:
    print('恭喜,您赢了~')

运行结果

在这里插入图片描述

2代程序

现阶段可以试玩三次了。

源代码

# -*- coding: utf-8 -*-
"""
Created on Thu Nov 18 17:01:22 2021

@author: LZY
"""

import random

print('石头用数字1表示-\n剪刀用数字2表示-\n布用数字3表示-\n')
for i in range(3):#试玩三局
    x=random.randint(1,3) #随机产生数字1,2,3
    while True:
        a=int(input('输入你决策:'))
        if a==1 or a==2 or a==3:
            break
        else:
            print('请输入指定的数字')
    
    #您的选择          
    if a==1:
        print('你的选择是石头。')
    elif a==2:
        print('你的选择是剪刀。')
    else:
        print('你的选择是布。')
                
        #机器的选择  
    if x==1:
        print('机器的选择是石头。')
    elif x==2:
        print('机器的选择是剪刀。')
    else:
        print('机器的选择是布。')
                       
        #输出的结果    
    if a==x:
        print('太可惜了,是平局~')
    elif a-x==1:
        print('抱歉,您输了…')
    elif a-x==-2:
        print('抱歉,您输了…')
    elif a-x==2:
        print('恭喜,您赢了~')
    else:
        print('恭喜,您赢了~')

运行结果

在这里插入图片描述

3代程序

现阶段由用户选择可以玩多少次,以三次为一个选择提醒用户,是否继续玩,实现可退出,可继续的功能。

源代码

# -*- coding: utf-8 -*-
"""
Created on Thu Nov 18 17:01:22 2021

@author: LZY
"""

import random

print('石头用数字1表示-\n剪刀用数字2表示-\n布用数字3表示-\n')
while True:
    
    for i in range(3):#试玩三局
        x=random.randint(1,3) #随机产生数字1,2,3
        while True:
            a=int(input('输入你决策:'))
            if a==1 or a==2 or a==3:
                break
            else:
                print('请输入指定的数字')
        
        #您的选择          
        if a==1:
            print('你的选择是石头。')
        elif a==2:
            print('你的选择是剪刀。')
        else:
            print('你的选择是布。')
                    
            #机器的选择  
        if x==1:
            print('机器的选择是石头。')
        elif x==2:
            print('机器的选择是剪刀。')
        else:
            print('机器的选择是布。')
                           
            #输出的结果    
        if a==x:
            print('太可惜了,是平局~')
        elif a-x==1:
            print('抱歉,您输了…')
        elif a-x==-2:
            print('抱歉,您输了…')
        elif a-x==2:
            print('恭喜,您赢了~')
        else:
            print('恭喜,您赢了~')
            
    xz=input('你想继续玩吗?(yes/no):')
    if xz=='no':
        break
print('感谢来玩,欢迎下次再来~')        

运行结果

在这里插入图片描述

河北工业大学计算机软件技术基础(VC) 课程设计任务书 题目:人机对战——石头剪刀 目的与要求 目的 通过编写该程序,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计,并对Windows平台下的控制台进行深入的了解。 基本要求 要求用C++语言编程,在Visual C++环境下调试完成; 要求划分功能模块,各个功能分别使用函数来完成; 源代码程序要求必要的注释。 设计方法和基本原理 课题功能描述 编写一个人机进行石头剪刀的小游戏。要求能够进行完一轮猜拳后,显示统计信息。每一轮游戏的过程是首先由玩家选择要出的拳,然后计算机选择出拳,输出本轮游戏的胜负情况,然后输出统计信息(玩家胜利次数、计算机胜利次数和平局次数),然后每轮猜拳结束后,询问玩家是否要继续游戏游戏界面如下: 主要技术问题的描述 随机函数 随机函数名为rand(),使用时必须包含头文件stdlib.h。 创新要求 在基本要求达到后,进行创新设计: 程序要保证计算机的胜利次数至少是玩家胜利次数的1.5倍。 课程设计的考核方式及评分方法 考核方式 (1) 学生要提交书面课程设计报告(A4纸打印);并将设计报告的电子文档、.cpp源文件和.h头文件放到一个文件夹里上传到所对应班级的学生名称相应文件夹中。 (2) 课程设计结束时,在机房当场验收。教师提供测试数据,由学生运行所设计的系统,检查运行结果是否正确,并回答教师提出的有关问题。 评分方法 根据出勤率、课程设计期间纪律、课程设计运行结果、课程设计报告及答辩情况综合评分。 书写设计报告的要求(详细内容见“设计报告模板”) 课程设计的有关文档“设计报告模板”和“课程设计要求”请在下载任务书处下载。    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁辰兴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值