Below I have given the code to a simple game that i made, I wish that some reader may try it and modify it, this game was maybe one of the big work that i have done in C. It has been released under the GPL so pls feel free to download, play, share and modify. Expecting feedbacks 🙂
This is how the game works there is a matrix of 9 numbers 1-9, select a submatrix w for top d for right s for down and a for let, then press f to rotate the sub matrix and do so till the matrix is in order
/****************************This is a simple game******************************************************* Copyright (C) <2010> <Vineeth Kartha> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation;version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA you can contact me for help at vineeth.kartha@gmail.com */ #include<stdio.h> #include<stdlib.h> void licence() { printf("Copyright (C) <2010> <Vineeth Kartha> \nThis program is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation;version 2 of the License. \n This program is distributed in the hope that it will be useful, \n but WITHOUT ANY WARRANTY; without even the implied warranty of \n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the \n GNU General Public License for more details. \n You should have received a copy of the GNU General Public License \n along with this program; if not, write to the Free Software \n Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n\nyou can contact me for help at vineeth.kartha@gmail.com"); printf("\n\n Press any key to continue"); } int main() { system("clear"); int x=0,y=0,i,j,flag=0; int row=0,col=0,count=0; int arr[3][3],corr[3][3]; int t,choice=1,num=1,score=0; char ch='q'; for(i=0;i<3;i++) { for(j=0;j<3;j++) { corr[i][j]=num; } num++; } srand(time(NULL)); while(choice!=3) { system("clear"); licence(); printf("\n 1) Play \n 2) Help \n 3) Exit \n"); scanf("%d",&choice); if(choice==1) { /* To fill the array with numbers from 1 - 9 in random order*/ while(flag<9) { num=rand()%10; //to generate random numbers for(i = 0;i<3;i++) { for(j=0;j<3;j++) { if(num == arr[i][j]||num==0) // to verify if number is 0 or if its already present { count++; } } } if(count==0) { arr[row][col]=num; flag++; col++; if(col>=3) { row++; col=0; } } else { count=0; } } /* To display the array*/ for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d",arr[i][j]); printf(" "); } printf("\n"); } while(1) { scanf("%c",&ch); /* Select upper square*/ if(ch=='w') { x=0; } /* Select lower square*/ if(ch=='s') { x=1; } /* Select left square*/ if(ch=='a') { y=0; } /* Select right square*/ if(ch=='d') { y=1; } /* Rotate the digits*/ if(ch=='f') { t=arr[x][y]; arr[x][y]=arr[x+1][y]; arr[x+1][y]=arr[x+1][y+1]; arr[x+1][y+1]=arr[x][y+1]; arr[x][y+1]=t; score++; } /* Exit*/ if(ch=='q') { break; } system("clear"); printf("\n\n\n\n\t\t\t"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d",arr[i][j]); printf(" "); } printf("\n\t\t\t"); } num=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(arr[i][j]==corr[i][j]) { num++; } } } if(num==9) { printf("\n\n\t\t\tYOU WON\n"); } } } if(choice==2) { system("clear"); printf("\n This is a game where you have to arrange numbers 1-9 in a matrix in order.\n w --> select the top sub matrix \n s --> select bottom submatrix \n a --> select left submatrix \n d --> select right submatrix.\n f--> rotate the numbers."); printf("\n press any NUMBER key to continue......."); scanf("%d", &num); } } if(choice ==3) { system("exit"); system("clear"); } }