I have quite a problem on my hands and require some tutorials for programming c#. My main goal is to create the popular sokoban game using C#, no graphics required, for a school project. Where can I find useful tutorials that cold help me out?
Hi, I always use the codeproject.com, great site and great community. Here's a link to a sokoban game in C# and there are others there too codeproject.com/csharp/sokobanpro.asp
Thanks for the link but I’m trying to create something much simpler This is what I’ve been able to do #include <stdio.h> void moverEsquerda(int areaJogo[19][19], int coluna, int linha); void moverDireita(int areaJogo[19][19], int coluna, int linha); void moverCima(int areaJogo[19][19], int coluna, int linha); void moverBaixo(int areaJogo[19][19], int coluna, int linha); void apresentarAreaJogo(int areaJogo[19][19]); int obterNumeroCaixas(int areaJogo[19][19]); int obterNumeroCaixas(int areaJogo[19][19]) { int numeroCaixas = 0; int i,j; for(i=0; i < 19; i=i++) { for(j=0; j<19; j++) { if(areaJogo[j][i] == 2)numeroCaixas++; } } return(numeroCaixas); } void apresentarAreaJogo(int areaJogo[19][19]) { int i,j; for(i=0; i < 19; i=i++) { for(j=0; j<19; j++) { printf("%d", areaJogo[j][i]); } printf("%\n"); } } void moverEsquerda(int areaJogo[19][19], int coluna, int linha) { if(areaJogo[coluna-1][linha] == 0) { areaJogo[coluna-1][linha] = 1; areaJogo[coluna][linha] = 0; } } void moverDireita(int areaJogo[19][19], int coluna, int linha) { if(areaJogo[coluna+1][linha] == 0) { areaJogo[coluna+1][linha] = 1; areaJogo[coluna][linha] = 0; } } void moverCima(int areaJogo[19][19], int coluna, int linha) { if(areaJogo[coluna][linha-1] == 0) { areaJogo[coluna][linha-1] = 1; areaJogo[coluna][linha] = 0; } } void moverBaixo(int areaJogo[19][19], int coluna, int linha) { if(areaJogo[coluna][linha+1] == 0) { areaJogo[coluna][linha+1] = 1; areaJogo[coluna][linha] = 0; } } int main(int argc, char *argv[]) { int areaJogo[19][19] = { {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,}, {9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9}, {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9}, }; int coluna = 1; int linha = 1; int caixas = obterNumeroCaixas(areaJogo); int opcao = -1; do { if(opcao == 0) { return; } else if(opcao == 1) { moverEsquerda(areaJogo, coluna, linha); coluna = coluna-1; } else if(opcao == 2) { moverDireita(areaJogo, coluna, linha); coluna = coluna+1; } else if(opcao == 3) { moverCima(areaJogo, coluna, linha); linha = linha-1; } else if(opcao == 4) { moverBaixo(areaJogo, coluna, linha); linha = linha+1; } apresentarAreaJogo(areaJogo); printf("1 - Mover Esquerda\n"); printf("2 - Mover Direita\n"); printf("3 - Mover Cima\n"); printf("4 - Mover Baixo\n"); printf("0 - Sair\n"); fflush(stdin); scanf("%d", &opcao); }while(caixas > 0); } Code (markup):