毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

C语言课程设计-猜拳游戏

更新时间:2007-10-22:  来源:毕业论文
C语言课程设计-猜拳游戏|c语言程序代码编程小程序设计|c语言课程设计报告课程案例

enum p_r_s{
   paper,rock,scissors,game,help,instructions,quit
};
#include <stdio.h>
main()
{
  enum p_r_s  player,machine;
  enum p_r_s  selection_by_player(),selection_by_machine();
  int       win,lose,tie;
  win=lose=tie=0;
  instructions_for_the_player();
  while((player=selection_by_player())!=quit)
   switch(player){
   case paper:
   case rock:
   case scissors:
      machine=selection_by_machine();
      if(player==machine){
        ++tie;
        printf("\n  a tie");
      }
      else if(you_won(player,machine)){
        ++win;
        printf("\n  you won");
      }
      else{
        ++lose;
        printf("\n  i won");
      }
      break;
   case game:
      game_status(win,lose,tie);
      break;
   case instructions:
      instructions_for_the_player();
      break;
   case help:
      help_for_the_player();
      break;
   }
  game_status(win,lose,tie);
  printf("\n\nBYE\n\n");
}
  instructions_for_the_player()
  {
     printf("\n%s\n\n%s\n\n%s\n%s\n%s\n\n%s\n%s\n%s\n\n%s\n%s\n%s",
      "PAPER,ROCK,SCISSORS",
      "In this game",
      "p  is for paper,",
      "r  is for rock,",
      "s  is for scissors.",
      "Both the player and the machine will choose one",
      "of p,r,or s.   If the two choices are the same,",
      "then the game is a tie.  Otherwise:",
      "\"paper covers the rock\"   (a win for paper),",
      "\"rock breaks the scissors\"  (a win for rock),",
      "\"scissors cut the paper\"  (a win for scissors).");
     printf("\n\n%s\n\n%s\n%s\n%s\n%s\n\n%s\n\n%s",
      "There are other allowable inputs:",
      "g  for game status    (the number of wins so far),",
      "h  for help,",
      "i  for instructions   (reprin these instructions),",
      "q  for quit       (to quit the game).",
      "This game is played repeatedly until q is entered.",
      "Good luck!");
  }
  enum p_r_s selection_by_player()
  {
  char      c;
  enum p_r_s    player;
  printf("\n\ninput p,r,or s:");
  while((c=getchar())==''||c=='\n'||c=='t');
     ;
  switch(c){
  case 'p':
     player=paper;
     break;
  case 'r':
     player=rock;
     break;
  case 's':
     player=scissors;
     break;
  case 'g':
     player=game;
     break;
  case 'i':
     player=instructions;
     break;
  case 'q':
     player=quit;
     break;
  default:
     player=help;
  }
  return(player);
  }
  enum p_r_s selection_by_machine()
  {
   static int   i;
   i=++i%3;
   return((i==0)? paper:((i==1)? rock:scissors));
  }
  you_won(player,machine)
  enum p_r_s  player,machine;
  {
  int  victory;

  if(player==paper)
     victory=machine==rock;
  else if(player==rock)
     victory=machine==scissors;
  else/*player==scissors*/
     victory=machine==paper;
  return(victory);
  }
  game_status(win,lose,tie)
  {
  printf("\nGAME STATUS");
  printf("\n\n%7d%s\n%7d%s\n%7d%s\n%7d%s",
      win,"games won by you",
      lose,"games won by me",
      tie,"game tied",
      win+lose+tie,"games played:");
  }
  help_for_the_player()
  {
   printf("\n%s\n\n%s\n%s\n%s\n%s\n%s\n%s\n%s",
       "the following characters can be used for input:",
       "  p  for paper",
       "  r  for rock",
       "  s  for scissors",
       "  g  to find out the game status",
       "  h  to print this list",
       "  i  to reprint the instructions for this game",
       "  q  to quit this game");
  }

C语言课程设计-猜拳游戏下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©lwfree.cn 六维论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。