Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

A enfin du nouveau. MIRACLE...

Par dévissor le 27/6/2001 à 2:19:00 (#25697)

miracleCCompiler :D tous ca pour vous dire vivement les prochains Tutoriaux.
TUTORIAUX lecon1
a propos pour ceux qui on Windows 2000
rajouter
scanf ( format );
aprés la ligne
printf ( format, hello );
cela devrait marcher. il suffit de taper des caractère et d'enfoncer la touche "entrée" pour refermer la fenetre DOS. :rolleyes:
ceux qui ont Windows 2000 peuvent tester.
;) et dite moi si ca marche. ;)

Par Uther Pendragon le 27/6/2001 à 11:11:00 (#25698)

Merci pour l'astuce, dévissor. :)
Et concernant les problèmes rencontrés sous Win2000, Daynos a proposé une petite astuce, et ajouté les conseils de Mark Brockington, sur le sujet (sous l'étape 9).
Je n'ai pas testé (n'ayant pas Win2000), mais je crois qu'il est possible de trouver une solution efficace. ;)

Par Caepolla le 27/6/2001 à 11:39:00 (#25699)

Et puisqu'on parle des scripts.

Une des personnes de Bioware a réalisé le script suivant à titre d'exemple :

///////////////////////////////////////////////////////////////////////////////
//
// The Game of Life
//
// Copyright (c) 2001 Bioware Corp.
//
///////////////////////////////////////////////////////////////////////////////
// If a cell has less than 2, or more than 3 neighbours then it 'dies'
// If a dead one has exactly 3 neighbours, it becomes 'alive'
//
// This script is meant to be placed on the Area as a "User Defined Event"
// script. The area is scripted to fire an event at itself when a user enters,
// which triggers this script, which will continue to trigger itself
// indefinitely. Every time the script is run it will do one iteration.
//
// At any time, players can walk onto the 'board' and rearrange the patterns
// just by picking up the items that we use as cells, and dropping them in
// approximately the right place.
///////////////////////////////////////////////////////////////////////////////

void main()
{
int ALIVE = 0;
int DYING = 1;
int SPAWNING = 2;

float fOffset = 0.3125f; // space between cells (length of one tile)
float fSelfLength = fOffset / 2.0f; // error tolerance for placement of a cell
float fLength = fOffset * 1.7f; // area to count neighbours in
float fDelay = 0.1f; // delay in seconds before running the next
// iteration

location lSpawn, lOrigin;
vector vSpawn, vOrigin;
object oCell, oOtherCell, oArea;
int bCellAtPosition, nCount, i, j;

lOrigin = GetLocation( GetWaypointByTag("Origin") );
vOrigin = GetPositionFromLocation(lOrigin);
oArea = GetAreaFromLocation(lOrigin);

for (i=0; i<19; i++)
{
for (j=0; j<19; j++)
{
// calculate location that this cell should be at
vSpawn = Vector(i * fOffset,j * fOffset) + vOrigin;
lSpawn = Location(oArea, vSpawn, 0.0f);

// get the cell at this location
oCell = GetFirstObjectInShape(SHAPE_CUBE, fSelfLength, lSpawn, FALSE,
OBJECT_TYPE_ITEM);
bCellAtPosition = GetIsObjectValid(oCell) && GetTag(oCell) == "CELL";

// count this location's neighbours
nCount = 0;
oOtherCell = GetFirstObjectInShape(SHAPE_CUBE, fLength, lSpawn, FALSE,
OBJECT_TYPE_ITEM);
while (GetIsObjectValid(oOtherCell) && nCount < 5)
{
if (GetLocalInt(oOtherCell, "state") != SPAWNING &&
oOtherCell != oCell && GetTag(oCell) == "CELL")
{
nCount++;
}
oOtherCell = GetNextObjectInShape(SHAPE_CUBE, fLength, lSpawn, FALSE,
OBJECT_TYPE_ITEM);
}

// do changes if necessary
if (bCellAtPosition)
{
if (nCount < 2 nCount > 3)
{
SetLocalInt(oCell, "state", DYING);
DestroyObject(oCell);
}
}
else
{
if (nCount == 3)
{
oCell = CreateObject(OBJECT_TYPE_ITEM, "CELL", lSpawn);
SetLocalInt(oCell, "state", SPAWNING);
DelayCommand(fDelay, SetLocalInt(oCell, "state", ALIVE));
}
}

}
}

// This command will rerun this script in 0.75 seconds, by creating a
// user-defined event which, in turn, runs this script!
DelayCommand(0.75f, SignalEvent(OBJECT_SELF, EventUserDefined(0)));
}

Ce qui donne en pratique ça :

http://nwvault.ign.com/dm/scripting/scripts/images/VaultNetwork_life.jpg

Par Darkmore le druide le 27/6/2001 à 13:09:00 (#25700)

Débat lancé par dévissor:
miracleCCompiler :D tous ca pour vous dire vivement les prochains Tutoriaux.
.../...


Héhé ce bon vieux "Hello world" ..
Est ce que qq'1 peut me dire depuis combien de siècle ces mots sont utilisé quands il sagit de faire un exemple de code c/c++/turbo pascal ???
C'est une sorte de tradition ou quoi ???

Par Daynos le 27/6/2001 à 18:58:00 (#25701)

Débat lancé par dévissor:
miracleCCompiler :D tous ca pour vous dire vivement les prochains Tutoriaux.
TUTORIAUX lecon1
a propos pour ceux qui on Windows 2000
rajouter
scanf ( format );
aprés la ligne
printf ( format, hello );
cela devrait marcher. il suffit de taper des caractère et d'enfoncer la touche "entrée" pour refermer la fenetre DOS. :rolleyes:
ceux qui ont Windows 2000 peuvent tester.
;) et dite moi si ca marche. ;)

Effectivement, ça marche... Pour quitter il faut cependant fermer la fenêtre en cliquant sur la croix ; un message d'alarme s'affiche . Il suffit de confirmer qu'on veut bien fermer la fenêtre.

Ou bien on tape "exit" + entrée dans la fenêtre MS-DOS

Par dévissor le 27/6/2001 à 19:42:00 (#25702)

mois qui me poser des question sur la modification graphique! je suis rassuré( merci caepolla pour l'exemple "the game of life" ).
mais pourra-t-on modifier les tuilles? le mystère reste entier.

JOL Archives 1.0.1
@ JOL / JeuxOnLine