{"id":20618632,"url":"https://github.com/allanchain/namecross","last_synced_at":"2025-08-19T11:14:30.155Z","repository":{"id":108641227,"uuid":"195341641","full_name":"AllanChain/NameCross","owner":"AllanChain","description":"Make a cross maze to include everyone's name!","archived":false,"fork":false,"pushed_at":"2019-07-10T03:25:02.000Z","size":2358,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-20T01:05:11.947Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AllanChain.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-05T05:01:59.000Z","updated_at":"2019-07-10T03:25:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"af3f5dbd-625d-4af8-a4b9-9dff49c2eca5","html_url":"https://github.com/AllanChain/NameCross","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AllanChain/NameCross","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllanChain%2FNameCross","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllanChain%2FNameCross/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllanChain%2FNameCross/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllanChain%2FNameCross/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AllanChain","download_url":"https://codeload.github.com/AllanChain/NameCross/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllanChain%2FNameCross/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271143398,"owners_count":24706346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T12:09:03.631Z","updated_at":"2025-08-19T11:14:30.140Z","avatar_url":"https://github.com/AllanChain.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NameCross\nMake a cross maze to include everyone's name! The connection made up a whole picture, you could not split it into two parts without spliting any name.\n\n把所有人的名字组合成一个交叉迷宫！并且整个迷宫是一个整体，你不能把迷宫分成两部分而不分裂任何一个名字。\n\n## Perfect Example\n\n![Demo](https://github.com/AllanChain/NameCross/raw/master/demo.gif)\n\n**The demos are outdated after a catastrophy (see commit 875352a)**\n\n**下面的示例内容在大灾难后已经过时（见875352a）**\n\nAs far as I can see, the mazes below is perfect (No.2 and 3 is pruned by me):\n\n我觉得下面这几个迷宫是完美的（图2和图3是我修过的）：\n\n```\n---wdlsry  ----zgzss---  --slt-sswnp  --xklsry----  lsry----pszl\n--xjxym---  -d--mpszc---  -szcxjzqyth  --sltzmh----  -wdlhrwhhzmh\ncjkphrwswn  -jxjhhzlycj-  -dyjsjlycc-  jxzdjcwdlx--  -nxycsydjcw-\nszlscsyjx-  -ckscsyjyjzq  -jxycsyby--  sjlycsysqyz-  --kfscyyzgz-\nlyfscyylyc  -sltcjklsry-  scyjzyftyb-  szyscyy-xcg-  sjl-tcjkyth-\ntybtdsszc-  xymwdlyfwhh-  tjmhgmwdl--  wqftybpjyjzy  --szysxjyjzq\n-tjyjzqg--  y-dythrwn---  xklhzmh----  nythrwhhmk--  --qyblyc-h--\nwhh-cyyz--  c-sqyb------  -lsry-h----  -b-----h----  --y--tm--h--\nzmh---b---  ----b-------  ---w-------\n```\n\nBut there are also ugly ones:\n\n但也有丑的：\n\n```\n----------x-\n----------ks\n---------slt\n---------zx-\n----xymsjlyf\nwdlphrwhhycc\n--szcsydjcjk\n--rmscyythxj\nsqyhzgzjyjhh\nwyjzy---b---\nnbz---------\n--q---------\n```\n\nWhere `-` represents an unused block. Note when you expand a character into a `1 * 1` box rather than `1 * 2`, it will be approximately a square.\n\n其中`-`代表一个未被使用的空格。注意当你让一个字母占据`1 * 1`的格子而不是`1 * 2`时，它会大约变成一个正方形。\n\n\u003e Okey, I know there are two `cyy` and `sc`\n\u003e \n\u003e 好吧，我知道它有两个`sc`和`cyy`\n\nOther solutions can be found at `solutions/`\n\n你能在`solution/`文件夹中找到更多解\n\n## Usage\n\n```shell\nusage: main.py [-h] --data DATA --output OUTPUT [-n N] [--use-colorama]\n               [--seed SEED | --random WxH]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --data DATA, -d DATA  The name data file\n  --output OUTPUT, -o OUTPUT\n                        Directory to store output\n  -n N                  Number of attempts\n  --use-colorama, -c    Whether use colorama\n  --seed SEED, -s SEED  The seed to apply\n  --random WxH, -r WxH  Use random mode and specify its size, e.g. 12x12\n\n# To run the example data set for 100 attempts and output to directory better/\npython3 main.py --data data/TG2019303.txt --o better\n\n# If you are using Windows cmd and has colorama installed, add a -c option\npython3 main.py --data data/TG2019303.txt --o better -c\n\n# To run 1000 attempts\npython3 main.py --data data/TG2019303.txt --o better -n 1000\n\n# To give it a seed file\npython3 main.py --data data/TG2019303.txt --o better -s data/seed_one.txt\n\n# To use random mode\npython3 main.py --data data/TG2019303.txt --o better -r 11x11\n```\n\n```shell\nusage: gif_maker.py [-h] --data DATA --input INPUT [--text TEXT] --output\n                    OUTPUT\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --data DATA, -d DATA  Name data file\n  --input INPUT, -i INPUT\n                        Input name map file\n  --text TEXT, -t TEXT  Text to draw\n  --output OUTPUT, -o OUTPUT\n                        Output directory\n                        \n# To get the demo gif\ngif_maker.py -d data/TG2019303.txt -i better/f465c4059c8ab543af0b0b842723ad13 -o demo.gif\n\n# Or if you belong to another class\ngif_maker.py -d data/TG2019319.txt -i better/ffffffffffffffffffffffffffffffff -t 319 -o demo.gif\n```\n## How It Works\n\nIt has **nothing to do with AI**, because it is just hard-coded evaluation with high weight of the often no used names, and a kiand of random choice. In general, 10 answers are found per thousand attempt. It takes 47s to complete 1000 attempts on my laptop.\n\n它**和AI没有半毛钱关系** ， 因为它不过是预先写好的评估算法（加上对失败尝试时未被使用的名字的高权重）和随机选择。在我的笔记本上，1000次尝试会有10个解，要花47秒钟。\n\n# ToDo\n\n- [X] Add overall evaluation to get best output in all solutions\n- [X] Different name to be the seed\n- [ ] Better algorithm (maybe real ML)\n- [X] Gif animation or HTML\u0026JS interaction\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallanchain%2Fnamecross","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fallanchain%2Fnamecross","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallanchain%2Fnamecross/lists"}