游戏-求大神~帮忙改一下。把这串代码改成函数的方式(问题是:用C语言函数制作石头剪刀布)

问题描述

求大神~帮忙改一下。把这串代码改成函数的方式(问题是:用C语言函数制作石头剪刀布)

#include
#include
#include
#include
void printMenu(void)
{
printf("tt -------------------------------------------n");
printf("tt| 石头剪刀布游戏 |n");
printf("tt| ---------------------------- |n");
printf("tt| |n");
printf("tt| 说明: |n");
printf("tt| 此小游戏是用C语言实现的结构化程序 |n");
printf("tt| 设计,能够实现用户和电脑相互对玩的 |n");
printf("tt| 过程,其中用户的出拳在下面有说明 |n");
printf("tt| |n");
printf("tt| 用户操作: |n");
printf("tt| |n");
printf("tt| 1-石头 2-剪刀 3-布 4-退出 |n");
printf("tt -------------------------------------------nnn");

}
int main(void)
{
char ch,Computer;
int win=0,lose=0,he=0; //分别统计赢、输、平手的次数
srand(time(NULL));//用系统时间来初始化随机数发生器
printMenu();
while(1)
{
printf("tt您的选择(1、2、3):");
while(1)
{
ch = getch();
if(ch=='1'||ch=='2'||ch=='3'||ch=='4')
{ //这里对输入做了限制,只能输入1到4之间的整数
printf("%ct",ch);
break;
}
}
if(ch=='4') //如果按了4,则退出游戏。
break;
switch(ch)
{ //显示玩家选择的手型
case '1': printf("石头 VS ");
break;
case '2': printf("剪刀 VS ");
break;
case '3': printf("布 VS ");
break;
}
Computer = rand()%3+1+48;
//电脑随机产生1到3之间的整数,后面加上48的目的是将整数转换成字符
switch(Computer)
{
//显示电脑随机产生的手型
case '1':
printf("石头");
break;
case '2':
printf("剪刀");
break;
case '3':
printf("布");
break;
}
switch(ch-Computer)
{

 //这里是比较输赢,通过计算0表示平手,-1和2表示胜利,1和-2表示输了。
           case 0:
     printf("t平手!n");
  he++; break;
           case -1: case 2:
  printf("t你赢了!n");
  win++;
   break;
           case 1: case -2:
  printf("t你输了!n");
  lose++;
  break;
      }
 }
 //如果游戏退出,则打印统计的结果

printf("nnn");
printf("tt -------------------TOTAL-------------------n");
printf("tt| 您一共玩了%d次 |n",win+lose+he);
printf("tt ---------------------|-------------------- n");
printf("tt| 胜利 | %d 次 |n",win);
printf("tt ---------------------|-------------------- n");
printf("tt| 失败 | %d 次 |n",lose);
printf("tt ---------------------|-------------------- n");
printf("tt| 平手 | %d 次 |n",he);
printf("tt ---------------------|-------------------- n");
return 0;
}

解决方案

#include
#include
#include
#include
void myfunc();
void printMenu(void)
{
printf("tt -------------------------------------------n");
printf("tt| 石头剪刀布游戏 |n");
printf("tt| ---------------------------- |n");
printf("tt| |n");
printf("tt| 说明: |n");
printf("tt| 此小游戏是用C语言实现的结构化程序 |n");
printf("tt| 设计,能够实现用户和电脑相互对玩的 |n");
printf("tt| 过程,其中用户的出拳在下面有说明 |n");
printf("tt| |n");
printf("tt| 用户操作: |n");
printf("tt| |n");
printf("tt| 1-石头 2-剪刀 3-布 4-退出 |n");
printf("tt -------------------------------------------nnn");
}
int main(void)
{
myfunc();
return 0;
}

void myfunc()
{
char ch,Computer;
int win=0,lose=0,he=0; //分别统计赢、输、平手的次数
srand(time(NULL));//用系统时间来初始化随机数发生器
printMenu();
while(1)
{
printf("tt您的选择(1、2、3):");
while(1)
{
ch = getch();
if(ch=='1'||ch=='2'||ch=='3'||ch=='4')
{ //这里对输入做了限制,只能输入1到4之间的整数
printf("%ct",ch);
break;
}
}
if(ch=='4') //如果按了4,则退出游戏。
break;
switch(ch)
{ //显示玩家选择的手型
case '1': printf("石头 VS ");
break;
case '2': printf("剪刀 VS ");
break;
case '3': printf("布 VS ");
break;
}
Computer = rand()%3+1+48;
//电脑随机产生1到3之间的整数,后面加上48的目的是将整数转换成字符
switch(Computer)
{
//显示电脑随机产生的手型
case '1':
printf("石头");
break;
case '2':
printf("剪刀");
break;
case '3':
printf("布");
break;
}
switch(ch-Computer)
{
//这里是比较输赢,通过计算0表示平手,-1和2表示胜利,1和-2表示输了。
case 0:
printf("t平手!n");
he++; break;
case -1: case 2:
printf("t你赢了!n");
win++;
break;
case 1: case -2:
printf("t你输了!n");
lose++;
break;
}
}
//如果游戏退出,则打印统计的结果
printf("nnn");
printf("tt -------------------TOTAL-------------------n");
printf("tt| 您一共玩了%d次 |n",win+lose+he);
printf("tt ---------------------|-------------------- n");
printf("tt| 胜利 | %d 次 |n",win);
printf("tt ---------------------|-------------------- n");
printf("tt| 失败 | %d 次 |n",lose);
printf("tt ---------------------|-------------------- n");
printf("tt| 平手 | %d 次 |n",he);
printf("tt ---------------------|-------------------- n");
}

