{"id":20592415,"url":"https://github.com/valodim/sevenwonders","last_synced_at":"2026-04-19T12:36:26.180Z","repository":{"id":13976781,"uuid":"16677528","full_name":"Valodim/SevenWonders","owner":"Valodim","description":"A Scala implementation of Antoine Bauza's Seven Wonders board game","archived":false,"fork":false,"pushed_at":"2014-02-12T13:10:19.000Z","size":216,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-17T00:12:43.526Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","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/Valodim.png","metadata":{"files":{"readme":"readme.mkd","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}},"created_at":"2014-02-09T22:31:42.000Z","updated_at":"2014-02-12T13:10:22.000Z","dependencies_parsed_at":"2022-07-31T17:09:04.270Z","dependency_job_id":null,"html_url":"https://github.com/Valodim/SevenWonders","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valodim%2FSevenWonders","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valodim%2FSevenWonders/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valodim%2FSevenWonders/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valodim%2FSevenWonders/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Valodim","download_url":"https://codeload.github.com/Valodim/SevenWonders/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242223025,"owners_count":20092173,"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","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-16T07:43:51.463Z","updated_at":"2026-04-19T12:36:26.119Z","avatar_url":"https://github.com/Valodim.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"Seven\n=====\n\nThis is an implementation of the excellent Seven Wonders board game by Antoine\nBauza in Scala. It is a weekend project, mainly serving as a means to finally\nlearn myself some Scala. That said I'm sure there are a lot of things that\ncould be done better in concept and implementation. Drop me a line on freenode\nif you have comments of any sort - I'd be happy to hear feedback, especially\nabout more idiomatic ways to implement things in Scala. I am sure there are a\nlot of places where the approach I have taken is rather naive.\n\nAt the point of this writing all game mechanics, cards and wonders have been\nimplemented, along with a basic CLI user interface. Although the implementation\nis mostly true to the rules, there are a couple of places that might behave\ndifferently.\n\nThe game runs in a simple mode with player 1 controlled by the UI, all other\nplayers always pick the first card in their hand discarding if it can't be\nbuilt.\nThe code is structured to allow for easy substitution of the UI, and I plan to\ncreate an IRC UI implementation at some point. There is no abstraction layer\nfor AI yet.\n\nA note on Seven Wonders extensions: Both the Leaders and Cities extensions come\nwith a plethora of new game mechanics, which introduce a lot of special cases\nthat are complicated to cleanly implement. They also mess with the perfect\nstrategic balance which makes the original game great, which is why I have no\nplans to implement either of them. If you care about those, go fork yourself.\nThe repository, that is. :)\n\n\nTODO\n----\n\nIn no particular order\n\n* Translate card names to English (missing a comprehensive list)\n* Implement test cases\n* Fix bugs\n* Learn Scala properly\n* Implement AI(s)\n* Implement a ui that is actually playable\n* Fix the behavior of Babylon and Halikarnassos when combined\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalodim%2Fsevenwonders","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalodim%2Fsevenwonders","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalodim%2Fsevenwonders/lists"}