加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

C语言实现石头剪刀布的结构化程序设计小游戏

(2011-07-02 22:42:22)
标签:

石头剪刀布

平手

结构化程序

c语言

整数

郭小强

兰州商学院

兰州

夜了旋

it

分类: 3G-嵌入式

  以下是用C语言实现的结构化程序的小游戏:石头剪刀布,其中1代表石头  2代表剪刀  3代表布  4代表退出

中间用到了系统的随机函数。

http://s2/middle/7286606bxa7173d417e71&690


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>

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

int main(void)
{
     char ch,Computer;
     int win=0,lose=0,he=0; //分别统计赢、输、平手的次数
     srand(time(NULL));//用系统时间来初始化随机数发生器
     printMenu();
     while(1)
     {
          printf("\t\t您的选择(1、2、3):");
          while(1)
          {
               ch = getch();
               if(ch=='1'||ch=='2'||ch=='3'||ch=='4')
               { //这里对输入做了限制,只能输入1到4之间的整数
                    printf("%c\t",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("\n\n\n");
  printf("\t\t -------------------TOTAL-------------------\n");
  printf("\t\t|                 您一共玩了%d次            |\n",win+lose+he);
  printf("\t\t ---------------------|-------------------- \n");
  printf("\t\t|        胜利                %d 次       |\n",win);
  printf("\t\t ---------------------|-------------------- \n");
  printf("\t\t|        失败                %d 次       |\n",lose);
  printf("\t\t ---------------------|-------------------- \n");
  printf("\t\t|        平手                %d 次       |\n",he);
  printf("\t\t ---------------------|-------------------- \n");
     return 0;
}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有