summaryrefslogtreecommitdiffstats
path: root/kreversi/TODO
blob: 4e81f5d1ad290fb004911bdc121caa2ff6f01585 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
TODO-list for KREVERSI
======================

Next
----

* 


================================================================


* Implement the plans in DESIGN
  + Implement the QReversiGameView class				DONE
    - Move board view to it						done
    - Move movelist to it						done
    - Move status widgets to it						done
  + Move all showing of legal moves into the BoardView class		DONE
  + Implement the QEngineView class					----

* More cleaning / refactoring
  + class KReversi is still a bit of a mess.  Separate it more		DONE

* Enhancements to the view
  + Letters A-H and figures 1-8 on the board view.			DONE

  + Show possible moves in the current position				DONE
    - Actually show them on the board					done
    - Create a toggle action to toggle it on/off			done
    - Make an icon for the toggle action				--
    - Bug: legal moves don't get updated if one side has to pass	done
    - Bug: legal moves don't work together with hint.			done
  + Show moves made during the game					DONE

  + Navigate in the list of moves					----

  + Wish 102813: Should be able to show last move			DONE
    - Make an icon for the toggle action				--
    - Bug: When turned on, should show last move immediately		done
    - Bug: When turned off, should unshow last move immediately		done

  + Save settings of toggleactions in config file.			----

* Convert KReversi to use KGame / KPlayer
  I. Convert KReversi to a proper Model/View program.
     1. Fix a ReversiGame (formerly known as Game)			DONE
        - Clean it up. (Only store the moves).
        - Add a few necessary methods.
     2. Move all the slots for KActions to kreversi.cpp			DONE
     3. Move the ownership of the engine and the game to kreversi.	DONE
     4. Create a new class QReversiGame, that inherits ReversiGame	DONE
	and sends a lot of signals.
        - Split out a lot of methods from the current class Board.	done
     5. Create QReversiBoardView from the rest of the current Board	DONE
        - Clean it							done

  II. Introduce a class ReversiPlayer

  III. Convert everything to KGame
     1. Let KReversiGame inherit from KGame
     2. Let ReversiPlayer inherit from KPlayer.

  IV. ...

  V.  Profit!




Old TODO items, partially done/not done
=======================================

* undo/redo
	undo works, but I'll probably do not make a redo function

* Sound support:
  I'm not happy with
  the sound files I have so if
  you have better sounds, mail them to me 
  (uuencoded). I need sounds for the following actions:
	- game won
	- game lost
	- game drawn
	- turning a piece
	- putting a piece
	- something for the hall of fame (trumpets???)