WinColl 1.2.8__tar.gz → 1.2.10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. {wincoll-1.2.8 → wincoll-1.2.10}/PKG-INFO +2 -2
  2. {wincoll-1.2.8 → wincoll-1.2.10}/WinColl.egg-info/PKG-INFO +2 -2
  3. wincoll-1.2.10/WinColl.egg-info/requires.txt +1 -0
  4. {wincoll-1.2.8 → wincoll-1.2.10}/po/wincoll.pot +4 -4
  5. {wincoll-1.2.8 → wincoll-1.2.10}/pyproject.toml +2 -2
  6. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/wincoll_game.py +17 -32
  7. wincoll-1.2.8/WinColl.egg-info/.bak.0.PKG-INFO +0 -160
  8. wincoll-1.2.8/WinColl.egg-info/.bak.0.requires.txt +0 -1
  9. wincoll-1.2.8/WinColl.egg-info/.bak.1.PKG-INFO +0 -160
  10. wincoll-1.2.8/WinColl.egg-info/.bak.1.requires.txt +0 -1
  11. wincoll-1.2.8/WinColl.egg-info/SOURCES.txt +0 -79
  12. wincoll-1.2.8/WinColl.egg-info/requires.txt +0 -1
  13. wincoll-1.2.8/po/.bak.0.wincoll.pot +0 -32
  14. wincoll-1.2.8/po/.bak.1.wincoll.pot +0 -32
  15. {wincoll-1.2.8 → wincoll-1.2.10}/COPYING +0 -0
  16. {wincoll-1.2.8 → wincoll-1.2.10}/MANIFEST.in +0 -0
  17. {wincoll-1.2.8 → wincoll-1.2.10}/README.md +0 -0
  18. /wincoll-1.2.8/WinColl.egg-info/.bak.0.SOURCES.txt → /wincoll-1.2.10/WinColl.egg-info/SOURCES.txt +0 -0
  19. {wincoll-1.2.8 → wincoll-1.2.10}/WinColl.egg-info/dependency_links.txt +0 -0
  20. {wincoll-1.2.8 → wincoll-1.2.10}/WinColl.egg-info/entry_points.txt +0 -0
  21. {wincoll-1.2.8 → wincoll-1.2.10}/WinColl.egg-info/top_level.txt +0 -0
  22. {wincoll-1.2.8 → wincoll-1.2.10}/po/de.po +0 -0
  23. {wincoll-1.2.8 → wincoll-1.2.10}/po/el.po +0 -0
  24. {wincoll-1.2.8 → wincoll-1.2.10}/po/es.po +0 -0
  25. {wincoll-1.2.8 → wincoll-1.2.10}/po/fr.po +0 -0
  26. {wincoll-1.2.8 → wincoll-1.2.10}/po/ka.po +0 -0
  27. {wincoll-1.2.8 → wincoll-1.2.10}/po/nb.po +0 -0
  28. {wincoll-1.2.8 → wincoll-1.2.10}/po/pt_BR.po +0 -0
  29. {wincoll-1.2.8 → wincoll-1.2.10}/po/ro.po +0 -0
  30. {wincoll-1.2.8 → wincoll-1.2.10}/po/sk.po +0 -0
  31. {wincoll-1.2.8 → wincoll-1.2.10}/po/sr.po +0 -0
  32. {wincoll-1.2.8 → wincoll-1.2.10}/po/sv.po +0 -0
  33. {wincoll-1.2.8 → wincoll-1.2.10}/po/uk.po +0 -0
  34. {wincoll-1.2.8 → wincoll-1.2.10}/setup.cfg +0 -0
  35. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/__init__.py +0 -0
  36. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/__main__.py +0 -0
  37. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/01 A gentle introduction.tmx +0 -0
  38. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/02 Hi! from Pav.tmx +0 -0
  39. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/03 On a Coconut Island.tmx +0 -0
  40. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/04 Not a rip-off.tmx +0 -0
  41. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/05 Long way round.tmx +0 -0
  42. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/06 Which key.tmx +0 -0
  43. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/07 Fuzzy.tmx +0 -0
  44. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/08 Spiral Galaxy.tmx +0 -0
  45. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/09 Escape from Pompeii.tmx +0 -0
  46. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/10 Riddle me this.tmx +0 -0
  47. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/11 Doctor Jones, I presume.tmx +0 -0
  48. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/12 Stairway to Hell.tmx +0 -0
  49. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/13 Round and round.tmx +0 -0
  50. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/14 Alchemy.tmx +0 -0
  51. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/15 Race to the top.tmx +0 -0
  52. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/Blob.png +0 -0
  53. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/Brick.png +0 -0
  54. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/Collect.wav +0 -0
  55. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/Diamond.png +0 -0
  56. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/Die.png +0 -0
  57. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/Die.wav +0 -0
  58. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/Earth.png +0 -0
  59. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/EndGame.wav +0 -0
  60. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/EndLevel.wav +0 -0
  61. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/Gap.png +0 -0
  62. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/Hero.png +0 -0
  63. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/Key.png +0 -0
  64. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/Rock.png +0 -0
  65. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/Safe.png +0 -0
  66. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/Slide.wav +0 -0
  67. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/Unlock.wav +0 -0
  68. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/WinColl.tsx +0 -0
  69. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/app-icon.png +0 -0
  70. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/levels/title.png +0 -0
  71. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/locale/de/LC_MESSAGES/wincoll.mo +0 -0
  72. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/locale/el/LC_MESSAGES/wincoll.mo +0 -0
  73. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/locale/es/LC_MESSAGES/wincoll.mo +0 -0
  74. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/locale/fr/LC_MESSAGES/wincoll.mo +0 -0
  75. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/locale/ka/LC_MESSAGES/wincoll.mo +0 -0
  76. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/locale/nb/LC_MESSAGES/wincoll.mo +0 -0
  77. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/locale/pt_BR/LC_MESSAGES/wincoll.mo +0 -0
  78. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/locale/ro/LC_MESSAGES/wincoll.mo +0 -0
  79. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/locale/sk/LC_MESSAGES/wincoll.mo +0 -0
  80. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/locale/sr/LC_MESSAGES/wincoll.mo +0 -0
  81. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/locale/sv/LC_MESSAGES/wincoll.mo +0 -0
  82. {wincoll-1.2.8 → wincoll-1.2.10}/wincoll/locale/uk/LC_MESSAGES/wincoll.mo +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: WinColl
