Cześć wszystkim,
Czy mógłby mnie ktoś nakierować dlaczego po wybraniu np Opcja : 1 nie wyświetla się nic? Bez funkcji Menu() program działa jak Pan Bóg przykazał, ale chce go wzbogacić o Menu z funkcjami.
Z GÓRY DZIĘKUJĘ I WESOŁYCH ŚWIĄT!
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <windows.h>
#include "Beep melody.h"
bool spr(char arr[3][3], bool* win);
int Menu(int *choice);
void wypisz(char arr[3][3]);
int Menu(int *choice)
{
printf("\n------------------- M E N U W Y B O R U -------------\n\n");
printf("\t\tCo chcesz zrobic?\n");
printf("\t\t1. NOWA GRA\n\t\t2.RANKING PUNKTOWY\n\n");
printf("-------------------------------------------------------\n\n");
printf("\tOpcja: ");
scanf("%d",&choice);
system("cls");
return *choice;
}
void wypisz(char arr[3][3])
{
printf("\t 0 1 2\n");
printf("\t-------------\n");
printf(" 0");
printf("\t| %c | %c | %c |\n",arr[0][0],arr[0][1],arr[0][2]);
printf("\t----+---+----\n");
printf(" 1");
printf("\t| %c | %c | %c |\n",arr[1][0],arr[1][1],arr[1][2]);
printf("\t----+---+----\n");
printf(" 2");
printf("\t| %c | %c | %c |\n",arr[2][0],arr[2][1],arr[2][2]);
printf("\t-------------\n");
}
bool spr(char arr[3][3], bool *win)
{
if((arr[0][0]=='X'&& arr[0][1]=='X' && arr[0][2]=='X')|| (arr[1][0]=='X'&& arr[1][1]=='X' && arr[1][2] =='X') || (arr[2][0]=='X'&& arr[2][1]=='X' && arr[2][2]=='X'))
{
*win=true;
}
if((arr[0][0]=='O'&& arr[0][1]=='O' && arr[0][2]=='O')|| (arr[1][0]=='O'&& arr[1][1]=='O' && arr[1][2] =='O') || (arr[2][0]=='O'&& arr[2][1]=='O' && arr[2][2]=='O'))
{
*win=true;
}
if((arr[0][0]=='X'&& arr[1][0]=='X' && arr[2][0]=='X')|| (arr[0][1]=='X'&& arr[1][1]=='X' && arr[2][1] =='X') || (arr[0][2]=='X'&& arr[1][2]=='X' && arr[2][2]=='X'))
{
*win=true;
}
if((arr[0][0]=='O'&& arr[1][0]=='O' && arr[2][0]=='O')|| (arr[0][1]=='O'&& arr[1][1]=='O' && arr[2][1] =='O') || (arr[0][2]=='O'&& arr[1][2]=='O' && arr[2][2]=='O'))
{
*win=true;
}
if((arr[0][0]=='X'&& arr[1][1]=='X' && arr[2][2]=='X')|| (arr[0][2]=='X'&& arr[1][1]=='X' && arr[2][0] =='X'))
{
*win=true;
}
if((arr[0][0]=='O'&& arr[1][1]=='O' && arr[2][2]=='O')|| (arr[0][2]=='O'&& arr[1][1]=='O' && arr[2][0] =='O'))
{
*win=true;
}
return *win;
}
int main()
{
int choice=0;
bool win=false;
char arr[3][3];
for(int i=0;i<3;i++)
{
arr[0][i]=' ';
arr[1][i]=' ';
arr[2][i]=' ';
}
int x1,x2,y1,y2;
int kolejka=0;
Menu(&choice); // <--------------------wywołanie
if(choice==1) //<--------------przy wybraniu 1 nic sie nie wyświetla
{
printf("\tGRA W KOLKO I KRZYZYYK!\n");
Sleep(2000);
printf("\t*****ZACZYNAMY*****");
Sleep(1000);
system("cls");
wypisz(arr);
while(win!=true || kolejka == 9)
{
printf("KOLKO: Wprowadz wspolrzedne!\n");
printf("Wiersz:");
scanf("%d",&x1);
printf("Kolumna:");
scanf("%d",&y1);
kolejka++;
arr[x1][y1]='O';
wypisz(arr);
if(kolejka==9)
{
printf("***** REMIS *****");
Beep(1567, 200);
Beep(1567, 200);
Beep(1567, 200);
Beep(1244, 1000);
break;
}
spr(arr,&win);
if(win==true)
{
printf("\t***** Kolko wygral! *****");
printf("\n\t\tSPROBUJ JESZCZE RAZ!");
/* refrenBass();
coupleBass();
refrenBass(); */ //Nie udostępniam tu pliku z tymi funkcjami
break;
}
printf("KRZYZYK: Wprowadz wspolrzedne!\n");
printf("Wiersz:");
scanf("%d",&x2);
printf("Kolumna:");
scanf("%d",&y2);
kolejka++;
arr[x2][y2]='X';
wypisz(arr);
spr(arr,&win);
if(win==true)
{
printf("\t***** Krzyzyk wygral! *****");
printf("\n\t\tSPROBUJ JESZCZE RAZ!");
/* refrenBass();
coupleBass();
refrenBass(); */ //do melody.h
break;
}
}
}
else if(choice==2)
{
printf("Ranking");
}
}