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
toma c90c389a8a
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
15 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 Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
defines.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
internal.cpp Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
internal.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
keys.cpp Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
keys.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 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 Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
meeting.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
miscui.cpp Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
miscui.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
mp_board.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
mp_interface.cpp Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
mp_interface.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
mp_option.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
mp_simple_board.cpp Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
mp_simple_board.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
mp_simple_interface.cpp Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
mp_simple_interface.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
mp_simple_types.cpp Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
mp_simple_types.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
pline.cpp Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
pline.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
smanager.cpp Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
smanager.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
socket.cpp Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
socket.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
types.cpp Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
types.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
version.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
wizard.cpp Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
wizard.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 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.