Advertisement
Guest User

Untitled

a guest
Apr 12th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 19.67 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5. #include <time.h>
  6. #include <ctype.h>
  7. #include <time.h>
  8. #include <windows.h>
  9. #include <process.h>
  10. #include <string.h>
  11.  
  12. #define UP 72
  13. #define DOWN 80
  14. #define LEFT 75
  15. #define RIGHT 77
  16.  
  17.  
  18. struct adminuser{
  19.     char nama[100], user[100] ,pass[100], acc[100], paket[50], status[50], srating[100];
  20.     int saldo;
  21. }al, ur, ul;
  22.  
  23. void admin();
  24. void user();
  25. void radmin();
  26. void ladmin();
  27. void ruser();
  28. void luser();
  29. void menuadmin();
  30. void menuuser();
  31. void isisaldoa();
  32. void isisaldou();
  33. void acc();
  34. void game();
  35. void snake();
  36. void tictactoe();
  37. void penukaran();
  38.  
  39. int length;
  40. int bend_no;
  41. int len;
  42. char key;
  43. void record();
  44. void load();
  45. int life;
  46. void Delay(long double);
  47. void Move();
  48. void Food();
  49. int Score();
  50. void Print();
  51. void gotoxy(int x, int y);
  52. void GotoXY(int x,int y);
  53. void Bend();
  54. void Boarder();
  55. void Down();
  56. void Left();
  57. void Up();
  58. void Right();
  59. void ExitGame();
  60. int Scoreonly();
  61.  
  62. struct coordinate{
  63.     int x;
  64.     int y;
  65.     int direction;
  66. };
  67.  
  68. typedef struct coordinate coordinate;
  69.  
  70. coordinate head, bend[500],food,body[30];
  71.  
  72. char accu[100], login[100], useradmin[10] = "admin", passadmin[10] = "admin";
  73. int n=0, i=0, l=0, saldob, umurl=0, paket1=100000, paket2=50000, paket3=30000;
  74.  
  75. main()
  76. {
  77.     int a;
  78.     printf("===============================\n");
  79.     printf("=SELAMAT DATANG DI GAME CENTER=\n");
  80.     printf("===============================\n\n");
  81.     printf("MENU UTAMA\n");
  82.     printf("1.Admin\n2.User\n3.Exit\n");
  83.     printf("Masukkan pilihan :");scanf("%d",&a);
  84.     switch (a)
  85.     {
  86.         case 1 : admin();break;
  87.         case 2 : user();break;
  88.         case 3 : system("cls");printf("Terima Kasih telah mengunjungi GAME CENTER\n");exit(100);break;
  89.         default : printf("\nPilihan menu tidak ada\n");system("pause");main();break;
  90.     }
  91. }
  92.  
  93. void admin(){
  94.     int nc;
  95.     system("cls");
  96.     printf("\n[ Menu Admin ]\n\n");
  97.     printf("1. Login\n");
  98.     printf("2. Kembali\n");
  99.     printf("Pilih menu : ");
  100.     scanf("%d", &nc); getchar();
  101.     system("cls");
  102.     switch(nc){
  103.         case 1 : ladmin(); break;
  104.         case 2 : main(); break;
  105.         default : printf("[ Menu Tidak Ada ]");
  106.                   getchar();
  107.                   getch();
  108.                   system("cls");
  109.                   admin(); break;
  110.     }
  111. }
  112.  
  113. void user(){
  114.     int nu=0;
  115.     system("cls");
  116.     printf("\n-=-[ Menu User ]-=-\n\n");
  117.     printf("1. Registrasi\n");
  118.     printf("2. Login\n");
  119.     printf("3. Kembali\n");
  120.     printf("Pilih menu : ");
  121.     scanf("%d", &nu); getchar();
  122.     system("cls");
  123.     switch(nu){
  124.         case 1 : ruser(); break;
  125.         case 2 : luser(); break;
  126.         case 3 : main(); break;
  127.         default : printf("-=-[ Menu Tidak ada ]-=-");
  128.                   getchar();
  129.                   getch();
  130.                   system("cls");
  131.                   user(); break;
  132.     }
  133.    
  134. }
  135.  
  136. void ladmin (){
  137.     i=0;
  138.     char uadmin[5], padmin[5];
  139.     while(i<3){
  140.         printf("\n-=-[ Login Admin ]-=-\n\n");
  141.         printf("Username : "); gets(uadmin);
  142.         printf("Password : "); gets(padmin);
  143.         system("cls");
  144.         if(strcmp(uadmin, uadmin)==0 && strcmp(padmin, passadmin)==0){
  145.                 menuadmin();
  146.         }
  147.         printf("LOGIN GAGAL!!!");
  148.         i=i+1;
  149.     }
  150.     admin();
  151. }
  152.  
  153. void ruser(){
  154.     FILE *r_user;
  155.     r_user = fopen("user.dat","ab+");
  156.     printf("-=-[ Registrasi User ]-=-\n");
  157.     printf("Nama     : "); gets(ur.nama);
  158.     printf("Username : "); gets(ur.acc);
  159.     printf("Password : "); gets(ur.pass);
  160.     ur.saldo = 0;
  161.     strcpy(ur.user, "bweift4e87ty78eg");
  162.     strcpy(ur.status, "-=-[ Belum di ACC ]-=-");
  163.     fwrite(&ur,sizeof(ur),1,r_user);
  164.     getchar();
  165.     fclose(r_user);
  166.     system("cls");
  167.     printf("\n\n-=-[ Silahkan tunggu konfirmasi dari admin ]-=-");
  168.     getchar();
  169.     system("cls");
  170.     user();
  171. }
  172.  
  173. void luser(){
  174.     i=0;
  175.     FILE *r_user;
  176.     while(i<3){
  177.         printf("\n-=-[ Login User ]-=-\n\n");
  178.         printf("Username    : "); gets(ul.user);
  179.         printf("Password    : "); gets(ul.pass);
  180.         system("cls");
  181.         r_user = fopen("user.dat","rb");
  182.         while(fread(&ur,sizeof(ur),1,r_user)==1){
  183.             if(strcmp(ur.user, ul.user)==0 && strcmp(ur.pass, ul.pass)==0){
  184.                 strcpy(login, ur.user);
  185.                 fclose(r_user);
  186.                 menuuser(); break;
  187.             }  
  188.         }
  189.         printf("LOGIN GAGAL!!!");
  190.         i=i+1;
  191.     }
  192.     fclose(r_user);
  193.     system("cls");
  194.     user();
  195. }
  196.  
  197. void menuadmin(){
  198.     int nf;
  199.     int mn;
  200.     printf(".::[ Selamat Datang ]::.\n");
  201.     printf("      -=-[ Menu Admin ]-=-\n\n");
  202.     printf("1. Acc User\n");
  203.     printf("2. Isi Saldo User\n");
  204.     printf("3. Logout\n");
  205.     printf("Pilih Menu : "); scanf("%d", &mn);
  206.     getchar();
  207.     system("cls");
  208.     switch(mn){
  209.         case 1 : acc(); break;
  210.         case 2 : isisaldoa(); break;
  211.         case 3 : system("cls");
  212.                  printf("-=-[ Berhasil Logout! ]-=-");
  213.                  getchar(); system("cls"); admin(); break;
  214.         default : printf("-=-[ Menu Tidak ada ]-=-");
  215.                   getchar();
  216.                   getch();
  217.                   system("cls");
  218.                   menuadmin(); break;
  219.     }
  220. }
  221.  
  222. void menuuser(){
  223.     int um;
  224.     saldob = ur.saldo;
  225.    
  226.     printf(".::|S e l a m a t   d a t a n g   '%s'|::.\n", ur.nama);
  227.         printf("Saldo anda : %d     ", ur.saldo);
  228.         printf("\n======================\n");
  229.         printf("-=-[ USER MENU ]-=-");
  230.         printf("\n======================\n");
  231.         printf("1. Isi Saldo\n");
  232.         printf("2. Main Game\n");
  233.         printf("3. Logout\n");
  234.         printf("Pilih Menu : "); scanf("%d", &um);
  235.         getchar();
  236.         system("cls");
  237.         switch(um){
  238.             case 1 : isisaldou(); break;
  239.             case 2 : game(); break;
  240.             case 3 : system("cls");
  241.                      printf("-=-[ Berhasil Logout! ]-=-");
  242.                      getchar(); system("cls");
  243.                      user(); break;
  244.             default : printf("-=-[ Menu Tidak ada ]-=-");
  245.                       getchar();
  246.                       getch();
  247.                       system("cls");
  248.                       menuuser(); break;
  249. }
  250. }
  251.  
  252. void acc(){
  253.     FILE *r_user;
  254.     r_user = fopen("user.dat","rb");
  255.     printf("---[ Data User ]---\n");
  256.     while(fread(&ur, sizeof(ur),1, r_user)==1){
  257.         printf("Nama     : %s\n", ur.nama);
  258.         printf("Username : %s       %s\n", ur.acc, ur.status);
  259.         printf("Password : %s\n\n", ur.pass);
  260.         }
  261.     r_user = fopen("user.dat","rb+");
  262.     printf("User yang ingin di ACC : "); gets(accu);
  263.     while(fread(&ur,sizeof(ur),1,r_user)==1){      
  264.         if (strcmp(ur.acc, accu)==0){  
  265.             fseek(r_user, -sizeof(ur), SEEK_CUR);
  266.             strcpy(ur.user, accu);
  267.             strcpy(ur.status, " ");
  268.             fwrite(&ur, sizeof(ur), 1, r_user);    
  269.             fclose(r_user);
  270.             system("cls");
  271.             printf("-=-[ %s Berhasil Di ACC ]-=-", accu);
  272.             getchar();
  273.             system("cls");
  274.             menuadmin(); break;
  275.         }
  276.     }  
  277.     fclose(r_user);
  278.     system("cls");
  279.     printf("-=-[ %s Tidak ada dalam list User ]-=-", accu);
  280.     getchar();
  281.     system("cls");
  282.     menuadmin();
  283. }
  284.  
  285. void isisaldoa(){
  286.     int s, jml;
  287.     char isaldo[100], ipaket[100];
  288.     FILE *r_user;
  289.     r_user = fopen("user.dat","rb");
  290.     while(fread(&ur,sizeof(ur),1,r_user)==1){
  291.         printf("User  : %s\n", ur.user);
  292.         printf("Paket : %s\n", ur.paket);
  293.         printf("\n");
  294.         }
  295.         fclose(r_user);
  296.         r_user = fopen("user.dat","rb+");
  297.         printf("User yang ingin di isi Saldo : "); gets(isaldo);
  298.         printf("Paket yang ingin diisi : "); gets(ipaket);
  299.         while(fread(&ur,sizeof(ur),1,r_user)==1){      
  300.         if (strcmp(ur.user, isaldo)==0){   
  301.             fseek(r_user, -sizeof(ur), SEEK_CUR);
  302.             if(strcmp(ipaket, "A")==0){
  303.                 ur.saldo = ur.saldo + paket1;
  304.                 strcpy(ur.paket, " ");
  305.                 fwrite(&ur, sizeof(ur), 1, r_user);  
  306.                 fclose(r_user);
  307.                 system("cls");
  308.                 printf("\n-=-[ Saldo dikirim ke %s ]-=-", ur.user);
  309.                 getchar();
  310.                 system("cls");
  311.                 menuadmin();break;
  312.             }
  313.             else if(strcmp(ipaket, "B")==0){
  314.                 ur.saldo = ur.saldo + paket2;
  315.                 strcpy(ur.paket, " ");
  316.                 fwrite(&ur, sizeof(ur), 1, r_user);  
  317.                 fclose(r_user);
  318.                 system("cls");
  319.                 printf("\n-=-[ Saldo dikirim ke %s ]-=-", ur.user);
  320.                 getchar();
  321.                 system("cls");
  322.                 menuadmin();break;
  323.             }
  324.             else if(strcmp(ipaket, "C")==0){
  325.                 ur.saldo = ur.saldo + paket3;
  326.                 strcpy(ur.paket, " ");
  327.                 fwrite(&ur, sizeof(ur), 1, r_user);  
  328.                 fclose(r_user);
  329.                 system("cls");
  330.                 printf("\n-=-[ Saldo dikirim ke %s ]-=-", ur.user);
  331.                 getchar();
  332.                 system("cls");
  333.                 menuadmin();break;
  334.             }  
  335.             else {
  336.                 getchar();
  337.                 system("cls");
  338.                 menuadmin();
  339.             }
  340.         }
  341.     }
  342.         fclose(r_user);
  343.         system("cls");
  344.         printf("\n-=-[ User tidak ada dalam list ]-=-", ur.user);
  345.         getchar();
  346.         system("cls");
  347.         menuadmin();
  348. }
  349.  
  350. void isisaldou(){
  351.     int s;
  352.     FILE *r_user;
  353.     r_user = fopen("user.dat","rb+");
  354.     printf("-=-[ Menu Paket Saldo ]-=-\n");
  355.     printf("1. Paket 1 : 100000 saldo\n");
  356.     printf("2. Paket 2 : 50000 saldo\n");
  357.     printf("3. Paket 3 : 30000 saldo\n");
  358.     printf("Pilih paket 1/2/3 : "); scanf("%d", &s);
  359.     switch(s){
  360.         case 1 : while(fread(&ur,sizeof(ur),1,r_user)==1){     
  361.                     if (strcmp(ur.acc, login)==0){ 
  362.                         fseek(r_user, -sizeof(ur), SEEK_CUR);
  363.                         strcpy(ur.paket, "A");
  364.                         fwrite(&ur, sizeof(ur), 1, r_user); break;
  365.                     }
  366.                 } break;
  367.         case 2 : while(fread(&ur,sizeof(ur),1,r_user)==1){     
  368.                     if (strcmp(ur.acc, login)==0){ 
  369.                         fseek(r_user, -sizeof(ur), SEEK_CUR);
  370.                         strcpy(ur.paket, "B");
  371.                         fwrite(&ur, sizeof(ur), 1, r_user); break;
  372.                     }
  373.                 } break;
  374.         case 3 : while(fread(&ur,sizeof(ur),1,r_user)==1){     
  375.                     if (strcmp(ur.acc, login)==0){ 
  376.                         fseek(r_user, -sizeof(ur), SEEK_CUR);
  377.                         strcpy(ur.paket, "C");
  378.                         fwrite(&ur, sizeof(ur), 1, r_user); break;
  379.                     }
  380.                 } break;
  381.         default : printf("-=-[ Menu Tidak ada ]-=-");
  382.                   getchar();
  383.                   getch();
  384.                   system("cls");
  385.                   menuuser(); break;
  386.     }
  387.     getchar();
  388.     fclose(r_user);
  389.     system("cls");
  390.     printf("\n--Silahkan tunggu saldo anda terkirim--");
  391.     getchar();
  392.     system("cls"); 
  393.     menuuser();
  394. }
  395.  
  396. void game(){
  397.     int xx;
  398.     system("cls");
  399.     saldob = ur.saldo;
  400.     printf("Saldo anda : Rp. %d     ", ur.saldo);
  401.     printf("\n\n[ MENU GAME ]\n1.SNAKE (Rp.10000)\n2.TIC-TAC-TOE (Rp.8000)\n3.Penukaran\n4.EXIT\n");
  402.     printf("Pilih game : ");scanf("%d",&xx);
  403.     switch (xx){
  404.         case 1: snake();break;
  405.         case 2: tictactoe();break;
  406.         case 3: penukaran();
  407.         case 4: user();break;
  408.         default : printf("-=-[ Menu Tidak ada ]-=-");
  409.                   getchar();
  410.                   getch();
  411.                   system("cls");
  412.                   game(); break;
  413.     }
  414. }
  415.  
  416. void snake()
  417. {
  418.     FILE *r_user;
  419.     int n=100000;
  420.     r_user = fopen("user.dat", "rb+");
  421.     if(saldob >= n){
  422.         while(fread(&ur,sizeof(ur),1,r_user)==1){      
  423.         if (strcmp(ur.user, login)==0){
  424.             fseek(r_user, -sizeof(ur), SEEK_CUR);
  425.             ur.saldo = ur.saldo - n;
  426.             strcpy(ur.srating, "Main Game");
  427.             fwrite(&ur, sizeof(ur), 1, r_user);
  428. }
  429. fclose(r_user);
  430. printf("SELAMAT DATANG\nSILAHKAN TEKAN 'ENTER' UNTUK MELANJUTKAN");
  431. getch();}}
  432.  else if (ur.saldo<=n){
  433.     printf("Sanda kurang, silahkan isi ulang saldo anda :)");
  434.     getch();
  435.     system("cls");
  436.     game();
  437. }
  438.     char key;
  439.     Print();
  440.     system("cls");
  441.     load();
  442.     length=5;
  443.     head.x=25;
  444.     head.y=20;
  445.     head.direction=RIGHT;
  446.     Boarder();
  447.     Food();
  448.     life=3;
  449.     bend[0]=head;
  450.     Move();  
  451.  
  452. }
  453.  
  454. void Move()
  455. {
  456.     int a,i;
  457.     do{
  458.         Food();
  459.         fflush(stdin);
  460.         len=0;
  461.         for(i=0;i<30;i++)
  462.         {
  463.             body[i].x=0;
  464.             body[i].y=0;
  465.             if(i==length)
  466.             break;
  467.         }
  468.         Delay(length);
  469.         Boarder();
  470.         if(head.direction==RIGHT)
  471.             Right();
  472.         else if(head.direction==LEFT)
  473.             Left();
  474.         else if(head.direction==DOWN)
  475.             Down();
  476.         else if(head.direction==UP)
  477.             Up();
  478.         ExitGame();
  479.     }while(!kbhit());
  480.     a=getch();
  481.     if(a==27)
  482.     {
  483.         system("cls");
  484.         exit(0);
  485.     }
  486.     key=getch();
  487.     if((key==RIGHT&&head.direction!=LEFT&&head.direction!=RIGHT)||(key==LEFT&&head.direction!=RIGHT&&head.direction!=LEFT)||(key==UP&&head.direction!=DOWN&&head.direction!=UP)||(key==DOWN&&head.direction!=UP&&head.direction!=DOWN))
  488.     {
  489.         bend_no++;
  490.         bend[bend_no]=head;
  491.         head.direction=key;
  492.         if(key==UP)
  493.             head.y--;
  494.         if(key==DOWN)
  495.             head.y++;
  496.         if(key==RIGHT)
  497.             head.x++;
  498.         if(key==LEFT)
  499.             head.x--;
  500.         Move();
  501.     }
  502.     else if(key==27)
  503.     {
  504.         system("cls");
  505.         exit(0);
  506.     }
  507.     else
  508.     {
  509.         printf("\a");
  510.         Move();
  511.     }
  512. }
  513.  
  514. void gotoxy(int x, int y)
  515. {
  516.  COORD coord;
  517.  coord.X = x;
  518.  coord.Y = y;
  519.  SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
  520. }
  521. void GotoXY(int x, int y)
  522. {
  523.     HANDLE a;
  524.     COORD b;
  525.     fflush(stdout);
  526.     b.X = x;
  527.     b.Y = y;
  528.     a = GetStdHandle(STD_OUTPUT_HANDLE);
  529.     SetConsoleCursorPosition(a,b);
  530.  }
  531. void load(){
  532.     int row,col,r,c,q;
  533.     gotoxy(36,14);
  534.     printf("loading...");
  535.     gotoxy(30,15);
  536.     for(r=1;r<=20;r++){
  537.     for(q=0;q<=100000000;q++);
  538.     printf("%c",177);}
  539. }
  540. void Down()
  541. {
  542.     int i;
  543.     for(i=0;i<=(head.y-bend[bend_no].y)&&len<length;i++)
  544.     {
  545.         GotoXY(head.x,head.y-i);
  546.         {
  547.             if(len==0)
  548.                 printf("v");
  549.             else
  550.                 printf("*");
  551.         }
  552.         body[len].x=head.x;
  553.         body[len].y=head.y-i;
  554.         len++;
  555.     }
  556.     Bend();
  557.     if(!kbhit())
  558.         head.y++;
  559. }
  560. void Delay(long double k)
  561. {
  562.     Score();
  563.     long double i;
  564.     for(i=0;i<=(10000000);i++);
  565. }
  566. void ExitGame()
  567. {
  568.     int i,check=0;
  569.     for(i=4;i<length;i++)  
  570.     {
  571.         if(body[0].x==body[i].x&&body[0].y==body[i].y)
  572.         {
  573.             check++;    
  574.         }
  575.         if(i==length||check!=0)
  576.             break;
  577.     }
  578.     if(head.x<=10||head.x>=70||head.y<=10||head.y>=30||check!=0)
  579.     {
  580.         life--;
  581.         if(life>=0)
  582.         {
  583.             head.x=25;
  584.             head.y=20;
  585.             bend_no=0;
  586.             head.direction=RIGHT;
  587.             Move();
  588.         }
  589.         else
  590.         {
  591.             system("cls");
  592.             printf("Yahhhh game over, coba lagi kedepan yah!!!\nTeken tombol terserah buat keluar dari game\n");
  593.             record();
  594.             exit(0);
  595.         }
  596.     }
  597. }
  598. void Food()
  599. {
  600.     if(head.x==food.x&&head.y==food.y)
  601.     {
  602.         length++;
  603.         time_t a;
  604.         a=time(0);
  605.         srand(a);
  606.         food.x=rand()%70;
  607.         if(food.x<=10)
  608.             food.x+=11;
  609.         food.y=rand()%30;
  610.         if(food.y<=10)
  611.  
  612.             food.y+=11;
  613.     }
  614.     else if(food.x==0)
  615.     {
  616.         food.x=rand()%70;
  617.         if(food.x<=10)
  618.             food.x+=11;
  619.         food.y=rand()%30;
  620.         if(food.y<=10)
  621.             food.y+=11;
  622.     }
  623. }
  624. void Left()
  625. {
  626.     int i;
  627.     for(i=0;i<=(bend[bend_no].x-head.x)&&len<length;i++)
  628.     {
  629.         GotoXY((head.x+i),head.y);
  630.        {
  631.                 if(len==0)
  632.                     printf("<");
  633.                 else
  634.                     printf("*");
  635.         }
  636.         body[len].x=head.x+i;
  637.         body[len].y=head.y;
  638.         len++;
  639.     }
  640.     Bend();
  641.     if(!kbhit())
  642.         head.x--;
  643.  
  644. }
  645. void Right()
  646. {
  647.     int i;
  648.     for(i=0;i<=(head.x-bend[bend_no].x)&&len<length;i++)
  649.     {
  650.         body[len].x=head.x-i;
  651.         body[len].y=head.y;
  652.         GotoXY(body[len].x,body[len].y);
  653.         {
  654.             if(len==0)
  655.                 printf(">");
  656.             else
  657.                 printf("*");
  658.         }
  659.  
  660.         len++;
  661.     }
  662.     Bend();
  663.     if(!kbhit())
  664.         head.x++;
  665. }
  666. void Bend()
  667. {
  668.     int i,j,diff;
  669.     for(i=bend_no;i>=0&&len<length;i--)
  670.     {
  671.             if(bend[i].x==bend[i-1].x)
  672.             {
  673.                 diff=bend[i].y-bend[i-1].y;
  674.                 if(diff<0)
  675.                     for(j=1;j<=(-diff);j++)
  676.                     {
  677.                         body[len].x=bend[i].x;
  678.                         body[len].y=bend[i].y+j;
  679.                         GotoXY(body[len].x,body[len].y);
  680.                         printf("*");
  681.                         len++;
  682.                         if(len==length)
  683.                             break;
  684.                     }
  685.                 else if(diff>0)
  686.                     for(j=1;j<=diff;j++)
  687.                     {
  688.                        
  689.                         body[len].x=bend[i].x;
  690.                         body[len].y=bend[i].y-j;
  691.                         GotoXY(body[len].x,body[len].y);
  692.                         printf("*");
  693.                         len++;
  694.                         if(len==length)
  695.                             break;
  696.                     }
  697.             }
  698.         else if(bend[i].y==bend[i-1].y)
  699.         {
  700.             diff=bend[i].x-bend[i-1].x;
  701.             if(diff<0)
  702.                 for(j=1;j<=(-diff)&&len<length;j++)
  703.                 {
  704.                    
  705.                     body[len].x=bend[i].x+j;
  706.                     body[len].y=bend[i].y;
  707.                     GotoXY(body[len].x,body[len].y);
  708.                         printf("*");
  709.                    len++;
  710.                    if(len==length)
  711.                            break;
  712.                }
  713.            else if(diff>0)
  714.                for(j=1;j<=diff&&len<length;j++)
  715.                {
  716.                    body[len].x=bend[i].x-j;
  717.                    body[len].y=bend[i].y;
  718.                    GotoXY(body[len].x,body[len].y);
  719.                        printf("*");
  720.                    len++;
  721.                    if(len==length)
  722.                        break;
  723.                }
  724.        }
  725.    }
  726. }
  727. void Boarder()
  728. {
  729.    system("cls");
  730.    int i;
  731.    GotoXY(food.x,food.y);  
  732.        printf("F");
  733.    for(i=10;i<71;i++)
  734.    {
  735.        GotoXY(i,10);
  736.            printf("!");
  737.        GotoXY(i,30);
  738.            printf("!");
  739.    }
  740.    for(i=10;i<31;i++)
  741.    {
  742.        GotoXY(10,i);
  743.            printf("!");
  744.        GotoXY(70,i);
  745.            printf("!");
  746.    }
  747. }
  748. void Print()
  749. {
  750.    system("cls");
  751.    printf("\tInstruksi game:\n");
  752.    printf("\n-> Gunakan tombol arah di keyboard.\n\n-> Kamu akan mendapatkan makanan secara acak. Setiap makanan diberi 1 poin.\n\n-> Kamu punya kesempatan tiga kali. Kesempatanmu berkurang jika kamu menabrak dinding dan tubuh ularmu.\n\n-> Kamu bisa pause sementara gamenya dengan menekan tombol spasi. Untuk melanjutkan game, tekan kembali spasi\n\n-> Jika ingin keluar tekan esc. \n");
  753.    printf("\n\nTekan tombol secara acak untuk melanjutkan game...");
  754.    if(getch()==27)
  755.    exit(0);
  756. }
  757. void record(){
  758.    char plname[20],nplname[20],cha,c;
  759.    int i,j,px;
  760.    FILE *info;
  761.    info=fopen("record.txt","a+");
  762.    getch();
  763.    system("cls");
  764.    printf("Enter your name\n");
  765.    scanf("%[^\n]",plname);
  766.  
  767.    for(j=0;plname[j]!='\0';j++){
  768.    nplname[0]=toupper(plname[0]);
  769.    if(plname[j-1]==' '){
  770.    nplname[j]=toupper(plname[j]);
  771.    nplname[j-1]=plname[j-1];}
  772.    else nplname[j]=plname[j];
  773.    }
  774.    nplname[j]='\0';
  775.  
  776.    fprintf(info,"Nama Pemain :%s\n",nplname);
  777.  
  778.    time_t mytime;
  779.   mytime = time(NULL);
  780.   fprintf(info,"Tanggal bermain:%s",ctime(&mytime));
  781.     fprintf(info,"Score:%d\n",px=Scoreonly());
  782.    for(i=0;i<=50;i++)
  783.    fprintf(info,"%c",'_');
  784.    fprintf(info,"\n");
  785.    fclose(info);
  786.    printf("Ingin lihat scorenya? tekan 'y'\n");
  787.    cha=getch();
  788.    system("cls");
  789.    if(cha=='y'){
  790.    info=fopen("record.txt","r");
  791.    do{
  792.        putchar(c=getc(info));
  793.        }while(c!=EOF);}
  794.      fclose(info);
  795.      game();
  796. }
  797. int Score()
  798. {
  799.    int score;
  800.    GotoXY(20,8);
  801.    score=length-5;
  802.    printf("SCORE : %d",(length-5));
  803.    score=length-5;
  804.    GotoXY(50,8);
  805.    printf("Life : %d",life);
  806.    return score;
  807. }
  808. int Scoreonly()
  809. {
  810. int score=Score();
  811. system("cls");
  812. return score;
  813. }
  814. void Up()
  815. {
  816.    int i;
  817.    for(i=0;i<=(bend[bend_no].y-head.y)&&len<length;i++)
  818.    {
  819.        GotoXY(head.x,head.y+i);
  820.        {
  821.            if(len==0)
  822.                printf("^");
  823.            else
  824.                printf("*");
  825.        }
  826.        body[len].x=head.x;
  827.        body[len].y=head.y+i;
  828.        len++;
  829.    }
  830.    Bend();
  831.    if(!kbhit())
  832.        head.y--;
  833. }
  834.  
  835. void tictactoe(){
  836.     system("cls");
  837.     printf("GAME TICTACTOE");
  838. }
  839.  
  840. void penukaran(){
  841.     system ("cls");
  842.     char plname[20],nplname[20],cha,c;
  843.     int i,j,px,score;
  844.     FILE *info;
  845.     info=fopen("record.txt","a+");
  846.     score=length-5;
  847.     printf("SCORE : %d",(length-5));
  848.     score=length-5;
  849.     fclose(info);
  850.     info=fopen("record.txt","r");
  851.    do{
  852.        putchar(c=getc(info));
  853.        }
  854.     while(c!=EOF);
  855.      fclose(info);
  856.     getch();
  857. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement