İki oyunculu sayı tahmin oyunu, yardım lütfen!?!

Winternight
31-03-2010, 20:29   |  #1  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
126 mesaj
Kayıt Tarihi:Kayıt: Eki 2008

Bu kadarını yapabildim fakat ödev gereği bazı eksikler var onları yapamadım bi türlü yardımcı olursanız çok sevinirim.
Eksikler:
iki oyuncu her yanlış tahmin yaptığında sayı her iki oyuncu içinde yükselmeleri mi alçalmaları mı gerekiyor tarzı bir mesaj gerekiyor ben de "no comment!!" yazıyor.
Ayrıca oyunculardan biri kazandığında tebrikler yazısının altında kaç defa da bildiler ve toplam kaç tahmin yaptılar onunda yazması gerekiyor
Yardımcı olursanız çok mutlu olurum. şimdiden teşekkürler
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int maximum(int a, int b, int c)
{
    int max = a;

    if(b > max) { max = b; }
    if(c > max) { max = c; }

    return max;
}

int minimum(int a, int b, int c)
{
    int min = a;

    if(b < min) { min = b; }
    if(c < min) { min = c; }

    return min;
}


int toplam(int a, int b)
{
    return (a + b);
}

void comment(int s, int p1, int p2)
{
   int max = maximum(s, p1, p2);
   int min = minimum(s, p1, p2);

   // printf("max : %d , min : %d\n", max, min);


   if(max < s)
   {
       printf("Secret number is greater than %d.\n", max);
   }
   else if(s < min)
   {
       printf("Secret number is lower than %d.\n", min);
   }
   else if(s > min && s < max)
   {
       printf("Secret number is between %d and %d.\n", min, max);
   }
   else
   {
       printf("No Comment !!!\n");
   }
}

int main()
{
     int z;
     int range, secret, player1 = 0, player2 = 0;
     int player1_cnt = 0,  player2_cnt = 0 ;
     int player_no = 1;

     printf("Welcome to competition for guessing a number\n");
     printf("In this competition two players will try to guess a number\n");
     printf("and who guesses the number earlier will win the game\n");
     printf("Two players will guess a number in the range : ");

     scanf("%d", &range);

     srand ( time(NULL) );
     secret = rand() % range + 1;
     
     //printf("Secret : %d\n", secret);

     while(secret != player1 && secret != player2)
     {
         printf ("Player1 Guess the number (1 to %d): ",  range);
         scanf ("%d", &player1);
         
         printf ("Player2 Guess the number (1 to %d): ",  range);
         scanf ("%d", &player2);
         
         comment(secret, player1, player2);

         player1_cnt++; 
         player2_cnt++;
     }
     while(secret == player1)
     {
         printf("Congratulations Player1. You Won\n");

         return 0;
     }
      while(secret == player2)
     {
         printf("Congratulations Player2. You Won\n");

         return 0;
     }
   
      printf("Loop terminated.\n");

       scanf("%d", &z);

     return 0;
}

Son Düzenleme: Winternight ~ 31 Mart 2010 20:32
scallywag
08-04-2010, 14:03   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
379 mesaj
Kayıt Tarihi:Kayıt: Ara 2007

Selam,

Ödevinden anladığım kadarıyla 2 oyuncu bilgisayar tarfından belirlenen bir sayıyı daha önce bilmek için birbiriyle yarışıyor.ve bazı konroller var;

*tahminin konumu(büyük-küçük)
*oyuncuların skorları vs.

ben senin kodu tamamen değiştirdim umarım kızmazsın ve fonksiyon,pointer vs kullanmadım sanırım bunları kulanacaksın ödevinde.İstediğin şekilde mi bilmiyorum ama kodu gönderiyorum umarım işine yarar.Sormak istediğin bir şey olursa kodla ilgili sorabilirsin.Hoşçakal...

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
#include "stdafx.h" #include <iostream> #include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> using namespace std; int main() { int range,range1, secret, player1 = 0, player2 = 0; cout<<"Welcome to competition for guessing a number"<<endl; cout<<"In this competition two players will try to guess a number"<<endl; cout<<"and who guesses the number earlier will win the game"<<endl; cout<<"Two players will guess a number in the range : "<<endl; cout<<"Press any button to start the game"<<endl; _getch(); srand ( time(NULL) ); secret = 1+rand() % 100; //1 ile 100 arasında bir sayı rastgele oluşturuluyor(bu kısmı istediğin gibi değiştebilirsin) do { cout<<"===Player 1 enter your guessing==="<<endl;//Player 1 input cin>>range; if(secret==range) { cout<<"**************Congratulations Player1. You Won ! **************"<<endl; player1++; } if(range>secret) { cout<<"===Your guessing is greater than the secret number==="<<endl; } if(range < secret) { cout<<"====Your guessing number is lower than the secret number===="<<endl; } cout<<"===Player 2 enter your guessing==="<<endl;//Player 2 input cin>>range1; if(range1>secret) { cout<<"===Your guessing is greater than the secret number==="<<endl; } if(range1<secret) { cout<<"===Your guessing is lower than the secret number==="<<endl; } if(secret==range1) { cout<<"**************Congratulations Player2. You Won ! **************"<<endl; player2++; } } while( secret==range ||secret==range1);//KİM DAHA ÖNCE DOGRU TAHMİN YAPARSA O KAZANIR//While loop cout<<"SCORE TABLE"<<endl<<endl; cout<<"===Player 1===:"<<player1<<endl; cout<<"===Player 2===:"<<player2<<endl; return 0; }//End main

Winternight
08-04-2010, 19:43   |  #3  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
126 mesaj
Kayıt Tarihi:Kayıt: Eki 2008

Uğraşmıssın baya çok teşekkürler ama süresi dolmuştu ödevin bir kaç gün önce, yardım çıkmayınca kendim bir şekilde yaptım biraz biraz. Tekrar sağolasın.