hello
The country I live in doesn't use English, so I might not be good at English.
i want to compile my code
but compile error happen
i don't know how to say this in english
please help me
C:\crossdev\src\mingw-w64-v3-git\mingw-w64-crt\crt\crt0_c.c undefined reference to `WinMain'
this is compile error
i cant compile
help me please
this is my whole code
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
#define MAX_CUMNUM 77
#define cdouble -15
#define CARD_NONE -1
static int sum=0;
static int playerOlife = 3;
static int playerTlife = 3;
int playerO;
int playerT;
int card_opened[51];
int cardbundle[] = {2,2,2, 3,3,3, 4,4,4, 5,5,5, 6,6,6, 7,7,7, 8,8,8, 9,9,9,
10,10,10,10,10,10,10,10,
11,22,33,44,55,66,76,
0,0,0,0,
-10,-10,-10,-10,
cdouble, cdouble, cdouble, cdouble};
void printgame(int sum, int card)
{
printf("sum : %d\n", sum);
if (card>=0)
printf(">>putting the card %d\n",card );
else if (card == -10)
printf(">>putting the card %d\n",card );
else if (card == cdouble)
printf(">>putting the card X2\n" );
else
printf(">>putting the card %d\n",card );
}
void printPlayerCard(int arr[])
{
int i;
printf("1 2 3 4 5\n");
for (i=0;i<5;i++)
{
if (arr[i] < 0 )
switch (arr[i])
{
case cdouble :
printf("%2s ", "x2"); break;
case -10 :
printf ("%3d ", arr[i]); break;
}
else
printf("%2d ", arr[i]);
}
printf("\n");
}
int cardcheck(int cardundle[],int card_opened[])
{
int n;
int b[] = {-1, -1, -1, -1, -1,-1, -1, -1, -1, -1,
-1, -1, -1, -1, -1,-1, -1, -1, -1, -1,
-1, -1, -1, -1, -1,-1, -1, -1, -1, -1,
-1, -1, -1, -1, -1,-1, -1, -1, -1, -1,
-1, -1, -1, -1, -1,-1, -1, -1, -1, -1,
-1};
for (n=0;n<51;n++)
{
if (cardbundle[n] != b[n])
{
return 0;
break;
}
else
{
return 1;
}
}}
void getOnecard(int card[], int *num)
{
int a, result;
int i, temp;
result = cardcheck(cardbundle,card_opened);
if (result == 0)
{
for(i=0;i<51;i++)
{
temp = card_opened[i];
cardbundle[i] = temp;
cardbundle[i] = card_opened[i];
}
memset(card_opened, -1, 51*sizeof(int));
while (1)
{
a = rand()%50;
if (card[a] != CARD_NONE)
{
*num = card[a];
card[a] = CARD_NONE;
return;
}
}}
else
while (1)
{
a= rand()%50;
if (card[a] != CARD_NONE)
{
*num = card[a];
card[a] = CARD_NONE;
return;
}
}
}
void getManycards(int card[], int arr[])
int i;
for(i=0;i<5;i++)
getOnecard(card, &arr[i]);
}
int checkGameEnd(int sum)
{
if(sum >= MAX_CUMNUM)
{
printf("GAME END");
return -1;}
else
return 1;
}
void returnToOpen(int card_opened[], int num)
{
int i=0;
while (1)
{
if (card_opened[i] = CARD_NONE)
{
card_opened[i] = num;
return;
}
i++;
}
}
int drawCard(int num, int sum)
{
if(num>=0)
{
sum = sum + num;}
else
{
switch(num)
{
case cdouble :
return cdouble;
break;
case -10:
{
if (sum>=10)
sum = sum - 10;
else
sum = 0;
}
break;
}
}
return 0;
}
int playerturn(int playercard[], int sum, int cardbundle[], int player)
{
int n, toOpen=0;
if (player == playerO)
{
printf("player1 turn! player life : %d sum : %d\n", playerOlife, sum);
printPlayerCard(playercard);
do{
printf("input the number : ");
scanf("%d", &n);
if (n<1 || n>5)
printf("Choose again!\n");
else
printf("No. %d \n", n);
}while (n<1 || n>5);
toOpen = drawCard(playercard[n-1], sum);
printgame(sum, playercard[n-1]);
returnToOpen(card_opened, playercard[n-1]);
getOnecard(cardbundle,&playercard[n-1]);
return toOpen;
}
else if (player == playerT)
{
printf("player2 turn! player life : %d sum : %d\n", playerTlife, sum);
printPlayerCard(playercard);
do{
printf("input the number : ");
scanf("%d", &n);
if (n<1 || n>5)
printf("Choose again!\n");
else
printf("No. %d \n", n);
}while (n<1 || n>5);
toOpen = drawCard(playercard[n-1], sum);
printgame(sum, playercard[n-1]);
returnToOpen(card_opened, playercard[n-1]);
getOnecard(cardbundle,&playercard[n-1]);
return toOpen;
}
int checkPlayerlife(int sum,int playerlife)
{
if ((sum % 11==0) && (sum < 77))
{
printf("Life lose! multiple of 11");
playerlife = playerlife -1;
}
else if (sum >= 77)
{
printf("Life lose! over 77");
playerlife = playerlife -1;}
else
{
return 1;}
}
int main(void)
{
srand(( int)time(NULL));
int i,j;
int gameCnt=0;
int cardbundle[] = {2,2,2, 3,3,3, 4,4,4, 5,5,5, 6,6,6, 7,7,7, 8,8,8, 9,9,9,
10,10,10,10,10,10,10,10,
11,22,33,44,55,66,76,
0,0,0,0,
-10,-10,-10,-10,
cdouble, cdouble, cdouble, cdouble};
int playerOcard[5];
int playerTcard[5];
int trig;
getManycards(cardbundle, playerOcard);
getManycards(cardbundle, playerTcard);
printgame(sum,0);
do
while (checkPlayerLife())
{
printf("\n\n\t [[[[[ %i'th game start!!! ]]]]]\n\n", gameCnt);
while (sum < 77 )
{
checkPlayerlife(sum,playerOlife);
playerturn(playerTcard, sum, cardbundle, playerT);
trig = playerturn(playerOcard, sum, cardbundle, playerO);
if (trig == cdouble)
checkPlayerlife(sum,playerTlife);
playerturn(playerTcard, sum, cardbundle, playerT);
trig = playerturn(playerTcard, sum, cardbundle, playerT);
if (trig == cdouble)
checkPlayerlife(sum,playerOlife);
if(sum>76)
break;
else
playerturn(playerOcard, sum, cardbundle, playerO);
trig = playerturn(playerOcard, sum, cardbundle, playerO);
}
printf("GAME END");
gameCnt++;
} while (playerOlife == 0 || playerTlife == 0);
return 0;
}}
What I have tried:
i searched for google
but 99% of C:\crossdev\src\mingw-w64-v3-git\mingw-w64-crt\crt\crt0_c.c undefined reference to `WinMain' error was C++
but i am C
i tried to include
#include <tchar.h>
but it still does not works
please help me
thank you