打印本文 打印本文  关闭窗口 关闭窗口  
游戏及学习控制管理器
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 13:57:17  文章录入:杜斌  责任编辑:杜斌

  /*控制主程序control.exe*/
  #include<stdio.h>
  #include<string.h>
  #include<dos.h>
  #define MAX 100
  typedef struct
  {
          char name[30];
          char path[100];
          char exename[30];
          char taskname[30];
  } list;
  list gamelist[MAX];
  char password[20];
  int recordnum;
  int points;

  char p[70];
  int initcontrol()
  {
      FILE *input,*output;
      char temp[80];
      int i;
      input=fopen("Control.ini","r");
      output=fopen("Control.tmp","w");
      while(!feof(input))
      {
        fgets(temp,80,input);
        if(temp[0]!=';') fputs(temp,output);
      }
      fclose(input);
      fclose(output);
      input=fopen("Control.tmp","r");      
      fscanf(input,"%d",&recordnum);
      for(i=0;i<recordnum;i++) fscanf(input,"%s%s%s%s",gamelist[i].name,gamelist[i].path,gamelist[i].exename,gamelist[i].taskname);
      fclose(input);
      input=fopen("Control","r");
      fscanf(input,"%d%s",&points,password);
      fclose(input);
  }
  int startgame(int time)
  {
      int n;
      int i;
      printf("\n请选择游戏:1-%d\n",recordnum);
      for(i=0;i<recordnum;i++) printf("%d.%s\n",i+1,gamelist[i].name);
      choice:
      scanf("%d",&n);
      if(n<=recordnum && n>0)
      {
        sprintf(p," %s %d",gamelist[n-1].taskname,time);
        spawnl(1,"D:\\control\\break.exe",p,NULL);
        chdir(gamelist[n-1].path);
        system(gamelist[n-1].exename);
      }
      else
      {
        printf("序号错误!请重新选择\n");
        goto choice;
      }
  }
  int main(void)
  {
      int i=0;
      int n;
      int time;
      FILE *output;
      initcontrol();
      printf("SK-CHINA 2007-2008\n");
      printf("游戏总控制程序\n");
      printf("Game Control BY S.K\n");
      printf("请选择\n1.使用点数\n2.输入家长控制密码\n");
      scanf("%d",&n);
      if(n==1)
      {
        printf("现有点数:%d\n你游戏的每分钟将耗点数1\n",points);
        printf("请设定游戏时间 [单位:分钟]\n");
        re:
        scanf("%d",&time);
        if(time>points)
        {
          printf("点数不够,请重新输入\n");
          goto re;
        }
        points=points-time;
        output=fopen("Control","w");
        fprintf(output,"%d\n%s",points,password);
        startgame(time);
      }


      if(n==2)
      {
        printf("\n请输入家长控制密码:");
        while(p[i]=getch())
        {
          if(p[i]==13) break;
          if(p[i]!='\b')
          {
            printf("*");
            i++;
          }
          else
          {
            printf("\b \b");
            i--;
          }
        }
        p[i]='\0';
        if(strcmp(password,p)==0)
        {
          printf("\n密码通过!");
          printf("请设定游戏时间 [单位:分钟]\n");
          scanf("%d",&time);
          startgame(time);
        }
        else
        {
          printf("\n密码错误!按任意键退出");
          getch();
          exit(1);
        }
      }    
  }
  /*控制关闭程序break.exe*/
  DEV-CPP 32位C工程
  #include<stdio.h>
  #include<dos.h>
  #include<string.h>
  int main(int argc,char **argv)
  {
    int t;
    int i;
    char s[100];
    if(argc>2)
    {
      sscanf(argv[2],"%d",&t);
      sleep(t*60000);
      sprintf(s,"taskkill /im %s /f",argv[1]);
      system(s);
    }
    return 0;
  }
  /*学习控制器 study.exe 比较简陋的,有待更新*/
  #include<stdio.h>
  #include<stdlib.h>
  #include<time.h>
  #include<dir.h>
  int main(void)
  {
      time_t time1,time2;
      int n;
      int x;
      int points;
      char path[100];
      char password[20];
      FILE *input,*output;
      printf("你可以通过学习英语获取游戏点数,每一分钟的学习将获得一点游戏点");
      printf("\n是否学习?[1.学习 2.终止]");
      scanf("%d",&n);
      if(n==1)
      {
            getcwd(path,100);
            chdir("D:\\ruanjian\\New Oriental Soft\\New Oriental Words 4\\"); /*这是一个学习软件的路径*/
            time1=time(NULL);
            system("Recite4.exe"); /*学习软件的程序名*/
            time2=time(NULL);
            x=(int)(difftime(time2,time1)/60);
            chdir(path);
            input=fopen("control","r");
            fscanf(input,"%d%s",&points,password);
            points=points+x;
            fclose(input);
            output=fopen("control","w");
            fprintf(output,"%d\n%s",points,password);
            fclose(output);
      }
      return 0;
  }

打印本文 打印本文  关闭窗口 关闭窗口