You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdegames/libksirtet/lib
Timothy Pearson edee609d80
Rename obsolete tq methods to standard names
13 years ago
..
CHANGELOG Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
LICENSE Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
Makefile.am Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
README Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
TODO Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
defines.cpp Remove additional unneeded tq method conversions 13 years ago
defines.h rename the following methods: 13 years ago
internal.cpp TQt4 port kdegames 14 years ago
internal.h TQt4 port kdegames 14 years ago
keys.cpp Remove additional unneeded tq method conversions 13 years ago
keys.h Remove additional unneeded tq method conversions 13 years ago
libksirtet_export.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
meeting.cpp Rename obsolete tq methods to standard names 13 years ago
meeting.h rename the following methods: 13 years ago
miscui.cpp rename the following methods: 13 years ago
miscui.h rename the following methods: 13 years ago
mp_board.h rename the following methods: 13 years ago
mp_interface.cpp Remove additional unneeded tq method conversions 13 years ago
mp_interface.h rename the following methods: 13 years ago
mp_option.h Rename obsolete tq methods to standard names 13 years ago
mp_simple_board.cpp Trinity Qt initial conversion 14 years ago
mp_simple_board.h rename the following methods: 13 years ago
mp_simple_interface.cpp Rename old tq methods that no longer need a unique name 13 years ago
mp_simple_interface.h rename the following methods: 13 years ago
mp_simple_types.cpp TQt4 port kdegames 14 years ago
mp_simple_types.h Trinity Qt initial conversion 14 years ago
pline.cpp Rename obsolete tq methods to standard names 13 years ago
pline.h rename the following methods: 13 years ago
smanager.cpp rename the following methods: 13 years ago
smanager.h rename the following methods: 13 years ago
socket.cpp rename the following methods: 13 years ago
socket.h rename the following methods: 13 years ago
types.cpp Remove additional unneeded tq method conversions 13 years ago
types.h TQt4 port kdegames 14 years ago
version.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
wizard.cpp Remove additional unneeded tq method conversions 13 years ago
wizard.h rename the following methods: 13 years ago

README

kdemultiplayers library
-----------------------
Copyright (c) 1998-2000 Nicolas HADACEK (hadacek@kde.org)
Distributed under the GNU Library General Public License

Introduction
------------
The "kdemultiplayers" library is an attempt to address the realization of
multiplayer games localy on a computer (the players have each a "board" on
the screen and they use the same keyboard) or/and by network (between several
computers). The implementation is not so simple but this library gives
a basic API which allows a lot of flexibility.

Note: The headers which defines the API have names beginning with "mp".

The library provides three services :
  * a set of dialog widgets to allow the players to configure/create/join
    a game.
  * management of all the sending/receiving data between
    player boards so you as a game programmer will *not* have to deal with
	sockets or network programming.
  * a framework for simple multiplayers game (for instance ksirtet) with a
    very simple API ("mp_simple" headers).

Semantics
---------
"player" : an individual which take part in the game (it can also be an AI).
"AI"     : artificial intelligence (a game that is played by a program).
"board"  : there is one board per player ; it is the widget where the player
           acts in the game.
"host"   : a computer which hosts one or several players.
"server" : the host that has created the game.
"client" : a host that is not the server.


Basic description of the API
----------------------------
From the game programmer point of view there should be no difference between
a local multiplayers game (one host with several players) and a network game
(several hosts with one or more players).

Each player has a board which is a widget inherited from the class "LocalBoard"
(see "mp_board.h").

On each host there must be a class inherited from "MPInterface"
which manages local boards and the data transport with other hosts.
(see "mp_interface.h").

During the game at given intervals of time, the server asks data from clients
and from its local boards. After treating this data, the server dispatches back
results to all boards.

General advice
--------------
There should be no blocking operation or long computation as it will freeze
the user front-end and will also block the multiplayers data exchanges
which operate by timer signals.

There are general rules to avoid such blocking :
 * answer to X/QT events such as keyboard/mouse/window events with
   short methods.
 * use timer(s) to make things evolve in time or to break long
   computation in shorter parts.