Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

APSudoku: take over maintaining hintgame sudoku from bk_sudoku #3432

Merged
merged 1 commit into from
Jun 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.

Loading