3
- Version: 1.2.8
3
+ Version: 1.2.10
4
4
  Summary: Simple rocks-and-diamonds game
5
5
  Author-email: Reuben Thomas <rrt@sc3d.org>
6
6
  License: GPL v3 or later
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 3
13
13
  Requires-Python: >=3.12
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: COPYING
16
- Requires-Dist: chambercourt>=0.9.36
16
+ Requires-Dist: chambercourt>=0.9.37
17
17
  Dynamic: license-file
18
18
 
19
19
  # WinColl
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: WinColl
3
- Version: 1.2.8
3
+ Version: 1.2.10
4
4
  Summary: Simple rocks-and-diamonds game
5
5
  Author-email: Reuben Thomas <rrt@sc3d.org>
6
6
  License: GPL v3 or later
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 3
13
13
  Requires-Python: >=3.12
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: COPYING
16
- Requires-Dist: chambercourt>=0.9.36
16
+ Requires-Dist: chambercourt>=0.9.37
17
17
  Dynamic: license-file
18
18
 
19
19
  # WinColl
@@ -0,0 +1 @@
1
+ chambercourt>=0.9.37
@@ -6,9 +6,9 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: PACKAGE 1.2.8\n"
9
+ "Project-Id-Version: PACKAGE 1.2.10\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2026-06-25 22:24+0100\n"
11
+ "POT-Creation-Date: 2026-07-14 15:33+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,14 +17,14 @@ msgstr ""
17
17
  "Content-Type: text/plain; charset=CHARSET\n"
18
18
  "Content-Transfer-Encoding: 8bit\n"
19
19
 
20
- #: wincoll/wincoll_game.py:65
20
+ #: wincoll/wincoll_game.py:67
21
21
  msgid "Collect all the diamonds while digging through earth dodging rocks."
22
22
  msgstr ""
23
23
 
24
24
  #. TRANSLATORS: Please keep this text wrapped to 40 characters. The font
25
25
  #. used in-game is lacking many glyphs, so please test it with your
26
26
  #. language and let me know if I need to add glyphs.
27
- #: wincoll/wincoll_game.py:73
27
+ #: wincoll/wincoll_game.py:75
28
28
  msgid ""
29
29
  "Collect all the diamonds on each level.\n"
30
30
  "Get a key to turn safes into diamonds.\n"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "WinColl"
