C語言模擬海戰

#include
#include<stdlib.h>
#include<time.h>
void main()

  int flag=0,i,percent,temp;
  int choice;
  int user_sum=0,com_sum=0;
  int user[10]={0};
  int com[10]={0};
  int s[3]={0};
  int *p_user=user,*p_com=com,*p_s=s;
   srand((unsigned)time(NULL));
  while(1){
    user_sum=0;com_sum=0;
head:
     printf("\033[31m1->attck\n");                //選擇界面
    printf("2->fallback\n");
    printf("input your choice:\033[0m");
    scanf("%d",&choice);
    getchar();
   if(choice!=1&&choice!=2) 
      { 
        printf("please input again:");
        goto head;
      }
   switch(choice)          
   { 
    case  1:                                           //進攻模式
           for(i=0;i<3;i++)         //user  產生三發炮彈攻擊玩家
             {
              *(p_s+i) = rand()%10;
              *(p_user+*(p_s+i)) =1;    
            }
            printf("user:    ");
           for(i=0;i<10;i++)        //user_boat   // 輸出船受傷的樣子
           { if(*(p_user+i)==0)printf("#");
             else  printf("0");
            }
           printf("\n");   
          for(i=0;i<10;i++) 
          {
            user_sum=user_sum+*(p_user+i);    
          }
          printf("the part be destroyed:%d%%\n",user_sum*10);          //船的受損狀況


           for(i=0;i<3;i++)   //computer             產生三發炮彈攻擊電腦的船隻
            {
    *(p_s+i) = rand()%10;
    *(p_com+*(p_s+i)) =1;    
     }
            printf("computer:");
    for(i=0;i<10;i++)                            //輸出電腦船受傷的樣子
      { if(*(p_com+i)==0)  printf("#");
             else printf("0");
           }
           printf("\n"); 
            
          for(i=0;i<10;i++)                                             
          {
           com_sum=com_sum+*(p_com+i);    
          }                                            
          printf("the part be destroyed:%d%%\n",com_sum*10);  //輸出電腦船的受損狀況
          temp=com_sum;            break; 
               
     case 2:
             percent=rand()%10;                                    //生成50%逃跑機率
            if(percent>=0&&percent<=4) 
          { 
           printf("running failed!\n");
             
           for(i=0;i<3;i++)   //user
            {
    *(p_s+i) = rand()%10;
    *(p_user+*(p_s+i)) =1;    
     }
            printf("user:    ");
    for(i=0;i<10;i++)
       {if(*(p_user+i)==0) printf("#");
              else printf("0");}
           printf("\n"); 
            
          for(i=0;i<10;i++)
          {
           user_sum=user_sum+*(p_user+i);    
          }
          printf("the part be destroyed:%d%%\n",user_sum*10);
         


            printf("computer:");
           for(i=0;i<10;i++)
            {  if(*(p_com+i)==0)printf("#");
               else printf("0");    
             }
           printf("\n");     
          printf("the part be destroyed:%d%%\n",temp*10);              
       }   
         else {printf("running succeed!\n");flag=1;break;}
                   break;
   } //switch
     if(flag==1) {printf("game over!\n");break;}                             //判斷逃跑成功,結束遊戲
     if(user_sum>=10&&com_sum>=10)                   
               {    
                   printf("game draw!\n");break;                                      //平局
               } 
     else   if(user_sum>=10)
              { printf("computer win!\n");break;                                  //電腦贏
              }
     else   if(com_sum>=10) 
              { 
                printf("user win!\n");break;                                                 //玩家贏
              }
  } //while 

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章