解决方案二:

把代码拿出来放到一个方法里就行了嘛

时间: 2024-10-29 17:52:33

游戏-求大神~帮忙改一下。把这串代码改成函数的方式(问题是:用C语言函数制作石头剪刀布)的相关文章

求大神帮忙把下列两种方法代码填补上

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading;namespace任务调度算法{classProgram{staticvoidMain(string[]args){Renwurw=newRenwu();rw.main();Thread.Sleep(20000);}}publicclassRenwu{publicenumstate{rea

跪求 大神帮忙用C#写一段代码啊

问题描述 是个抽奖小软件一等奖10%的几率二等奖20%三等奖30%空奖40%怎么写啊跪求啊~ 解决方案 解决方案二:加入你有100人,里面放10个一等的标记,20个二等的标记,以此类推,把他们混到一起,这样用random在其中取就是了解决方案三:思路:int数组里面放10个数字(随便放),其中数字1代表一等奖,放一个进去,数字2代表了2等奖,放2个进去,数字3代表了3等奖,放3个进去,数字4代表了空奖,放4个进去,正好放满.然后用Random进行随机数获取,范围是0~9,代表了int数组的索引,

服务访问接口验证,怎么将验证密钥放置于Authorization标头,求大神帮忙

问题描述 服务访问接口验证,怎么将验证密钥放置于Authorization标头,求大神帮忙 有请求地址,和验证密钥,就是验证方式不知道怎么操作将验证密钥放置于Authorization标头 .请求方式是GET.求大神呀,公司技术全解决不了... 解决方案 你没说什么语言,以及你在做客户端还是服务器端,自己按照http基本验证这个关键字google下. 比如http://blog.163.com/nice_2012/blog/static/19266614820132245395161/

client发的请求接收返回信息时用send来接收,其余的由receive来接收,怎么改?求大神帮忙

问题描述 client发的请求接收返回信息时用send来接收,其余的由receive来接收,怎么改?求大神帮忙 sever的请求都友client的receive来接收,client发的请求接收返回信息时用send来接收,怎么改下?求大神帮忙,我只会大概写了下代码,菜鸟急需用! package test; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; impo

编程-跪求大神帮忙看下代码,错了不晓得怎么改哦

问题描述 跪求大神帮忙看下代码,错了不晓得怎么改哦 switch (uMsg) { case WM_CHAR: char szChar[20]; sprintf(_T(szChar),_T( "char code is %d"), wParam); 错误 1 error C2065: "LszChar": 未声明的标识符 IntelliSense: "const wchar_t *" 类型的实参与 "const char *"

急!求大神帮忙!!!android棋类游戏!

问题描述 急!求大神帮忙!!!android棋类游戏! 求个android版斗兽棋的源码参考学习一下,有蓝牙联机功能最好了..或者军旗源码也行,有暗棋的游戏方式!大神们~~ 解决方案 国际象棋https://github.com/jcarolus/android-chess 中国象棋https://github.com/zhijie/ChineseChess4Android 解决方案二: 楼主,课程设计要自己完成呀!给自己的大学一个好的交代

c++ opencv 分裂合并-求大神帮忙把代码改成调用opencv库的,谢谢。

问题描述 求大神帮忙把代码改成调用opencv库的,谢谢. include using namespace std; #include //需要使用堆栈,对堆栈进行操作 #include "conio.h" include "viLib.h" // 包含头文件 pragma comment( lib, "viLib.lib" ) // 包含viLib.lib库 include "viImage.h" // 包含头文件 prag

mfc-MFC 棋牌游戏 执行文件说是被病毒感染,求大神帮忙

问题描述 MFC 棋牌游戏 执行文件说是被病毒感染,求大神帮忙 解决方案 程序是你写的么?有源代码么?这个提示说明程序中有判断自身文件是否被修改的逻辑. 解决方案二: 代码中是不是有一些可疑操作.

测试-菜鸟跪求大神帮忙!!!猜数游戏

问题描述 菜鸟跪求大神帮忙!!!猜数游戏 我编的程序字符测试显示乱码,我实在不知道问题在哪....希望大神们帮帮忙!!在线等,急//游戏界面菜单 //1 显示界面 System.out.println(""请输入一个数""); while(true){ System.out.println(""1 开始猜数""); System.out.println(""2 游戏参数设置""); Sy