3
- version = "1.2.8"
3
+ version = "1.2.10"
4
4
  description = "Simple rocks-and-diamonds game"
5
5
  license = {text = "GPL v3 or later"}
6
6
  authors = [{name = "Reuben Thomas", email = "rrt@sc3d.org"}]
@@ -8,7 +8,7 @@ readme = "README.md"
8
8
  urls = {Homepage = "https://github.com/rrthomas/wincoll"}
9
9
  requires-python = ">= 3.12"
10
10
  dependencies = [
11
- "chambercourt >= 0.9.36",
11
+ "chambercourt >= 0.9.37",
12
12
  ]
13
13
  classifiers = [
14
14
  "Environment :: X11 Applications",
@@ -4,6 +4,7 @@
4
4
  Released under the GPL version 3, or (at your option) any later version.
5
5
  """
6
6
 
7
+ import asyncio
7
8
  import gettext
8
9
  import importlib
9
10
  import importlib.resources
@@ -49,16 +50,17 @@ class WincollGame(Game[Tile]):
49
50
  self.diamonds: int
50
51
  self.die_image: pygame.Surface
51
52
  self.die_sound: pygame.mixer.Sound
53
+ self.game_window_max = (15, 15)
54
+ self.screen_extra_x_chars = 4
55
+ self.default_background_colour = Color(0, 0, 255)
52
56
 
53
- def init_screen(self) -> None:
54
- super().init_screen()
55
- # Window can be as wide as the screen, but must leave room for the
56
- # level title.
57
- self.left_margin = 4 * self.font_pixels
58
- self.window_size = (
59
- min(self.window_size[0] * self.window_scale, self.screen_size[0] - self.left_margin) // self.window_scale,
60
- self.window_size[1],
61
- )
57
+ self.diamond_image: pygame.Surface
58
+
59
+ self.collect_sound: pygame.mixer.Sound
60
+ self.rock_sound: pygame.mixer.Sound
61
+ self.unlock_sound: pygame.mixer.Sound
62
+ self.end_level_sound: pygame.mixer.Sound
63
+ self.end_game_sound: pygame.mixer.Sound
62
64
 
63
65
  @staticmethod
64
66
  def description() -> str:
@@ -77,19 +79,6 @@ Avoid falling rocks!
77
79
  """)
78
80
  # fmt: on
79
81
 
80
- screen_size = (640, 512)
81
- window_size = (240, 240)
82
- default_background_colour = Color(0, 0, 255)
83
- window_scale = 2
84
-
85
- diamond_image: pygame.Surface
86
-
87
- collect_sound: pygame.mixer.Sound
88
- rock_sound: pygame.mixer.Sound
89
- unlock_sound: pygame.mixer.Sound
90
- end_level_sound: pygame.mixer.Sound
91
- end_game_sound: pygame.mixer.Sound
92
-
93
82
  # Utility methods.
94
83
  def reset_falling(self) -> None:
95
84
  self.falling = False
@@ -113,13 +102,6 @@ Avoid falling rocks!
113
102
  self.end_game_sound = pygame.mixer.Sound(str(self.find_asset("EndGame.wav")))
114
103
  self.end_game_sound.set_volume(self.default_volume)
115
104
 
116
- def restart_level(self) -> None:
117
- super().restart_level()
118
- self.window_pos = (
119
- (self.surface.get_width() - self.left_margin - self.window_scaled_width) // 2 + self.left_margin,
120
- self.window_pos[1],
121
- )
122
-
123
105
  def init_game(self) -> None:
124
106
  super().init_game()
125
107
  self.diamonds = 0
@@ -222,8 +204,11 @@ Avoid falling rocks!
222
204
 
223
205
  def show_status(self) -> None:
224
206
  super().show_status()
