Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama C / C++ Amiral Battı Oyunu


Amiral Battı Oyunu

AÇIKLAMA

C ile yazılmış "Amiral Battı Oyunu"
Oyunu bilgisayara karşı oynuyorsunuz.Bilgisayar 10x10'luk bir düzlem içersinde gemileri rastgele yerleştiriyor ve gireceğiniz koordinatlara göre bilgisayarın yerleştirdiği bütün gemileri batırmaya çalışıyorsunuz.Kodları çalıştırıp oyuna başlamadan önce oyun hakkındaki genel bilgiler karşınıza çıkacaktır.İyi eğlenceler.. Bahadır SARIKAN.. Bilg.Prog.II.Öğrt.II.Sınıf Ordu Üniversitesi ...

Program Kodu:

  1.  
  2.  
  3. //---------------------------------------------------------------------------
  4.  
  5. #include <vcl.h>
  6. #include <stdio.h>
  7. #include <conio.h>
  8. #pragma hdrstop
  9.  
  10. //---------------------------------------------------------------------------
  11.  
  12. #pragma argsused
  13. void tablo(char oyun[10][10],int puan)
  14. {
  15. printf("\n");
  16. printf("  --a-- --b-- --c-- --d-- --e-- --f-- --g-- --h-- --i-- --j--\n");
  17. printf(" |     |     |     |     |     |     |     |     |     |     |\n");
  18. printf(" 1  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |\n",oyun[0][0],oyun[0][1],oyun[0][2],oyun[0][3],oyun[0][4],oyun[0][5],oyun[0][6],oyun[0][7],oyun[0][8],oyun[0][9]);
  19. printf(" |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|\n");
  20. printf(" |     |     |     |     |     |     |     |     |     |     |\n");
  21. printf(" 2  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |\n",oyun[1][0],oyun[1][1],oyun[1][2],oyun[1][3],oyun[1][4],oyun[1][5],oyun[1][6],oyun[1][7],oyun[1][8],oyun[1][9]);
  22. printf(" |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|\n");
  23. printf(" |     |     |     |     |     |     |     |     |     |     |\n");
  24. printf(" 3  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |\n",oyun[2][0],oyun[2][1],oyun[2][2],oyun[2][3],oyun[2][4],oyun[2][5],oyun[2][6],oyun[2][7],oyun[2][8],oyun[2][9]);
  25. printf(" |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|\n");
  26. printf(" |     |     |     |     |     |     |     |     |     |     |\n");
  27. printf(" 4  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |\n",oyun[3][0],oyun[3][1],oyun[3][2],oyun[3][3],oyun[3][4],oyun[3][5],oyun[3][6],oyun[3][7],oyun[3][8],oyun[3][9]);
  28. printf(" |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|\n");
  29. printf(" |     |     |     |     |     |     |     |     |     |     |\n");
  30. printf(" 5  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |\n",oyun[4][0],oyun[4][1],oyun[4][2],oyun[4][3],oyun[4][4],oyun[4][5],oyun[4][6],oyun[4][7],oyun[4][8],oyun[4][9]);
  31. printf(" |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|\n");
  32. printf(" |     |     |     |     |     |     |     |     |     |     |\n");
  33. printf(" 6  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |\n",oyun[5][0],oyun[5][1],oyun[5][2],oyun[5][3],oyun[5][4],oyun[5][5],oyun[5][6],oyun[5][7],oyun[5][8],oyun[5][9]);
  34. printf(" |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|\n");
  35. printf(" |     |     |     |     |     |     |     |     |     |     |\n");
  36. printf(" 7  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |\n",oyun[6][0],oyun[6][1],oyun[6][2],oyun[6][3],oyun[6][4],oyun[6][5],oyun[6][6],oyun[6][7],oyun[6][8],oyun[6][9]);
  37. printf(" |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|\n");
  38. printf(" |     |     |     |     |     |     |     |     |     |     |\n");
  39. printf(" 8  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |\n",oyun[7][0],oyun[7][1],oyun[7][2],oyun[7][3],oyun[7][4],oyun[7][5],oyun[7][6],oyun[7][7],oyun[7][8],oyun[7][9]);
  40. printf(" |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|\n");
  41. printf(" |     |     |     |     |     |     |     |     |     |     |\n");
  42. printf(" 9  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |\n",oyun[8][0],oyun[8][1],oyun[8][2],oyun[8][3],oyun[8][4],oyun[8][5],oyun[8][6],oyun[8][7],oyun[8][8],oyun[8][9]);
  43. printf(" |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|\n");
  44. printf(" |     |     |     |     |     |     |     |     |     |     |\n");
  45. printf("10  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |  %c  |\n",oyun[9][0],oyun[9][1],oyun[9][2],oyun[9][3],oyun[9][4],oyun[9][5],oyun[9][6],oyun[9][7],oyun[9][8],oyun[9][9]);
  46. printf(" |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|\n");
  47. printf("\nPuaniniz:%d\n",puan);
  48.  
  49. }
  50.  
  51. int main(int argc, char* argv[])
  52. {
  53.  
  54. basla:
  55. clrscr();
  56. printf("\n -- AMIRAL BATTI OYUNU --\n\n      ## KURALLAR ##\n\n");
  57. printf(" 1.Amiral Batti oyunu Gemi Savasi olarak da bilinir.\n");
  58. printf(" 2.Bu oyunun amaci, bilgisayarin yerlestirdigi gemilerin yerlerini\n");
  59. printf("    dogru tahmin ederek bilgisayarin donanmasini batirarak zafere\n");
  60. printf("    ulasmaktir.\n");
  61. printf(" 3.1 adet Savas Gemisi(4 kare alan kapsar.)\n");
  62. printf("    1 adet Kruvazor    (3 kare alan kapsar.)\n");
  63. printf("    1 adet Denizalti   (2 kare alan kapsar.)\n");
  64. printf("    1 adet Mayin       (1 kare alan kapsar.)\n");
  65. printf("    1 adet Muhrip      (2 kare alan kapsar.)\n");
  66. printf(" 4.Satir ve sutundaki degerlere gore koordinat degerleri girilir.\n");
  67. printf(" 5.Her karavana atisinizda mevcut puaninizdan 10 puan dusulur.\n");
  68. printf(" 6.Her isabetli atisinizda puaniniz ayni kalir.\n");
  69. printf(" 7.Isabetli atislariniz O ile gosterilir.\n");
  70. printf(" 8.Karavana atislariniz X ile gosterilir.\n");
  71. printf(" 9.Maximum puan:1000\n");
  72. printf(" 10.Mevcut puaniniz:1000\n");
  73. printf("    BASARILAR...  Bahadir SARIKAN\n\n");
  74. printf("Oyuna baslamak icin lutfen herhangi bir tusa basiniz...");
  75. getche();
  76. clrscr();
  77.  
  78. randomize();
  79. char dizi[10][10];
  80. char oyun[10][10];
  81. char devam,q,satir[1],c;
  82. int puan=1000,sayac=0;
  83.  
  84. int savas=0,kruvazor=0,denizalti=0,mayin=0,muhrip=0;
  85. int y,gemicesidi,x=0,z,t;
  86. int SavasGemi=1,KruvazorGemi=1,MayinGemi=1,DenizAltiGemi=1,MuhripGemi=1;
  87.  
  88. for(int x=0;x<=9;x++)
  89. {
  90.   for(int y=0;y<=9;y++)
  91.   dizi[x][y]='\0';
  92. }
  93.  
  94. for(int z=0;z<=9;z++)
  95. {
  96.   for(int t=0;t<=9;t++)
  97.   oyun[z][t]='\0';
  98. }
  99.  
  100.  
  101. while(1)
  102. {
  103. gemicesidi=(rand()%5)+1;
  104. y=rand()%10;
  105.  
  106. if(gemicesidi==1)
  107. {
  108.  if(savas<1)
  109.  {
  110.   if(y>6)
  111.   {
  112.    for(int i=y;i>=y-3;i--)
  113.    dizi[x][i]='S';
  114.    x+=2;
  115.    savas++;
  116.   }
  117.   if(y<=6)
  118.   {
  119.    for(int i=y;i<=y+3;i++)
  120.    dizi[x][i]='S';
  121.    x+=2;
  122.    savas++;
  123.  
  124.   }
  125.  }
  126. }
  127.  
  128. if(gemicesidi==2)
  129. {
  130.  if(kruvazor<1)
  131.  {
  132.   if(y>7)
  133.   {
  134.    for(int i=y;i>=y-2;i--)
  135.    dizi[x][i]='K';
  136.    x+=2;
  137.    kruvazor++;
  138.   }
  139.   if(y<=7)
  140.   {
  141.    for(int i=y;i<=y+2;i++)
  142.    dizi[x][i]='K';
  143.    x+=2;
  144.    kruvazor++;
  145.  
  146.   }
  147.  }
  148. }
  149.  
  150.  
  151. if(gemicesidi==3)
  152. {
  153.  if(denizalti<1)
  154.  {
  155.   if(y>8)
  156.   {
  157.    for(int i=y;i>=y-1;i--)
  158.    dizi[x][i]='D';
  159.    x+=2;
  160.    denizalti++;
  161.   }
  162.   if(y<=8)
  163.   {
  164.    for(int i=y;i<=y+1;i++)
  165.    dizi[x][i]='D';
  166.    x+=2;
  167.    denizalti++;
  168.  
  169.   }
  170.  }
  171. }
  172.  
  173.  
  174. if(gemicesidi==4)
  175. {
  176.  if(mayin<1)
  177.  {
  178.   dizi[x][y]='M';
  179.   x+=2;
  180.   mayin++;
  181.  
  182.  }
  183. }
  184.  
  185. if(gemicesidi==5)
  186. {
  187.  if(muhrip<1)
  188.  {
  189.   if(y>8)
  190.   {
  191.    for(int i=y;i>=y-1;i--)
  192.    dizi[x][i]='P';
  193.    x+=2;
  194.    muhrip++;
  195.   }
  196.   if(y<=8)
  197.   {
  198.    for(int i=y;i<=y+1;i++)
  199.    dizi[x][i]='P';
  200.    x+=2;
  201.    muhrip++;
  202.  
  203.   }
  204.  }
  205. }
  206.  
  207. if((savas==1)&&(kruvazor==1)&&(denizalti==1)&&(mayin==1)&&(muhrip==1))break;
  208. }
  209.  
  210. while(1)
  211. {
  212.  do{
  213.     bos:
  214.     clrscr();
  215.     tablo(oyun,puan);
  216.     printf("\n\n");
  217.     printf("\nLutfen sutun harfini giriniz >>");
  218.     scanf("%c",&q);
  219.     c=q;
  220.     t=q;
  221.     if(t==10)goto bos;
  222.     if((t<97)||(t>106))
  223.     {
  224.      printf("\nLutfen a ile j arasinda bir deger giriniz...\n");
  225.      printf("Devam etmek icin lutfen bir tusa basiniz..\n");
  226.      getche();
  227.     }
  228.     }while((t<97)||(t>106));
  229.  do{
  230.     bos2:
  231.     clrscr();
  232.     tablo(oyun,puan);
  233.     printf("\n\n");
  234.     printf("\nLutfen sutun harfini giriniz >>%c\n",c);
  235.     printf("\nLutfen satir degerini giriniz >>");
  236.     gets(satir);
  237.     if(satir[0]==0)goto bos2;
  238.     z=atoi(satir);
  239.     if((z<=0)||(z>10))
  240.     {
  241.      printf("\nLutfen 1 ile 10 arasinda bir deger giriniz...\n");
  242.      printf("Devam etmek icin lutfen bir tusa basiniz..\n");
  243.      getche();
  244.      clrscr();
  245.      tablo(oyun,puan);
  246.      printf("\n\n");
  247.      printf("\nLutfen sutun harfini giriniz >>%c\n",q);
  248.     }
  249.     }while((z<=0)||(z>10));
  250.  
  251.  
  252. if(dizi[z-1][t-97]=='K')
  253. {
  254.  oyun[z-1][t-97]='O';
  255.  if(KruvazorGemi==3)
  256.  {
  257.   printf("\nKruvazor Gemisi Batti..\n");
  258.   printf("Devam etmek icin bir tusa basiniz ..");
  259.   getche();
  260.  }
  261.  if(KruvazorGemi<3)
  262.  {
  263.   printf("\nTebrikler! Bir gemi vurdunuz..\n");
  264.   printf("Devam etmek icin bir tusa basiniz ..");
  265.   getche();
  266.  }
  267.  KruvazorGemi++;
  268. }
  269.  else if(dizi[z-1][t-97]=='S')
  270.         {
  271.          oyun[z-1][t-97]='O';
  272.          if(SavasGemi==4)
  273.          {
  274.           printf("\nSavas Gemisi Batti..\n");
  275.           printf("Devam etmek icin bir tusa basiniz ..");
  276.           getche();
  277.          }
  278.          if(SavasGemi<4)
  279.          {
  280.           printf("\nTebrikler! Bir gemi vurdunuz..\n");
  281.           printf("Devam etmek icin bir tusa basiniz ..");
  282.           getche();
  283.          }
  284.          SavasGemi++;
  285.         }
  286.         else if(dizi[z-1][t-97]=='M')
  287.                {
  288.                 oyun[z-1][t-97]='O';
  289.                 printf("\nMayin Imha Edildi..\n");
  290.                 printf("Devam etmek icin bir tusa basiniz ..");
  291.                 getche();
  292.                }
  293.                else if(dizi[z-1][t-97]=='D')
  294.                       {
  295.                        oyun[z-1][t-97]='O';
  296.                        if(DenizAltiGemi==2)
  297.                        {
  298.                         printf("\nDeniz Alti Batti..\n");
  299.                         printf("Devam etmek icin bir tusa basiniz ..");
  300.                         getche();
  301.  
  302.                        }
  303.                        if(DenizAltiGemi<2)
  304.                        {
  305.                         printf("\nTebrikler! Bir gemi vurdunuz..\n");
  306.                         printf("Devam etmek icin bir tusa basiniz ..");
  307.                         getche();
  308.                        }
  309.                        DenizAltiGemi++;
  310.                       }
  311.                       else if(dizi[z-1][t-97]=='P')
  312.                              {
  313.                              oyun[z-1][t-97]='O';
  314.                              if(MuhripGemi==2)
  315.                              {
  316.                               printf("\nMuhrip Gemisi Batti..\n");
  317.                               printf("Devam etmek icin bir tusa basiniz ..");
  318.                               getche();
  319.  
  320.                              }
  321.                              if(MuhripGemi<2)
  322.                              {
  323.                               printf("\nTebrikler! Bir gemi vurdunuz..\n");
  324.                               printf("Devam etmek icin bir tusa basiniz ..");
  325.                               getche();
  326.                              }
  327.                              MuhripGemi++;
  328.                              }
  329.  
  330.  
  331. else
  332. {
  333.  oyun[z-1][t-97]='X';
  334.  puan=puan-10;
  335.  printf("\nUzgunum Karavana..\n");
  336.  printf("Devam etmek icin bir tusa basiniz ..");
  337.  getche();
  338. }
  339. sayac++;
  340. if((sayac==100)||(KruvazorGemi+SavasGemi+MayinGemi+DenizAltiGemi+MuhripGemi==16))break;
  341. }
  342. clrscr();
  343. printf("\n\n");
  344. printf("       AMIRAL BATTI\n\n");
  345. printf(" Tebrikler! Oyunu Basari ile Bitirdiniz..\n");
  346. for(int i=0;i<=puan;i++)
  347. {
  348.  printf("\r Puaniniz:%d",i);
  349.  for(int j=0;j<=1000000;j++){
  350.  }
  351. }
  352. printf("\n\n Oyunu Tekrar Oynamak ister misiniz (e/h) >>");
  353. scanf("%s",&devam);
  354. if((devam=='E')||(devam=='e'))goto basla;
  355. if((devam=='H')||(devam=='h'))goto son;
  356. getche();
  357.     return 0;
  358.     son:
  359. }
  360. //------------------------------------------------------------------------------
  361.  
  362.  

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Cumartesi, 06 Ağustos 2011 06:43 )  
amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım