找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1475|回复: 22

一个WR排名的小东西(已更新)

[复制链接]

该用户从未签到

发表于 2009-5-15 01:35:06 | 显示全部楼层 |阅读模式
本帖最后由 donle 于 2009-5-15 15:50 编辑

随手写的一个, WR的排名程序.
编程水平有限,可能会有某些小问题
运行后生成一个TXT文本,按每位选手拥有的WR的数量进行排名,并列举所有该选手的WR地图和时间(XJ上其实有,照顾一些E文不好的, 就自己写了一个,而且有每个选手的所有WR地图列表,这个XJ是没有的 ^ ^)

根据那个谁谁谁的提示,又重新写了一个,源程序依然保留额

1.

操作方法:
1.进入XJ官方WR下载页面:http://xtreme-jumps.eu/demos.php
2.复制里面从第一条WR开始的记录(直接按住鼠标左键不放,往下拖就行了,一直到最后一条记录为止)
注意:加入任何其他的东西都会使最后运行出错!!!
3.将复制的内容粘贴到名为"list.txt"的文本里,然后将"WR排名.exe"和"list.txt"放在同一个文件夹下,运行.
4.之后就会生成一个名为"wr_mem_sort.txt"的文本文件, 里面的内容就是最后的排名了

有了这个就可以随时知道目前WR的排名了,XJ的左上角都不是实施更新的

下载1:
http://www.namipan.com/d/WR%e6%8e%92%e5%90%8d%e7%a8%8b%e5%ba%8f.rar/35a6c62cf121928cbce65e4aaff014be8b0c293f18b20100


2.
操作方法:
1.进入下载页面:http://xtreme-jumps.eu/demos.txt
2.复制里面的所有内容(或者直接下载另存)
注意:加入任何其他的东西都会使最后运行出错!!!
3.将复制的内容粘贴到名为"demo.txt"的文本里(下载下来的直接跳过此步),然后将"WR排名.exe"和"demo.txt"放在同一个文件夹下,运行.
4.之后就会生成一个名为"wr_mem_sort.txt"的文本文件, 里面的内容就是最后的排名了


下载2:
http://www.namipan.com/d/WR%e6%8e%92%e5%90%8d%e7%a8%8b%e5%ba%8f.rar/446d961764e3e9c5338d54e4fd4bf95b80dc2ab5b18b0100

//////////////////////////////////////////////////////////////////////////////////////////
下面是给XXX和NEWBIE之类的人看的, 如果看到觉得头晕的请无视:
C++的源代码我发上来了,这个程序写起来不高深,不知谁能有点优化的算法,而且我没有用CreatFile 和 OpenFile,是用的文件流.耗时可能会(非明显的)变长
CODE1:

  1. #pragma warning(disable: 4786)
  2. #include <windows.h>
  3. #include <fstream>
  4. #include <string>
  5. #include <map>
  6. #include <vector>
  7. #include <iomanip>
  8. using namespace std;
  9. int WINAPI WinMain(HINSTANCE hInstance,
  10.        HINSTANCE hPrevInstance,
  11.        LPSTR lpCmdLine,
  12.        int nShowCmd )
  13. {
  14. fstream fin("list.txt", ios::in);
  15. if(!fin)
  16. {
  17.   MessageBox(NULL, "不能打开当前文档!", "提示",  MB_OK);
  18.   return 0;
  19. }
  20. fstream fout("wr_mem_sort.txt", ios:ut);
  21. map<string, int> mem_rec;
  22. map<string, vector< vector<string> > > mem_maps;
  23. string map_name, name, time, temp_down;
  24. double fps;
  25. vector<string> temp;
  26. while(fin.peek() != EOF)
  27. {
  28.   temp.clear();
  29.   fin >> map_name >> name;
  30.   if(name == "He" || name == "Fact" || name == "Muwka")
  31.   {
  32.    string Trush1, Trush2;
  33.    if(name == "He")
  34.     name.append(" B TeMy");
  35.    else if(name == "Fact")
  36.     name.append(" Or Fiction");
  37.    else
  38.     name.append(" Ha CePBeP");
  39.    fin >> Trush1 >> Trush2;
  40.   }
  41.   fin >> time >> fps >> temp_down;
  42.   mem_rec[name]++;
  43.   temp.push_back(map_name);
  44.   temp.push_back(time);
  45.   mem_maps[name].push_back(temp);
  46. }
  47. fin.close();
  48. multimap<int, string> rec_mem;
  49. for(map<string, int>::iterator it = mem_rec.begin(); it != mem_rec.end(); it++)
  50. {
  51.   rec_mem.insert(pair<int ,string>(it->second, it->first));
  52. }
  53. int count = 1;
  54. for(multimap<int, string>::reverse_iterator pos = rec_mem.rbegin(); pos != rec_mem.rend(); pos++)
  55. {
  56.   fout << "\n*******************第" << count++ << "名*******************" << endl << endl;
  57.   fout << "WR总数: " << pos->first << '\t' << "ID: " << pos->second << endl;
  58.   fout << "所有WR记录如下: " << endl;
  59.   for(map<string, vector< vector<string> > >::iterator iter = mem_maps.begin(); iter != mem_maps.end(); iter++)
  60.   {
  61.    if(iter->first == pos->second)
  62.    {
  63.     for(vector< vector<string> >::size_type i = 0; i != iter->second.size(); i++)
  64.     {
  65.      fout.setf(ios::left);
  66.      for(vector<string>::size_type j = 0; j != iter->second.size(); j++)
  67.         fout << setw(30) << iter->second[j] << '\t';
  68.      fout << endl;
  69.     }
  70.    }
  71.   }
  72. }
  73.   MessageBox(NULL, "创建成功!", "提示",  MB_OK);
  74.   return 0;
  75. }
复制代码



CODE2:

  1. #pragma warning(disable: 4786)
  2. #include <windows.h>
  3. #include <fstream>
  4. #include <string>
  5. #include <map>
  6. #include <vector>
  7. #include <iomanip>
  8. using namespace std;
  9. int WINAPI WinMain(HINSTANCE hInstance,
  10.        HINSTANCE hPrevInstance,
  11.        LPSTR lpCmdLine,
  12.        int nShowCmd )
  13. {
  14. fstream fin("demo.txt", ios::in);
  15. if(!fin)
  16. {
  17.   MessageBox(NULL, "不能打开当前文档!", "提示",  MB_OK);
  18.   return 0;
  19. }
  20. fstream fout("wr_mem_sort.txt", ios::out);
  21. map<string, int> mem_rec;
  22. map<string, vector< vector<string> > > mem_maps;
  23. string map_name, name, time;
  24. vector<string> temp;
  25. string XJ_Title;
  26. fin >> XJ_Title;
  27. while(fin.peek() != EOF)
  28. {
  29.   temp.clear();
  30.   fin >> map_name >> time >> name;
  31.   if(name == " ")
  32.    continue;
  33.   if(name == "He" || name == "Fact" || name == "Muwka")
  34.   {
  35.    string Trush1, Trush2;
  36.    if(name == "He")
  37.     name.append(" B TeMy");
  38.    else if(name == "Fact")
  39.     name.append(" Or Fiction");
  40.    else
  41.     name.append(" Ha CePBeP");
  42.    fin >> Trush1 >> Trush2;
  43.   }
  44.   mem_rec[name]++;
  45.   temp.push_back(map_name);
  46.   int ValTime = atoi(time.c_str());
  47.   int minute = ValTime / 60, second = ValTime % 60;
  48.   time.erase(time.begin(), time.end());
  49.   char tempmin[3], tempsec[3];
  50.   itoa(minute, tempmin, 10);
  51.   itoa(second, tempsec, 10);
  52.   if(minute < 10)
  53.    time.append("0");
  54.   time.append(tempmin);
  55.   time.append("分");
  56.   if(second < 10)
  57.    time.append("0");
  58.   time.append(tempsec);
  59.   time.append("秒");
  60.   temp.push_back(time);
  61.   mem_maps[name].push_back(temp);
  62. }
  63. fin.close();
  64. multimap<int, string> rec_mem;
  65. for(map<string, int>::iterator it = mem_rec.begin(); it != mem_rec.end(); it++)
  66. {
  67.   rec_mem.insert(pair<int ,string>(it->second, it->first));
  68. }
  69. int count = 1;
  70. fout << "================================================" << endl;
  71. fout << "\n\t  内容来自" << XJ_Title << endl << endl;
  72. fout << "================================================" << endl;
  73. for(multimap<int, string>::reverse_iterator pos = rec_mem.rbegin(); pos != rec_mem.rend(); pos++)
  74. {
  75.   fout << "\n*******************第" << count++ << "名*******************" << endl << endl;
  76.   fout << "WR总数: " << pos->first << '\t' << "ID: " << pos->second << endl;
  77.   fout << "所有WR记录如下: " << endl;
  78.   for(map<string, vector< vector<string> > >::iterator iter = mem_maps.begin(); iter != mem_maps.end(); iter++)
  79.   {
  80.    if(iter->first == pos->second)
  81.    {
  82.     for(vector< vector<string> >::size_type i = 0; i != iter->second.size(); i++)
  83.     {
  84.      fout.setf(ios::left);
  85.      for(vector<string>::size_type j = 0; j != iter->second[i].size(); j++)
  86.       fout << setw(30) << iter->second[i][j] << '\t';
  87.      fout << endl;
  88.     }
  89.    }
  90.   }
  91. }
  92.   MessageBox(NULL, "创建成功!", "提示",  MB_OK);
  93.   return 0;
  94. }
复制代码

评分

参与人数 2金币 +23 +23 收起 理由
pepedog + 3 + 3 原创内容
SiMen.NaMe + 20 + 20 鼓励分享

查看全部评分

该用户从未签到

发表于 2009-5-15 01:39:58 | 显示全部楼层
很好,我越来越发现不是和你们一个档次的了

代码:晕~~~~~~

该用户从未签到

发表于 2009-5-15 01:40:14 | 显示全部楼层
C语言不及格的计算机系人才路过...

该用户从未签到

 楼主| 发表于 2009-5-15 01:46:08 | 显示全部楼层
NEWBIE肯定在暗自鄙视: 这玩意~ 小儿科

该用户从未签到

发表于 2009-5-15 01:47:31 | 显示全部楼层
Y语言不合格的路过。

该用户从未签到

发表于 2009-5-15 01:53:51 | 显示全部楼层
-.-WR 列表...
xj的demo.php 那页不就有了- -!
点一下name 就按名字排序了....
纯支持

该用户从未签到

发表于 2009-5-15 02:12:02 | 显示全部楼层
支持有心人!

该用户从未签到

发表于 2009-5-15 02:14:07 | 显示全部楼层
后悔没好好学习哦

该用户从未签到

发表于 2009-5-15 02:34:53 | 显示全部楼层
我好想认识楼主啊- -

但是想不起来了。。。- - #

是 叉叉吗?

该用户从未签到

发表于 2009-5-15 08:06:48 | 显示全部楼层
编译好了,发可执行文件吧
光代码没啥用那
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表