207
+ score_diamond = pygame.transform.scale(
208
+ self.diamond_image, (self.font_pixels, self.font_pixels)
209
+ )
225
210
  self.surface.blit(
226
- self.diamond_image,
211
+ score_diamond,
227
212
  (
228
213
  (self.window_pos[0] - self.font_pixels) // 2,
229
214
  int(1.5 * self.font_pixels),
@@ -239,7 +224,7 @@ Avoid falling rocks!
239
224
  def finished(self) -> bool:
240
225
  return self.diamonds == 0 or self.dead
241
226
 
242
- def stop_play(self) -> None:
227
+ async def stop_play(self) -> None:
243
228
  self.reset_falling()
244
229
  if self.dead:
245
230
  self.die_sound.play()
@@ -249,7 +234,7 @@ Avoid falling rocks!
249
234
  )
250
235
  self.show_status()
251
236
  self.show_screen()
252
- pygame.time.wait(1000)
237
+ await asyncio.sleep(1)
253
238
  self.dead = False
254
239
 
255
240
  async def main(self, argv: list[str]) -> None:
@@ -1,160 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: WinColl
3
- Version: 1.2.6
4
- Summary: Simple rocks-and-diamonds game
5
- Author-email: Reuben Thomas <rrt@sc3d.org>
6
- License: GPL v3 or later
7
- Project-URL: Homepage, https://github.com/rrthomas/wincoll
8
- Classifier: Environment :: X11 Applications
9
- Classifier: Environment :: MacOS X
10
- Classifier: Environment :: Win32 (MS Windows)
11
- Classifier: Topic :: Games/Entertainment :: Puzzle Games
12
- Classifier: Programming Language :: Python :: 3
13
- Requires-Python: >=3.12
14
- Description-Content-Type: text/markdown
15
- License-File: COPYING
16
- Requires-Dist: chambercourt>=0.9.34
17
- Dynamic: license-file
18
-
19
- # WinColl
20
-
21
- https://rrthomas.github.io/wincoll
22
-
23
- by Reuben Thomas <rrt@sc3d.org>
24
-
25
- WinColl is a simple puzzle game in which you tunnel through caverns
26
- collecting diamonds while avoiding being squashed by falling rocks. It is
27
- based on [Repton](https://en.wikipedia.org/wiki/Repton_(video_game)) (but
28
- without eggs and monsters).
29
-
30
- I originally wrote WinColl for Acorn RISC OS. Original and updated [RISC OS
31
- versions](<https://github.com/rrthomas/wincoll/RISC OS.md>) are available.
32
-
33
- The name of the game is an abbreviation of my school’s. “Repton” is also the
34
- name of a school, but I don’t believe the game was named after it!
35
-
36
-
37
- ## Credits
38
-
39
- Paul Smith designed the title graphics, and Alistair Turnbull helped with
40
- the game graphics.
41
-
42
- Level design by Alistair Turnbull, Paul Wilson, Reuben Thomas, Paul Smith,
43
- Jeremy Douglas, and Daniel Thomas.
44
-
45
- The sounds are from [Freesound](https://freesound.org), lightly adapted.
46
-
47
-
48
- ## Installation and use
49
-
50
- The game provides instructions on how to play.
51
-
52
- ### Binary installers
53
-
54
- Installers are available for GNU/Linux, macOS and Windows. See the
55
- [latest release](https://github.com/rrthomas/wincoll/releases/latest):
56
-
57
- * The GNU/Linux version is a single binary; you need to make it executable
58
- and then either copy it to a directory on your path, or run it directly:
59
- `chmod +x NAME-OF-FILE; ./NAME-OF-FILE`. If you get an error that mentions
60
- `error: MESA-LOADER: failed to open …` then you can try the following
61
- incantation to run the game:
62
- `LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 ./wincoll-Linux-X64`.
63
- * The macOS version is a disk image file containing an application. Drag the
64
- application to a suitable location (e.g. your Applications folder). macOS
65
- will probably refuse to run it until you have approved it in System
66
- Settings→Privacy and Security, under “Security”.
67
- * The Windows version is a standard Microsoft installer.
68
- * The RISC OS version should be unpacked with the `unzip` utility on RISC
69
- OS; if `!SparkFS` is used, the file names and types will not be set
70
- correctly.
71
-
72
- ### Python package
73
-
74
- If you are a Python user, this is the simplest way to get WinColl on most
75
- machines.
76
-
77
- Install with `pip`: `pip install wincoll`, then execute the command
78
- `wincoll`.
79
-
80
-
81
- ## Creating and editing levels
82
-
83
- Currently, to play edited or new levels you must have a source check-out of
84
- WinColl from GitHub. (If this doesn’t make sense to you, sorry! I hope to
85
- provide a simpler way to edit and play new levels soon.)
86
-
87
- The level files are in the `wincoll/levels` subdirectory of the project, and
88
- are [Tiled](https://www.mapeditor.org/) level editor files, so you will need
89
- to install Tiled to edit them or create new levels.
90
-
91
- Having saved an edited level you can install the Python package with
92
- `pip install .` or run it directly with `PYTHONPATH=. python -m wincoll`.
93
-
94
- Some notes about level design:
95
-
96
- + A set of levels is numbered according to the lexical order of their file
97
- names.
98
- + Some supplied levels have a brick wall all the way around. This is not
99
- necessary: there’s an imaginary brick wall around the outside of the level
100
- already.
101
- + Levels need exactly one start position, given by placing the Win
102
- character.
103
- + No checks are done to make sure a level is possible to complete; for
104
- example, you can place diamonds surrounded by bricks, or have safes but no
105
- key.
106
- + A complete level set requires a Tiled tileset. You can simply copy the
107
- tileset file `WinColl.tsx` from `wincoll/levels`.
108
- + When designing a level, you will also need tile graphic files in the
109
- levels directory, as Tiled cannot find them otherwise. You can copy them
110
- from `wincoll/levels`.
111
-
112
- I welcome [pull requests](https://github.com/rrthomas/wincoll/pulls) for new
113
- levels, or a simple issue with a level attached, in a Zip file. If GitHub is
114
- not your thing, feel free to email me your level. It’s helpful if you can
115
- indicate where you think your level should go in order of increasing
116
- difficulty.
117
-
118
-
119
- ## Improving WinColl
120
-
121
- New levels, usability improvements and translations are welcome, as are
122
- usability improvements: for example, the ability to rebind keys would be
123
- welcome. See the [open issues](https://github.com/rrthomas/wincoll/issues) for
124
- specific things I’d like improved.
125
-
126
- Some levels useful for testing are in `test-levels`.
127
-
128
-
129
- ## Copyright and Disclaimer
130
-
131
- WinColl is distributed under the GNU Public License version 3, or, at your
132
- option, any later version. See the file COPYING.
133
-
134
- THIS PROGRAM IS PROVIDED AS IS, WITH NO WARRANTY. USE IS AT THE USER'S RISK.
135
- WinColl’s code is copyright Reuben Thomas, and its levels and graphics by
136
- Reuben Thomas, Alistair Turnbull, Paul Smith and Jeremy Douglas.
137
-
138
- The font “Acorn Mode 1”, which is based on the design of Acorn computers’
139
- system font, as used on the Acorn Archimedes on which WinColl was originally
140
- written, is by p1.mark and Reuben Thomas and licensed under CC BY-SA 3.0.
141
-
142
- The sound effects are copyrighted and licensed as follows:
143
-
144
- + Diamond collection:
145
- [Ding.wav by datasoundsample](https://freesound.org/s/638638/) under CC
146
- BY 4.0
147
- + Rock fall:
148
- [Rockfall in mine.wav by Benboncan](https://freesound.org/s/60085/) under
149
- CC BY 4.0
150
- + Safe unlock:
151
- [Old Church Bell (no noise) by igroglaz](https://freesound.org/s/633208/)
152
- under CC 0
153
- + Death splat:
154
- [Splat1.wav by Shakedown_M](https://freesound.org/s/685205/) under CC 0
155
- * End of level whistle slide:
156
- [FX swanee whistle down.wav by v0idation](https://freesound.org/s/497093/)
157
- under CC 0
158
- * End of game fanfare:
159
- [Short Brass Fanfare 2.wav by _MC5_](https://freesound.org/s/524848/)
160
- under CC BY 4.0
@@ -1 +0,0 @@
1
- chambercourt>=0.9.34
@@ -1,160 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: WinColl
3
- Version: 1.2.4
4
- Summary: Simple rocks-and-diamonds game
5
- Author-email: Reuben Thomas <rrt@sc3d.org>
6
- License: GPL v3 or later
7
- Project-URL: Homepage, https://github.com/rrthomas/wincoll
8
- Classifier: Environment :: X11 Applications
9
- Classifier: Environment :: MacOS X
10
- Classifier: Environment :: Win32 (MS Windows)
11
- Classifier: Topic :: Games/Entertainment :: Puzzle Games
12
- Classifier: Programming Language :: Python :: 3
13
- Requires-Python: >=3.12
14
- Description-Content-Type: text/markdown
15
- License-File: COPYING
16
- Requires-Dist: chambercourt>=0.9.32
17
- Dynamic: license-file
18
-
19
- # WinColl
20
-
21
- https://rrthomas.github.io/wincoll
22
-
23
- by Reuben Thomas <rrt@sc3d.org>
24
-
25
- WinColl is a simple puzzle game in which you tunnel through caverns
26
- collecting diamonds while avoiding being squashed by falling rocks. It is
27
- based on [Repton](https://en.wikipedia.org/wiki/Repton_(video_game)) (but
28
- without eggs and monsters).
29
-
30
- I originally wrote WinColl for Acorn RISC OS. Original and updated [RISC OS
31
- versions](<https://github.com/rrthomas/wincoll/RISC OS.md>) are available.
32
-
33
- The name of the game is an abbreviation of my school’s. “Repton” is also the
34
- name of a school, but I don’t believe the game was named after it!
35
-
36
-
37
- ## Credits
38
-
39
- Paul Smith designed the title graphics, and Alistair Turnbull helped with
40
- the game graphics.
41
-
42
- Level design by Alistair Turnbull, Paul Wilson, Reuben Thomas, Paul Smith,
43
- Jeremy Douglas, and Daniel Thomas.
44
-
45
- The sounds are from [Freesound](https://freesound.org), lightly adapted.
46
-
47
-
48
- ## Installation and use
49
-
50
- The game provides instructions on how to play.
51
-
52
- ### Binary installers
53
-
54
- Installers are available for GNU/Linux, macOS and Windows. See the
55
- [latest release](https://github.com/rrthomas/wincoll/releases/latest):
56
-
57
- * The GNU/Linux version is a single binary; you need to make it executable
58
- and then either copy it to a directory on your path, or run it directly:
59
- `chmod +x NAME-OF-FILE; ./NAME-OF-FILE`. If you get an error that mentions
60
- `error: MESA-LOADER: failed to open …` then you can try the following
61
- incantation to run the game:
62
- `LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 ./wincoll-Linux-X64`.
63
- * The macOS version is a disk image file containing an application. Drag the
64
- application to a suitable location (e.g. your Applications folder). macOS
65
- will probably refuse to run it until you have approved it in System
66
- Settings→Privacy and Security, under “Security”.
67
- * The Windows version is a standard Microsoft installer.
68
- * The RISC OS version should be unpacked with the `unzip` utility on RISC
69
- OS; if `!SparkFS` is used, the file names and types will not be set
70
- correctly.
71
-
72
- ### Python package
73
-
74
- If you are a Python user, this is the simplest way to get WinColl on most
75
- machines.
76
-
77
- Install with `pip`: `pip install wincoll`, then execute the command
78
- `wincoll`.
79
-
80
-
81
- ## Creating and editing levels
82
-
83
- Currently, to play edited or new levels you must have a source check-out of
84
- WinColl from GitHub. (If this doesn’t make sense to you, sorry! I hope to
85
- provide a simpler way to edit and play new levels soon.)
86
-
87
- The level files are in the `wincoll/levels` subdirectory of the project, and
88
- are [Tiled](https://www.mapeditor.org/) level editor files, so you will need
89
- to install Tiled to edit them or create new levels.
90
-
91
- Having saved an edited level you can install the Python package with
92
- `pip install .` or run it directly with `PYTHONPATH=. python -m wincoll`.
93
-
94
- Some notes about level design:
95
-
96
- + A set of levels is numbered according to the lexical order of their file
97
- names.
98
- + Some supplied levels have a brick wall all the way around. This is not
99
- necessary: there’s an imaginary brick wall around the outside of the level
100
- already.
101
- + Levels need exactly one start position, given by placing the Win
102
- character.
103
- + No checks are done to make sure a level is possible to complete; for
104
- example, you can place diamonds surrounded by bricks, or have safes but no
105
- key.
106
- + A complete level set requires a Tiled tileset. You can simply copy the
107
- tileset file `WinColl.tsx` from `wincoll/levels`.
108
- + When designing a level, you will also need tile graphic files in the
109
- levels directory, as Tiled cannot find them otherwise. You can copy them
110
- from `wincoll/levels`.
111
-
112
- I welcome [pull requests](https://github.com/rrthomas/wincoll/pulls) for new
113
- levels, or a simple issue with a level attached, in a Zip file. If GitHub is
114
- not your thing, feel free to email me your level. It’s helpful if you can
115
- indicate where you think your level should go in order of increasing
116
- difficulty.
117
-
118
-
119
- ## Improving WinColl
120
-
121
- New levels, usability improvements and translations are welcome, as are
122
- usability improvements: for example, the ability to rebind keys would be
123
- welcome. See the [open issues](https://github.com/rrthomas/wincoll/issues) for
124
- specific things I’d like improved.
125
-
126
- Some levels useful for testing are in `test-levels`.
127
-
128
-
129
- ## Copyright and Disclaimer
130
-
131
- WinColl is distributed under the GNU Public License version 3, or, at your
132
- option, any later version. See the file COPYING.
133
-
134
- THIS PROGRAM IS PROVIDED AS IS, WITH NO WARRANTY. USE IS AT THE USER'S RISK.
135
- WinColl’s code is copyright Reuben Thomas, and its levels and graphics by
136
- Reuben Thomas, Alistair Turnbull, Paul Smith and Jeremy Douglas.
137
-
138
- The font “Acorn Mode 1”, which is based on the design of Acorn computers’
139
- system font, as used on the Acorn Archimedes on which WinColl was originally
140
- written, is by p1.mark and Reuben Thomas and licensed under CC BY-SA 3.0.
141
-
142
- The sound effects are copyrighted and licensed as follows:
143
-
144
- + Diamond collection:
145
- [Ding.wav by datasoundsample](https://freesound.org/s/638638/) under CC
146
- BY 4.0
147
- + Rock fall:
148
- [Rockfall in mine.wav by Benboncan](https://freesound.org/s/60085/) under
149
- CC BY 4.0
150
- + Safe unlock:
151
- [Old Church Bell (no noise) by igroglaz](https://freesound.org/s/633208/)
152
- under CC 0
153
- + Death splat:
154
- [Splat1.wav by Shakedown_M](https://freesound.org/s/685205/) under CC 0
155
- * End of level whistle slide:
156
- [FX swanee whistle down.wav by v0idation](https://freesound.org/s/497093/)
157
- under CC 0
158
- * End of game fanfare:
159
- [Short Brass Fanfare 2.wav by _MC5_](https://freesound.org/s/524848/)
160
- under CC BY 4.0
@@ -1 +0,0 @@
1
- chambercourt>=0.9.32
@@ -1,79 +0,0 @@
1
- COPYING
2
- MANIFEST.in
3
- README.md
4
- pyproject.toml
5
- WinColl.egg-info/.bak.0.PKG-INFO
6
- WinColl.egg-info/.bak.0.SOURCES.txt
7
- WinColl.egg-info/.bak.0.requires.txt
8
- WinColl.egg-info/.bak.1.PKG-INFO
9
- WinColl.egg-info/.bak.1.requires.txt
10
- WinColl.egg-info/PKG-INFO
11
- WinColl.egg-info/SOURCES.txt
12
- WinColl.egg-info/dependency_links.txt
13
- WinColl.egg-info/entry_points.txt
14
- WinColl.egg-info/requires.txt
15
- WinColl.egg-info/top_level.txt
16
- po/.bak.0.wincoll.pot
17
- po/.bak.1.wincoll.pot
18
- po/de.po
19
- po/el.po
20
- po/es.po
21
- po/fr.po
22
- po/ka.po
23
- po/nb.po
24
- po/pt_BR.po
25
- po/ro.po
26
- po/sk.po
27
- po/sr.po
28
- po/sv.po
29
- po/uk.po
30
- po/wincoll.pot
31
- wincoll/__init__.py
32
- wincoll/__main__.py
33
- wincoll/wincoll_game.py
34
- wincoll/levels/01 A gentle introduction.tmx
35
- wincoll/levels/02 Hi! from Pav.tmx
36
- wincoll/levels/03 On a Coconut Island.tmx
37
- wincoll/levels/04 Not a rip-off.tmx
38
- wincoll/levels/05 Long way round.tmx
39
- wincoll/levels/06 Which key.tmx
40
- wincoll/levels/07 Fuzzy.tmx
41
- wincoll/levels/08 Spiral Galaxy.tmx
42
- wincoll/levels/09 Escape from Pompeii.tmx
43
- wincoll/levels/10 Riddle me this.tmx
44
- wincoll/levels/11 Doctor Jones, I presume.tmx
45
- wincoll/levels/12 Stairway to Hell.tmx
46
- wincoll/levels/13 Round and round.tmx
47
- wincoll/levels/14 Alchemy.tmx
48
- wincoll/levels/15 Race to the top.tmx
49
- wincoll/levels/Blob.png
50
- wincoll/levels/Brick.png
51
- wincoll/levels/Collect.wav
52
- wincoll/levels/Diamond.png
53
- wincoll/levels/Die.png
54
- wincoll/levels/Die.wav
55
- wincoll/levels/Earth.png
56
- wincoll/levels/EndGame.wav
57
- wincoll/levels/EndLevel.wav
58
- wincoll/levels/Gap.png
59
- wincoll/levels/Hero.png
60
- wincoll/levels/Key.png
61
- wincoll/levels/Rock.png
62
- wincoll/levels/Safe.png
63
- wincoll/levels/Slide.wav
64
- wincoll/levels/Unlock.wav
65
- wincoll/levels/WinColl.tsx
66
- wincoll/levels/app-icon.png
67
- wincoll/levels/title.png
68
- wincoll/locale/de/LC_MESSAGES/wincoll.mo
69
- wincoll/locale/el/LC_MESSAGES/wincoll.mo
70
- wincoll/locale/es/LC_MESSAGES/wincoll.mo
71
- wincoll/locale/fr/LC_MESSAGES/wincoll.mo
72
- wincoll/locale/ka/LC_MESSAGES/wincoll.mo
73
- wincoll/locale/nb/LC_MESSAGES/wincoll.mo
74
- wincoll/locale/pt_BR/LC_MESSAGES/wincoll.mo
75
- wincoll/locale/ro/LC_MESSAGES/wincoll.mo
76
- wincoll/locale/sk/LC_MESSAGES/wincoll.mo
77
- wincoll/locale/sr/LC_MESSAGES/wincoll.mo
78
- wincoll/locale/sv/LC_MESSAGES/wincoll.mo
79
- wincoll/locale/uk/LC_MESSAGES/wincoll.mo
@@ -1 +0,0 @@
1
- chambercourt>=0.9.36
@@ -1,32 +0,0 @@
1
- # SOME DESCRIPTIVE TITLE.
2
- # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
- # This file is distributed under the same license as the PACKAGE package.
4
- # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
- #
6
- #, fuzzy
7
- msgid ""
8
- msgstr ""
9
- "Project-Id-Version: PACKAGE 1.2.6\n"
10
- "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2026-06-25 22:24+0100\n"
12
- "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
- "Language-Team: LANGUAGE <LL@li.org>\n"
15
- "Language: \n"
16
- "MIME-Version: 1.0\n"
17
- "Content-Type: text/plain; charset=CHARSET\n"
18
- "Content-Transfer-Encoding: 8bit\n"
19
-
20
- #: wincoll/wincoll_game.py:65
21
- msgid "Collect all the diamonds while digging through earth dodging rocks."
22
- msgstr ""
23
-
24
- #. TRANSLATORS: Please keep this text wrapped to 40 characters. The font
25
- #. used in-game is lacking many glyphs, so please test it with your
26
- #. language and let me know if I need to add glyphs.
27
- #: wincoll/wincoll_game.py:73
28
- msgid ""
29
- "Collect all the diamonds on each level.\n"
30
- "Get a key to turn safes into diamonds.\n"
31
- "Avoid falling rocks!\n"
32
- msgstr ""
@@ -1,32 +0,0 @@
1
- # SOME DESCRIPTIVE TITLE.
2
- # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
- # This file is distributed under the same license as the PACKAGE package.
4
- # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
- #
6
- #, fuzzy
7
- msgid ""
8
- msgstr ""
9
- "Project-Id-Version: PACKAGE 1.2.4\n"
10
- "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2026-06-23 16:39+0100\n"
12
- "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
- "Language-Team: LANGUAGE <LL@li.org>\n"
15
- "Language: \n"
16
- "MIME-Version: 1.0\n"
17
- "Content-Type: text/plain; charset=CHARSET\n"
18
- "Content-Transfer-Encoding: 8bit\n"
19
-
20
- #: wincoll/wincoll_game.py:55
21
- msgid "Collect all the diamonds while digging through earth dodging rocks."
22
- msgstr ""
23
-
24
- #. TRANSLATORS: Please keep this text wrapped to 40 characters. The font
25
- #. used in-game is lacking many glyphs, so please test it with your
26
- #. language and let me know if I need to add glyphs.
27
- #: wincoll/wincoll_game.py:63
28
- msgid ""
29
- "Collect all the diamonds on each level.\n"
30
- "Get a key to turn safes into diamonds.\n"
31
- "Avoid falling rocks!\n"
32
- msgstr ""
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes