当前位置: 首页 > news >正文

用c语言写一个剪刀石头布小游戏

用简单的生成随机数,来对电脑进行的选择。再用if else和swtich语句实现输出和输赢的判断

test.c:

#define _CRT_SECURE_NO_WARNINGS#include "game.h"void menu() {printf("There can be choose for you,type:\n");printf("0 for rock\n");printf("1 for paper\n");printf("2 for scissors\n");
}
int main() {menu();srand((unsigned int)time(NULL));// 设置随机种子int computer_chiose = rand() % 3;// 生成0到2之间的随机数int input = 0;printf("Please enter tour chiose:\n");scanf("%d", &input);game(input, computer_chiose);return 0;
}

game.h:

#pragma once#include <stdio.h>
#include <stdlib.h>
#include <time.h>enum ch {ROCK,PAPER,SCISSORS
};
//石头
void rock();
//剪刀
void scissors();
//布
void paper();//游戏实现
void game(int user_chiose,int computer_chiose);

game.c:

#define _CRT_SECURE_NO_WARNINGS#include "game.h"void rock() {printf("         ******#**            \n ");printf("        ******#*******            \n ");printf("   ************#*******           \n ");printf("   ***********#*******           \n ");printf("        ******#*****           \n ");}
void scissors() {printf("         **********#*    *****      \n ");printf("        *****************            \n ");printf("   ****************#************           \n ");printf("   **************#*****          \n ");printf("        ********#****            \n ");}
void paper() {printf("         ***********            \n ");printf("        ******************            \n ");printf("   **************************           \n ");printf("   ************************          \n ");printf("        ****************            \n ");
}static void Jugde(int a, int b) {if (a == 0) {if (b == 0) {printf("Draw\n");}else if(b==1) {printf("You lose\n");}else {printf("You win\n");}}if (a == 1) {if (b == 1) {printf("Draw\n");}else if (b == 2) {printf("You lose\n");}else {printf("You win\n");}}if (a == 2) {if (b == 2) {printf("Draw\n");}else if (b == 0) {printf("You lose\n");}else {printf("You win\n");}}
}void game(int user_chiose, int computer_chiose){printf("Your choise:\n");switch (user_chiose) {case ROCK:rock();break;case PAPER:paper();break;case SCISSORS:scissors();break;default:printf("input error\n");break;}printf("\nComputer choise:\n\n");switch (computer_chiose) {case ROCK:rock();break;case PAPER:paper();break;case SCISSORS:scissors();break;}Jugde(user_chiose,computer_chiose);
}

http://www.lryc.cn/news/190398.html

相关文章:

  • 【MySQL入门到精通-黑马程序员】MySQL基础篇-DCL
  • SpringBoot配置文件加载顺序
  • github小记(一):清除github在add或者commit之后缓存区
  • 【Debian系统】:安装debian系统之后,很多命令找不到,需要添加sudo之后才能使用,以下解决方法
  • 深入了解归并排序:原理、性能分析与 Java 实现
  • docker stop了一个docker exec容器,要怎么再启动呢
  • 【总结】kubernates 插件工具总结
  • RK3588平台产测之ArmSoM-W3 DDR带宽监控
  • 基于SpringBoot的作业管理系统设计与实现
  • TailwindCss Functions Directives
  • MDK自动生成带校验带SVN版本号的升级文件
  • 如何打造一个网络框架模块对接服务器
  • 装饰器模式和 AOP 面向切片编程(设计模式与开发实践 P15)
  • Git迁移新仓库并保存历史提交记录
  • MySql逗号分割的字段数据分解为多行
  • 共生与共享:线程与进程的关系
  • uniapp app或微信小程序项目使用gite仓库中的图片
  • KUKA机器人如何强制输出或取消数字IO信号?
  • 利用正则表达式进行数据采集和处理
  • javaScript:拖拽效果
  • 【Unity3D编辑器开发】Unity3D中制作一个可以随时查看键盘对应KeyCode值面板,方便开发
  • VUE echarts 柱状图、折线图 双Y轴 显示
  • Django开发之基础篇
  • 在 centos7 上安装Docker
  • 基于SpringBoot的大学城水电管理系统
  • 微信小程序 movable-view 控制长按才触发拖动 轻轻滑动页面正常滚动效果
  • mysql面试题27:数据库中间件了解过吗?什么是sharding jdbc、mycat,并且讲讲怎么使用?
  • DBCO Sata650,二苯并环辛烷Sata650,Seta-650-DBCO
  • JFLASH基本使用总结
  • 具身智能(Embodied AI)