Skip to content

Commit

Permalink
APSudoku: take over maintaining hintgame sudoku from bk_sudoku (Archi…
Browse files Browse the repository at this point in the history
  • Loading branch information
EmilyV99 authored and sflavelle committed Jun 20, 2024
1 parent 6e6bb49 commit 9b3bb81
Show file tree
Hide file tree
Showing 8 changed files with 61 additions and 105 deletions.
6 changes: 3 additions & 3 deletions docs/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@
# A Link to the Past
/worlds/alttp/ @Berserker66

# Sudoku (APSudoku)
/worlds/apsudoku/ @EmilyV99

# Aquaria
/worlds/aquaria/ @tioui

# ArchipIDLE
/worlds/archipidle/ @LegendaryLinux

# Sudoku (BK Sudoku)
/worlds/bk_sudoku/ @Jarno458

# Blasphemous
/worlds/blasphemous/ @TRPG0

Expand Down
25 changes: 8 additions & 17 deletions worlds/bk_sudoku/__init__.py → worlds/apsudoku/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,41 +3,32 @@
from BaseClasses import Tutorial
from ..AutoWorld import WebWorld, World


class Bk_SudokuWebWorld(WebWorld):
class AP_SudokuWebWorld(WebWorld):
options_page = "games/Sudoku/info/en"
theme = 'partyTime'

setup_en = Tutorial(
tutorial_name='Setup Guide',
description='A guide to playing BK Sudoku',
description='A guide to playing APSudoku',
language='English',
file_name='setup_en.md',
link='setup/en',
authors=['Jarno']
)
setup_de = Tutorial(
tutorial_name='Setup Anleitung',
description='Eine Anleitung um BK-Sudoku zu spielen',
language='Deutsch',
file_name='setup_de.md',
link='setup/de',
authors=['Held_der_Zeit']
authors=['EmilyV']
)

tutorials = [setup_en, setup_de]
tutorials = [setup_en]


class Bk_SudokuWorld(World):
class AP_SudokuWorld(World):
"""
Play a little Sudoku while you're in BK mode to maybe get some useful hints
"""
game = "Sudoku"
web = Bk_SudokuWebWorld()
web = AP_SudokuWebWorld()

item_name_to_id: Dict[str, int] = {}
location_name_to_id: Dict[str, int] = {}

@classmethod
def stage_assert_generate(cls, multiworld):
raise Exception("BK Sudoku cannot be used for generating worlds, the client can instead connect to any other world")
raise Exception("APSudoku cannot be used for generating worlds, the client can instead connect to any slot from any world")

13 changes: 13 additions & 0 deletions worlds/apsudoku/docs/en_Sudoku.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# APSudoku

## Hint Games

HintGames do not need to be added at the start of a seed, and do not create a 'slot'- instead, you connect the HintGame client to a different game's slot. By playing a HintGame, you can earn hints for the connected slot.

## What is this game?

Play Sudoku puzzles of varying difficulties, earning a hint for each puzzle correctly solved. Harder puzzles are more likely to grant a hint towards a Progression item, though otherwise what hint is granted is random.

## Where is the options page?

There is no options page; this game cannot be used in your .yamls. Instead, the client can connect to any slot in a multiworld.
37 changes: 37 additions & 0 deletions worlds/apsudoku/docs/setup_en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# APSudoku Setup Guide

## Required Software
- [APSudoku](https://github.com/EmilyV99/APSudoku)
- Windows (most tested on Win10)
- Other platforms might be able to build from source themselves; and may be included in the future.

## General Concept

This is a HintGame client, which can connect to any multiworld slot, allowing you to play Sudoku to unlock random hints for that slot's locations.

Does not need to be added at the start of a seed, as it does not create any slots of its own, nor does it have any YAML files.

## Installation Procedures

Go to the latest release from the [APSudoku Releases page](https://github.com/EmilyV99/APSudoku/releases). Download and extract the `APSudoku.zip` file.

## Joining a MultiWorld Game

1. Run APSudoku.exe
2. Under the 'Archipelago' tab at the top-right:
- Enter the server url & port number
- Enter the name of the slot you wish to connect to
- Enter the room password (optional)
- Select DeathLink related settings (optional)
- Press connect
3. Go back to the 'Sudoku' tab
- Click the various '?' buttons for information on how to play / control
4. Choose puzzle difficulty
5. Try to solve the Sudoku. Click 'Check' when done.

## DeathLink Support

If 'DeathLink' is enabled when you click 'Connect':
- Lose a life if you check an incorrect puzzle (not an _incomplete_ puzzle- if any cells are empty, you get off with a warning), or quit a puzzle without solving it (including disconnecting).
- Life count customizable (default 0). Dying with 0 lives left kills linked players AND resets your puzzle.
- On receiving a DeathLink from another player, your puzzle resets.
21 changes: 0 additions & 21 deletions worlds/bk_sudoku/docs/de_Sudoku.md

This file was deleted.

13 changes: 0 additions & 13 deletions worlds/bk_sudoku/docs/en_Sudoku.md

This file was deleted.

27 changes: 0 additions & 27 deletions worlds/bk_sudoku/docs/setup_de.md

This file was deleted.

24 changes: 0 additions & 24 deletions worlds/bk_sudoku/docs/setup_en.md

This file was deleted.

0 comments on commit 9b3bb81

Please sign in to comment.