�V�˃Q�[���v���O���}�{���M�v�X �܂��̖��� �@�����āA�u�L�ɂ́v�Ƃ��Ăт��������i�΁j

��˂��炨�̍l���ł́A�Q�[���v���O���~���O�ɕK�v�ȃe�N�j�b�N�Ƃ́A�����悻�W�O�O�ʂ�ɕ��ނ���܂��B�i�W�O�O�����ɉR�W�O�O�ł��B����܂���:p�j�@���̂����̏d�v�ȂP�Q�p�^�[�������N��N�����ĉ�����悤�Ǝv���Ă��܂��B

���e�͂ȁ[����l���Ă��܂���B�P�Q�p�^�[���̍���������܂���B������񏑂�����P�Q�����łP�Q�p�^�[�����ȁ[�Ƃ��c����܂���i�΁j

�v���E�A�}�₢�܂���B���e�ɑ΂���A���ӌ��E�����z�Ȃǂ��҂����Ă���܂��B�G���ւ̌f�ڂ����}�ł��B�Ƃ��������e�������Ă��������ȁi�΁j

�Ƃ肠�����A���΂炭�̓Q�[���v���O���~���O�ɕK�{�Ȏ��H�e�N�j�b�N���ǂ����������Ȃ�ɁA�N�������������ɉ�����悤���Ȃ��āc�i���ꂶ��_�������c�j

�ߋ����O�P�@�ߋ����O�Q

�֘A����(New '01/02/25)


��14�́D�R�[���o�b�N�͎g���₷�����H 2001/04/15

��P�P�͂ŏ������ʂ�AListener�N���X��mediator�p�^�[�����̂�΁A�R�[���o�b�N����d�g�݂͊����ł��B���Ƃ́A����Lisener��smart_ptr�Ƃ��ēn���Ă��΁A�����Ă��邱�Ƃ͂���܂���B�\���I�ɃC�x���g��ʒm���Ă����R�[���o�b�N�������ł��܂��B

�Ƃ��낪�A�����łf�t�h�̃{�^�����G�~�����[�g����悤�ȃ{�^���N���X������Ă݂��̂ł����A���ꂪ�܂��g���h���̂ł��B�{�^���������ꂽ���ǂ������肷�邽�߂ɁA��������Listener�N���X�����Ȃ���΂Ȃ�Ȃ��Ƃ����̂��A�Ȃ�Ƃ��T�������ł��B

�{�^�������ꂽ���ǂ����𒲂ׂ邽�߂����ɂȂ�ŁA�N���X�����Ƃ�����˂�[�A�݂����ȁBC++��mediator�I�ȊT�O������@�\�Ƃ��Ĕ�����Ă��Ȃ��i��Java�̓����N���X�̂悤�Ȃ��̂����������j�Ƃ����̂��A���̗��R�Ɋ܂܂�܂��B

�Ȃ�΁A���悻�W���I�ȃ{�^���@�\�����ׂĎ�������Listener�N���X������Ă����āA�i�{�^���N���X����āj����Listener�N���X�ɑ΂��āA�{�^���������ꂽ���ǂ�����₢�������΂����̂ł͂Ȃ����H�Ƃ����̂��v���‚��܂��B

����́A�g�󓮓I�h�ȃC�x���g�ʒm�i�����̃N���X���g���l�ԂɂƂ��Ắg�\���I�h�ɃC�x���g���擾���Ȃ���΂Ȃ�Ȃ��j�ł��B���Ȃ��Ƃ��Q�[���ł͖��t���[���`�揈�������Ă���̂����ʂł����āA���Ƃ���΁A��҂̂ق����g���₷���̂ł��B

�ƂȂ�ƁA���t���[���A�`�悷��悤�ȃ^�C�v�̃A�v���P�[�V�����i���P�j�ɂ����āA�O�҂̂悤�ȃC�x���g�ʒm�̎d�g�݂͂Ȃ񂾂���|���肷����Ƃ��v���Ă���̂ł��B

����Ƃ͕ʂɁAListener�N���X�ɂ���āA�A���S���Y���u���i�炵�����Ɓj���o���邱�ƂɋC�Â��ꂽ�ł��傤���H���͂ł́A��������������N���[�Y�A�b�v���Ă݂܂��B

���P�D�u���t���[���`�揈�������邩��ACPU�ғ��������āA�m�[�p�\�œ��������Ƃ��o�b�e���[�H���񂶂�I�v�ƌ����ӌ����������܂��傤�B����ɂ‚��ẮA���C���̃X���b�h���[�v�ŁAIdle���i�������Ă��Ȃ��Ƃ��j��::WaitMessage���Ăяo���悤�ȃt���[�����[�N�ɂ����CPU�ғ����͌y�������ƍl���܂��B


��15�́D�N���X�u�� 2001/04/16

�m�x���Q�[���ŁA���b�Z�[�W��\�������ʃG�t�F�N�g�P�C�Q�C�R�C�S�C�T�D�D�Ƃ����̂�����Ƃ��܂��傤�B��ʃG�t�F�N�g�N���X���A���b�Z�[�W��\������N���X�Ɉˑ�����ƁA��ʃG�t�F�N�g��lj����悤�Ƃ��邲�ƂɁA���b�Z�[�W�\���N���X�Ɏ�����Ȃ��Ƃ����Ȃ����ƂɂȂ��āA��������̂ł��B

��ʃG�t�F�N�g�Ȃ�Ă��̂́A���̃Q�[���ŗL�̂��̂��܂܂��ł��傤���A��ʃG�t�F�N�g�̓��b�Z�[�W�\���N���X����͓Ɨ����������̂ł��B

�ƂȂ�΁A��ʃG�t�F�N�^�[�́A�g�N���X�u���h�ł���悤�ɂ��Ȃ���΂Ȃ�܂���B����́A��U�͂ł��܂����B�i����Aprototype�p�^�[���Ə����Ă܂����Aprototype�ł͂Ȃ��ł��ˁO�O�G�j�@�v����ɁAfactory��smart_ptr��n���Ă��܂��B

���̂Ƃ�factory���A��ʃG�t�F�N�^�[��‚ɂ‚��A�ЂƂ—p�ӂ��邩�A����Ƃ��A�G�t�F�N�g�ԍ����w�肷��΁A���̃G�t�F�N�^�[�̃C���X�^���X�𐶐�����悤��factory�i��parameterized factory�j��p�ӂ��邩�́A�ǂ���ł������Ǝv���̂ł����A�O�҂̏ꍇ�Ȃ�΁A

vector < smart_ptr< IEffectorFactory > > m_vEffectFactory;

���Ăȃ����o�����b�Z�[�W�\���N���X�ɗp�ӂ��āAIEffectFactory��ݒ肵�Ă��܂��B��҂Ȃ�΁A

smart_ptr < IEffectorFactory> m_vEffectFactory;

���ĂȊ����ŁA�K�v�ɉ����āA���b�Z�[�W�\���N���X�̃����o

vector < smart_ptr < IEffector > > m_avEffector;�@�ɑ΂���

m_avEffector[ nEffectLayer ] . Add (  m_vEffectFactory->CreateInstance( nEffectNo ) );

�Ƃ����悤�ɂ��Ďg���܂��B( Add�́Aauto_ptr���Ɍ�����j��I�R�s�[�̃Z�}���e�B�N�X���ƍl���Ă��������j

�ǂ�����A�f�U�C���p�^�[���Ƃ��Ă̕��ނ́A�A���S���Y���u���Ƃ������ƂŁA�����炭strategy�p�^�[���ɂȂ�܂��B�����A���̓����́A�A���S���Y���u���Ƃ������A�N���X�u���A���邢�́AFactory�u���Ƃ��������ł��ˁB

����Factory�u���͕p�o�e�N�Ȃ̂Ŋo���Ă����đ��͖����ł��傤�B


��16�́D�m�x���n�Q�[���̍�肩�� 2001/04/26

�Ȃ񂩁A�f�U�C���p�^�[���n�̘b���������̂ŁA�O���C�����āA��������Ŏ��H�I�Șb���������悤�Ǝv�����̂ł��B

�����ɁA�r�W���A���m�x������邱�Ƃ��l���Ă݂܂��傤�B

�e�V�[���́A�V�[���Ǘ����܂��B���[�J�[���S�A�I�[�v�j���O���͂��߂Ƃ��āA�V�i���I�\���V�[���A���[�U�[�I���V�[���A���[�h��ʁA�Z�[�u��ʁD�D�D�B�܂��A�����܂ł͗ǂ��ł��傤�B

�V�i���I�́A�V�i���I�i���o�[�ŊǗ����邱�Ƃɂ��܂��傤�B�V�i���I�i���o�[���ƂɃt�@�C����p�ӂ��܂��傤�B�t�@�C����������ƁA�V�i���I�Ǘ��������ʓ|���ۂ��ł����A������Perl�ŊȒP�ȃ}�N���ł��g��őΉ�����Ƃ��܂��傤�B

���݂̃Q�[����̃t���O�́A�Q�[���t���O�N���X���ێ����Ă���Ƃ��܂��傤�B�܂��A��ʂ̐ݒ��A��x�����V�i���I���X�L�b�v���邽�߂ɁA�����̓V�X�e���t���O�N���X���ێ����Ă���Ƃ��܂��傤�B

���̃Q�[���t���O�N���X�ƃV�X�e���t���O�́ATips1024��9�̋Z�@�ɂ���āA�ЂƂ‚̘A�������z��̂悤�ɂ݂Ȃ��܂��B

�����ŁA�������܂Ƃ߂āA�P���t���O�ƌĂт܂��B

���ɁA�Q�[���̃t�F�[�Y��p�ӂ��܂��B�v����ɁA���݂̃Q�[�����ԁA�i�s�x��\���p�����[�^�ł��B���ɉ��Ԃ̃V�i���I����������̂��́A�P�D���̃t�F�[�Y�J�E���^�@�D�@�Q�D�t���O�@�ɂ���Č��܂�܂��B

���ɔ�������V�[�������肷��A���S���Y���́A�����ł��B

int GetEvent( ) {
�@while (true) {
�@�@�@int nEvent = ���݂̃t�F�[�Y�ɍ��v����C�x���g���擾( );
�@�@�@�t�F�[�Y�����̃t�F�[�Y��( );
�@�@�@if (nEvent != ����) {
�@�@�@�@�@return nEvent;
�@�@�@}
�@}
}

��G�c�ł����A������������Ȋ����ł��傤�B�t�F�[�Y�̌o�߂̂��������́A�Q�[���ɂ��قȂ�܂����c�B
�v���O�����Ƃ��ẮA�ȉ��̂悤�ɂȂ��Ă��܂��B�i����́A�w������n�x�̃v���O�����̈ꕔ�j

DWORD* CEventFlag::GetFlag(int nNo){
�@if (nNo<=44 || nNo>=70) {
�@�@return &GetGameFlag()->GetFlag()[1000+nNo];
�@}
�@return &GetSystemFlag()->GetFlag()[1300+(nNo-45)];
}

// �����𖞂������`�F�b�N
#define f(v) (*GetFlag(v))
int CEventFlag::IsQualified(int nSceneNo){
�@switch (nSceneNo) {
�@case 14 : return f(1);
�@case 18 : return f(73);
�@case 19 : return f(21);
�@//����
}

// �����𖞂������Ƃ��̃t���O�X�V
void CEventFlag::DoQualify(int nSceneNo){
�@switch (nSceneNo) {
�@case 1: f(47)=1; return ;
�@case 2: f(52)=1; return ;
�@case 8: f(73)=1; return ;
�@//����

���̏����𖞂����� IsQualified�@�����[�v�ŌĂяo���A���݂̃t���O�����𖞂����C�x���g��T���܂��B�����āA���̃C�x���g�����s���ꂽ���Ƃɂ́ADoQualify�ɂ���āA���̃C�x���g�ɑ�������t���O���X�V���܂��B���̑��ݍ�p�ɂ���āA�Q�[�����i�s���čs���A�Ƃ����킯�ł��B

�v���O�����I�ɓ���Ƃ���͖����Ǝv���܂����A���������̂�������o���������ƁAIsQualified��DoQualify�𕪗�����Ƃ������z�������΂Ȃ������m��܂���B

�܂��A���ۂɂ́A�V�i���I�S���̐l��Excel�ō쐬���ꂽ�t���O�\��CSV�`���i�J���}��؂�̃x�^�e�L�X�g�j�ɕϊ����āA�����Perl�ŊȒP�ȕ����u�����s�Ȃ����̂��쐬���A���case���������������Ă��܂��B�i�ʂɎ�ł��ł��\���܂���j

�e�C�x���g�̔�������t�F�[�Y�����A����CSV�`���Ńf�[�^��f���o���āA�����C�x���g�����֐��ł́AIsQualified�ƃt�F�[�Y���`�F�b�N���Ă��܂��BIsQualified�́A�t���O�����̃C�x���g���������𖞂����������̃`�F�b�N�ɂ��āA�t�F�[�Y�͂��̂悤�ɕ������Ă������ق����Ǘ����₷���ł��B

�Ƃ���ŁAyaneSDK2nd�̌f���‚̂ق��ŁAsige���񂩂玿�₪�������̂ł����A

�킩��Ȃ����������ł����A�Q�[���ɑI������t��������ł���
��˂��炨�搶�̃T���v��23�̗l�ɕʂ̃E�B���h�E�ŕ\��������
��j�΂𓊂���
�@�@�΂��R��
�I�񂾑I�����ɂ���ăV�i���I�i���e�j���ς��čs���l�ɂ�������ł���
�ǂ��������ǂ��̂��킩��Ȃ��̂ŋ����Ă��������B

����ł��B�u�I�������o���āA����̂ǂ��炩�����[�U�[�ɑI��������v�悤�ȃV�[���́A�T���v��23�Ɠ������@�ō�邱�Ƃ��o����Ǝv���܂��B�����炭�Asige���񂪂킩��Ȃ��̂́A���������̕������Ǝv���̂ł��B

���[�U�[�̑I�������I�����ɂ���ăV�i���I����𔭐���������@�͂����‚����肻���ł��B

�P���D�܂��A�I�����̕\���V�[���ŁA���[�U�[���ǂ����I�񂾂����ǂ����̃t���O�r�ɏ����Ă����܂��B
�i���Ƃ��΂P�–ڂ̑I�������I�΂��΂P�C�Q�–ڂȂ�΂Q�D�D�j
�P���D�����āAIsQualify��case�u���b�N�ŁA�t���O�r���l���ɓ��ꂽ�����������܂��B

���邢�́A

�Q���D�I�����̕\���V�[���ɂ��A�V�i���I�ԍ����[�Ă܂��B
�Q���D���̃V�i���I�ԍ��ɑ΂���DoQualify�ɁA�t���O�r�̒l�ɉ����āA���̃t���O�ɔ��f���鏈���������܂��B

�܂��A���낢��l����ꂻ���ł��B���̃Q�[���ɉ����āA�킩��₷�����Ȃ��̂�I�ׂΗǂ��Ǝv���܂��B


��17�́D���ׂẴQ�[���ɃV���A���C�Y�@�\����� 2001/10/07

�m�x���^�C�v�̃Q�[���ɂ���A�V���[�e�B���O�Q�[���ɂ���A�Q�[���̓r���ŁA���[�h�^�Z�[�u�������Ƃ����~���́A���[�U�[�Ȃ�ΒN�����������Ă��܂��B

�������A���̓r���̏�Ԃ�ۑ����A��������Ƃ����A������V���A���C�Y�@�\����������̂́A���\�߂�ǂ��Ȃ̂ł��B

yaneSDK2nd��CSerialize/CArchive�́A������菕�����܂��B���̃N���X�́A���������

class CHoge : public CArchive {
�@�@vector<bool> aFlag;
�@�@virtual OnSerialize(CSerialize& s) {
�@�@�@�@s << aFlag;
�@�@}
}

CArchive�N���X����h�������AOnSerialize���I�[�o�[���C�h���āA���z�X�g���[��(CSerialize)�ɕۑ����Ă��������f�[�^���� operator <<�ŏ����o���܂��B

��������΁A�ȍ~�A

CSerialize s;
CHoge h;
s << h; // �i�[

s.SetStoring(false);
s << h; // ����

�ƁA�i�[�`�������o���܂��B

�ʔ����̂́ASetStoring�ŕ��������ɃX�C�b�`���O����΁As << h�Ƃ��������\�L�Ȃ̂ɁA���ꂪ�������Ӗ����邱�ƂɂȂ�A�Ƃ����_�ł��B����ɂ��ACArchive�h���N���X�́AOnSerialize����x�I�[�o�[���C�h���邾���ŁA�i�[�^�����̗�������C�ɋL�q�ł���Ƃ����̂��A���̂�����Ƃ����H�v�ł��BMFC�̂悤�ɁAar.IsStoring( )�Ŕ��肵�āA�i�[�^�����̗����̃��[�`���������Ȃ��Ƃ����Ȃ��̂́A�ʓ|�Ȃ̂ł��B

���āB����ŁA�i�[�^�������邽�߂̎d�g�݂͏o���܂����B

������炵���̂́A�|�C���^���ǂ�����ăV���A���C�Y����̂��A�Ƃ��������ł��B�|�C���^�́A�����ߒ��ɂ����Č��̒l�ɖ߂����Ƃ���ŁA���̃I�u�W�F�N�g�͂��łɏ������đ��݂��܂���B���ɖ߂������ł͕s���Ȃ̂ł��B�I�u�W�F�N�g���Đ������Ȃ���΂Ȃ�܂���B����āA�V���A���C�Y����Ƃ��ɁA���̃I�u�W�F�N�g��ID�I�Ȃ��̂�ۑ����Ă����A��������Ƃ��́A���̃I�u�W�F�N�g��ID����A���̃I�u�W�F�N�g�� new ����悤��factory���g�����ƂɂȂ�܂��B

���̂ւ�AJava�̃V���A���C�Y�@�\�Ɣ�r���Ę_����΁A�ʔ����̂ł����A����̎�|�Ƃ͊O���̂ŁA���̂ւ�͕ʂ̂Ƃ���ŏڂ��������Ƃ��āA�|�C���^�g�������Ƃ��́A���̃|�C���g���Ă���I�u�W�F�N�g�̕������Ȃ�Ƃ������I�ƊȒP�Ɍ��_���������āA��˂��炨�́A�Ƃ��ƂƓ����Ă��܂��̂ł���܂����B�O�O�G

�Q�[���S�̂́A�V�[���Ǘ��i���̍u���̑�V�́`���Q�Ƃ̂��Ɓj���Ă�����̂Ƃ��܂��B�Ƃ������ƂŁA�V�[���̊Ǘ��N���X�I�Ȃ��̂����݂���킯�ł����A�����‚��A�V���A���C�Y�@�\��񋟂��܂��B

�Ǘ��N���X�́A���ݐ����i�ێ��j���Ă���T�u�V�[���ɑ΂��āA���̃V�[�����V���A���C�Y����悤�ɗv�����܂��B���ꂼ��̃V�[���́ACArchive�h���N���X�Ƃ��āA�V���A���C�Y�@�\��񋟂��܂��B

�Ƃ���ŁA�T�u�V�[�����I�u�W�F�N�g�Ȃ킯�ŁA��������Ƃ��͂��̃I�u�W�F�N�g���̂��p�ӂ��Ă��Ȃ���΂Ȃ�܂���B�‚܂�A�Ǘ��N���X���A�i�[����Ƃ��ɂ́A�V�[��ID���ꏏ�Ɋi�[���Ă����A��������Ƃ��́i���̊i�[���Ă������jID����ASceneFactory���g���āA�O�񐶐����Ă����I�u�W�F�N�g�𐶐��A���̂��ƁA���̃T�u�V�[���ɑ΂��āA������v�����܂��B

����ŁA�ǂ�ȃ^�C�~���O�ł��A�r�����[�h�^�Z�[�u���”\�ɂ��邽�߂̔ėp�I�ȃt���[���������܂����B


��18�́DUndo��Redo�̎��� 2001/10/09

�e�L�X�g�G�f�B�^���ŁA�ЂƂ‘O�̏�Ԃɖ߂����Ƃ��A���h�D�A�߂�����‚�����ς�L�����Z�����邱�Ƃ����h�D�ƌ����܂��B�������������v���O�����͂ǂ̂悤�ɂȂ�̂ł��傤���H�Q�[���v���O���~���O�ɂ����Ă��A���������A�A���h�D�E���h�D�@�\���~�����ꍇ������܂��B����́A���̎������@�ɂ‚��čl���Ă݂܂��B

���ʁA�v���O���}�̒N���ɕ�������uUndo�ARedo�̎����ɂ́A�i�f�U�C���p�^�[���́jCommand�p�^�[�����g�����v�ƌ����邱�Ƃł��傤�B�������ACommand�p�^�[���Ŗ{�����Y��Ɏ����ł���̂��Ƃ����ƁA�����ł������C�����܂��B

������ƁA���ۂɃ}�b�v�G�f�B�^����邱�Ƃ��l���Ă݂܂��傤�B�@�\�́A�`�b�v��u���@�\�ƁA�`�b�v�������@�\�ƁA������A���h�D�^���h�D����@�\���������Ƃ��܂��傤�B�u�`�b�v��u���v�Ɓu�`�b�v�������v�́A�R�}���h�ł�����A�ȉ��̂悤��CMapEditCommand�N���X����h�������ď����Ηǂ��̂ł��傤���H

class CMapEditCommand {
public:
�@CMapEditCommand(CMapEdit* pvMapEdit):_pvMapEdit(pvMapEdit){}

�@virtual bool execute(�p�����[�^) = 0; // ���̃R�}���h�����s
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@// ���s�ɐ��������true
�@virtual bool undo(�p�����[�^) = 0;�@�@ // undo�̂��߂̊֐�
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@// ���s�ɐ��������true

protected:
�@CMapEdit* _pvMapEdit;
};

�Ⴂ�܂��B�悭�l���Ă݂Ă��������B�u�`�b�v��u���v�Ƃ���������A���h�D���邽�߂ɂ́A�u�`�b�v��u���v�Ƃ����s�ׂ��s�Ȃ��O�ɁA�ǂ�ȏ�Ԃł��������܂ŐӔC�������Ė߂��Ă��K�v������܂��B�����ł́A���Ȃ킿�A�`�b�v��u���O�ɑ��݂��Ă����`�b�v�ɂ‚��Ăǂ����ɏ����o���Ă��Ȃ���΂Ȃ�܂���B�N�����̍�Ƃ��󂯎��‚�ł��傤���H�v���ɁA�u�`�b�v��u���v�Ƃ����R�}���h�����s����A���CMapEditCommand�h���N���X�ł���CMapEditCommandPutChip�Ƃ����Ƃ������N���X���S��Ȃ���΂Ȃ�܂���B���̃f�[�^���ǂ�����ď����o���̂��A�Ƃ��������ł����A����͂ЂƂ܂����Ƃ܂킵�ɂ��܂��B

�܂��A����p�����[�^�Ƃ��āA�����g�����Ƃ������������߂Ă��܂����Ƃ��̗v�ł��B�ėp�I�ȃN���X�Ȃ̂�void*�ɂ���ׂ��ł��傤���H���邢�́A�e���v���[�g�ʼn����ł���̂ł��傤���H���́A�����͎v���܂���B���������߂���̂́Aconst CSerialize& �ł��iCSerialize�́A��16�͂ŏo�Ă��܂����j�B����Ȃ�΁A�̂��̂��A�A���h�D�E���h�D�f�[�^��ۑ�����̂ɂ�����܂��񂵁A�ǂ�ȃf�[�^�ł��낤��(CSerialize���V���A���C�Y�ł�������)�n���܂��B�]���A�f�U�C���p�^�[����Command�p�^�[���Ƃ��āA���̕����̎����������Ƃ��A�������ǂ����̂����ɕs���m�ŁA���͋^��Ɏv���Ă��܂����B

�f�U�C���p�^�[���̊��K�ɏ]���ACMapEditCommand�h���N���X�̂��Ƃ�ConcreteCommand(��ۉ����ꂽCommand)�ƌĂԂ��Ƃɂ��܂����A�P�‚́u�A�N�V�����v�́A���s�����R�}���h�̂h�c�i���̂h�c����A�R�}���hfactory���g���āAConcreteCommand�𐶐����܂��j�ƁAConcreteCommand::execute�ɓn�����p�����[�^�Ƃ��Ē�`�ł��܂��B

�p�����[�^��const CSerialize&�œn�����Ƃ����܂�΁A���[�U�[�̃A�N�V�����́Astd::vector <smart_ptr<CSerialize> >�Ƃ��Ċi�[���Ă����܂��B�ismart_ptr �ɂ��Ă���̂́Avector::push_back�Ń��T�C�Y�����������Ƃ��A�I�u�W�F�N�g�R�s�[�̃I�[�o�[�w�b�h�����炷���߁j

���ɁA�A���h�D���ǂ����邩�ł����A�u�`�b�v��u���v�Ƃ����A�N�V�����̃A���h�D��������́A�u�i���Ƃ������j�`�b�v��u���v�Ƃ����A�A�N�V�����Ȃ̂ł��B���̂悤�ɁA���鑀��̃A���h�D������A�قƂ�ǂ̏ꍇ�A�N�V�����Ȃ̂ł��B�����ŁAexecute�����s����Ƃ��ɁA�A���h�D�̂��߂̃A�N�V�����𐶐����A�����‚�Ԃ����߂̋@�\��p�ӂ��Ă����Ηǂ��̂ł��B��������΁Aundo�Ƃ����֐��͕s�v�ɂȂ�܂��B

�‚܂�ACommand�̊��N���X�͎��̂悤�Ȑ݌v�ɂȂ�܂��B

class CMapEditCommand {
public:
�@CMapEditCommand(CMapEdit* pvMapEdit):_pvMapEdit(pvMapEdit){}

�@virtual bool execute(const CSerialize&stream) = 0;
�@�@// ���̃R�}���h�����s�B���s�ɐ��������true
�@smart_ptr<CSerialize> getUndoAction( ) { retunr _vUndoAction; }
�@�@//�@execute��A�A���h�D�̂��߂̃A�N�V�������擾�ł���

protected:
�@CMapEdit* _pvMapEdit;
�@smart_ptr<CSerialize> _vUndoAction;
};

����ŁA���N���X�͊������܂����B�G�f�B�b�g���́A�����قǐ��������悤�ɁAstd::vector<CSerialize>�ɁA���[�U�[�̃A�N�V�����ƁA�A���h�D�̂��߂̃A�N�V�����i����getUndoAction�Ŏ擾�ł�����́j�����݂ɐς�ł����Ηǂ��킯�ł��B

�܂��A���h�D�͊ȒP�Ȃ̂ŏh��Ƃ��܂��傤�B�istack�łȂ�vector���g�����̂́A���h�D���������邽�߂Ȃ̂ł����j�@���ǁA���h�D�����Ȃ���΁A�R���e�i�ɑ΂��ė~��������́A�Ō�ɒlj�����push_back�ƁA�Ōォ����o��pop_back�����ŗǂ��̂ł��B���h�D���T�|�[�g���邽�߂ɁAvector�ł͂Ȃ��Avector���͂����e���v���[�g�N���X��p�ӂ��Ă��ǂ������m��܂���B


��19�́D�Ǘ��N���X�͉����Ǘ����Ȃ� 2001/10/10

�Ȃ񂩁A10��8����10��10�������X�V���Ă����肷��A��˂��炨�̃z�[���y�[�W�́A�C���^�[�l�b�g�E�̏T���W�����v�ƌĂ΂�Ă��܂����A�x��Ĉ����̕����X�V���Ă�����L�y�[�W�̋C�������킩��Ȃ��ł͂Ȃ��������̂���ł��B�i�Ȃ�̂�������j

�m�x���Q�[�����A�V�[���Ǘ��N���X�����ɔ������ׂ��C�x���g���A�C�x���g�����N���X�ɐq�˂�˃V�[���\�z�Ƃ����ߒ������ǂ�ƂȂ�ƁA�}�b�v�G�f�B�^�����ɔ������ׂ��R�}���h���A���[�U�[�ɐq�˂��ConcreteCommand�\�z�Ƃ�������ł�����A���́A�܂����������l���������K���ł���̂ł��B

�����Ō����C�x���g�Ƃ́A�u�V�i���I��ʂ��\�z���A�V�i���I�i���o�[�T�P�Q���Đ��v���Ƃ��A�u�G���f�B���O��ʂ��\�z���A�o�b�h�G���f�B���O��ʂ��Đ��v���Ƃ��A�������������̂��̂ł��B

�Ƃ������ƂŁA�V�[���N���X�́ACScene�̔h���N���X�ł����A�����‚����������邽�߂̃p�����[�^�́Asmart_ptr<CSerialize>�ɂ��āA�n���Ă��Ɨǂ��Ƃ����̂́A��P�V�͂̌��_���炷��Ύ��ɓ��R�ƌ����܂��B�������Ă�邱�Ƃɂ��A�V�[���Ǘ��N���X�́A���̃Q�[���ˑ��̏���ێ����Ȃ��čς݂܂��B���Ȃ킿�A���ɍ\�z���ׂ��V�[���́A�C�x���g�N���X�ɂ���ė^�����܂����A���̍\�z�͊O���ɂ���V�[��factory���S�����܂����A���̊Ԃ̃p�����[�^��smart_ptr<CSerialize>�Ŏ󂯓n�����܂�����A�V�[���Ǘ��N���X�͂��̃Q�[���ŗL�̏��������Ǘ����Ȃ��A�Ƃ������ƂɂȂ�܂��B���ꂪ�V�[���Ǘ��̐������p�ł��B

���̉�Ђł͎���Ƃ̕��S�Ƃ��āA�C���^�[�t�F�[�X�i���s�ƊE�p��t�@���[�U�[�C���^�[�t�F�[�X�̂��ƁB���Ȃ킿��ʂ܂��j�̃v���O�����S���ƁA���C���̃v���O�����S���𕪂��Ă����肵�܂��B�C���^�[�t�F�[�X�S���́A�D���Ȃ悤�ɃV�[���N���X�����܂��B�A�o�E�g�Ɍ����΁AOnDraw(CDrawContext*)�̂悤�ȕ`��֐��ȊO�ɂ‚��ẮA�K�肹���A�D���Ȃ悤�ɍ�点�܂��B�����̂��߁A���̃N���X��CInterface�ƌĂт܂��B

���C���v���O�����S���́A����CInterface�N���X���͂����V�[���N���X��p�ӂ��܂��B���̃N���X�́ACScene�h���N���X�ł���AOnInit(const CSerialize&)�Ƃ����������֐����I�[�o�[���C�h���Ă���A�C�x���g�����N���X����n���ꂽ�i�C�x���g�����N���X�Ő������ꂽ�j�p�����[�^���V�[���Ǘ��N���X�����̂܂܂����‚ɓ�����Ƃ����`�ɂȂ�܂��BOnInit�֐��̂Ȃ��ł́A����CSerialize�̃p�����[�^�Ɋ�Â��āACInterface�N���X�̐ݒ�n�̊֐��ɈϏ����Ă����܂��B

���̂悤�ɁA�C���^�[�t�F�[�X�S���ɁACScene�h���N���X�𒼐ڏ������Ȃ����R�́A�C���^�[�t�F�[�X�̃v���O����(h / cpp)���Ȃ�ׂ����C���v���O�����S����������Ȃ��čςނ悤�ɂ��邽�߂̍H�v�ł��B�܂��A���̂悤�ɂ��邱�Ƃɂ���āA���C���v���O�����S���́A�C���^�[�t�F�[�X�̃v���O�����S���̍�Ƃ�҂������āA�Q�[���t���[����уt���O�\�Ɋ�Â��A�Q�[�����쐬���Ă������Ƃ��o���܂��B


��20�́DUndo��Redo�̎������̂Q 2001/12/02

�f���‚̂ق��ŁA���邷�l����A

Undo,Redo���Ĉ��񐔗��܂�ƌÂ��z����j�����邶��Ȃ��ł���
�����l�����List��Deque�Ŏ�������̂������̂��Ȃ��Ȃ�Ďv������ł���
�ǂ��Ȃ�ł����˂��B

�Ƃ�����������������܂����B�m���ɂ����ł��B�Â����̂�j������̂Ȃ�΁ADeque�Ŏ�������ق����ǂ��ł��B���̏ꍇ�ARedo����Ƃ��́Adeque<smart_ptr<CSerialize> >::iterator �ŁA����Redo���ꂽ�A�N�V�������|�C���g����悤�ɂȂ�܂��B�i���܂��j

�ǂ��ł�������ł����A�C�e���[�^���āAC++�ł͕���++,--���I�[�o�[���[�h���Ă��邩��A���̂֐i�߂�ɂ́A++���āA�߂��ɂ�--����ł͂Ȃ��ł����B����p�ꂪ������ł�����I�p�ꂪ���I�I�i��˂��炨�́A�r�b�N���}�[�N����������t����ƁA�h���S���{�[���ł��߂͂ߔg���o���Ƃ����v���o���܂��B���̗p�ꂪ���I�I�̂Ƃ���ŁA��̂Ђ炩��o�Ă��邩�߂͂ߔg��z�����Ȃ���ǂ�ł��������O�O�G�j

next���邾�Ƃ��Aprev���邾�Ƃ��œ`���悤�ȋC�͂���̂ł����Anext���ē����ł͖����ł����A�u�`����v���Ă̂́A�ǂ��Ȃ��H�Ǝv���킯�ł��B

�����l����ƁA�C�e���[�^���g�C���N�������g�h����ƌĂԂق����A�܂��}�V�Ȃ悤�ȋC�����āD�D�B�ł�����������ƁA�d���̋���˂��‚��̂���D���Ȑl����A�u�C�e���[�^�Ƃ����T�O�ɁA�C���N�������g�Ƃ����͉̂]�X����ʂ�c�v�Ƃ����˂����݂��K������܂��B��Ȃ������A�킩���Ƃ�킢�I�{�P���I�I�Ȃ߂Ƃ�̂����I�I�I�I�I�I�i����Ȃ�A�����ł��߂͂ߔg���o�Ă���j�Ƃ������Ȃ��V���C�{�[�C�i�����Ō����ĂĂ͂������Ȃ��񂩁���������j�Ȏ��́A�����A�����ł����[�A�A�ӂނӂށA�A�Ƃ����U���������Ƃ�����܂������A�ŋ߂͂��̎�̓˂����݂��������̂ŁA�uiterator��++����v�Ə����Ă܂��B����++�́Aiterator::opertor ++�̂��ƂȂ̂ŁA�˂����܂�Ă����v�ł��B�i�������Ȃ��D�D�j�@�݂Ȃ�����A�g���Ă݂Ă͂������H�i�Ƃ������Ă݂�j

���ƁA������A�ʂ̕�����Ȃ̂ł����Aconcrete command��const CSerialize&�Ƃ��ēn���Ă���͉̂����H�Ƃ�����������������܂����B�i���̐�����������������Ȃ̂ł����j

getUndoAction�ŕԂ����CSerialize�́A�R�}���h�ł��B�R�}���h�̒�`�́A�����ɏ����Ă��܂����A�R�}���h==�u�R�}���h�����̉����邽�߂̎���ID(������p�����[�^�ɂ���command factory��concrete command�����̉�����)�{����concrete command�ɓn�����߂̃p�����[�^�v�ł��B

�����concrete command�ɓn���Ă���̂́A��L�R�}���h�́A�u�R�}���h�����̉����邽�߂̎���ID�v���������̂ł��B����Ȑ����ł킩���Ă���������ł��傤���D�D�D�B

�Ƃ肠�����A����ŃA���h�D�E���h�D�͎����ł��Ă��܂��B�����͂܂����x�����܂��B


��21�́D�`��t���[�����[�N�ɂ‚��� 2001/12/03

���������Q�[���̐���̂��߂̃R�[�i�[�Ȃ̂ŁA����́A�`��t���[�����[�N�ɂ‚��ď������Ƃɂ��܂��B

�b�Ԃ̕`��t���[�������U�O�Ƃ��R�O�ɌŒ肷��̂́A���܂�Sleep�ő҂ĂΗǂ��̂ł��BIDirectDrawSurface::Flip�Ȃ񂼂Ń^�C�~���O�����̂͌��ꓹ�f�ł��B�i���t���b�V�����[�g��60Hz�Ƃ͌���Ȃ����߁j

�������AWindows�}�V���͒x�����̂��瑬�����̂܂ŁA���܂��܂ȃ��[�U�[�‹����l�����܂��B

���������󋵂ŁA�x���}�V���ŁA30FPS(FPS = Frames Per Second : �b�ԃt���[�����j���Ƃ�60FPS�o��Ɖ��肵�ăv���O�������ėǂ����̂ł��傤���H

�����͂����炭�m�[�ł��傤�B��˂��炨�́A�܂��A���܂ǂ��̃}�V���Ȃ�΁A16bpp���[�h�ɂ�����30FPS�͏o�邾�낤�A�Ƃ����‚���Ńv���O�������Ă��܂����A����ł��A���܂肢���X�^�C���Ƃ͌����������Ӗ�������܂��B

�ł́A�ǂ�����̂��ǂ��̂ł��傤���H

����ɂ́A�t���[���X�L�b�v�Ƃ����l�������𓱓����邱�Ƃł��B���������ƁA�悭�A�P�t���[���X�L�b�v����Ȃ�A�e�L�����N�^�[���Q�{���“������΂����悤�Ɏv���l�����邩���m��܂��񂪁A�����ł͂���܂���B����Ȃ��Ƃ����Ă��܂��ƁA�{���Ȃ�ΏՓ˂���͂��̃L�����N�^�[���m���A�ʂ�ʂ��Ă��܂��܂��B

�������Ԃ̂X���߂��͕`��֌W�Ɏ��Ԃ��H���Ă��܂��B�����ŁA�t���[���X�L�b�v�Ƃ����̂́A�{���`�悷�ׂ���������x���Ȃ��Ă���΁A���̃t���[���̕`������Ȃ��ł����A�Ƃ������ƂŃX�s�[�h�A�b�v��}��܂��B

��̓I�ɂ́A�U�O�e�o�r�ŕ`�悵�����̂Ȃ�΁A�P�t���[���̕`�掞�Ԃ͂P�^�U�O�B�Ƃ��낪�O�t���[���`���A�Q�^�U�O�b�ȏ�o�߂��Ă���̂Ȃ�΁A���̃t���[�����v���C�}���T�[�t�F�[�X�֓]�����邱�Ƃ��ȗ����܂��B�{���͂��ׂĂ̕`����u���b�N�i�ȗ��j�����ق������s���x�ʂł͗ǂ��̂ł����A��������ƁA��ʏ�ɕ`�悵�ĐڐG���蓙�����Ă���ꍇ�A���܂������Ȃ��Ȃ��Ă��܂��܂��̂ŁA�����܂ł���K�v�͖����Ǝv���܂��B�Ƃ肠�����A�v���C�}���T�[�t�F�[�X�֓]�����镔�������ȗ�����΁A�����Ă��̏ꍇ�A����炵�������͂��ł��B

�������悭�l����Ɓu�Q�^�U�O�b�ȏ�o�߂��Ă���΁v�Ƃ��������ł́A����P�b�ԂɁA

�`�悵���t���[�����@�{�@�X�L�b�v�����t���[�����@���@�U�O

�Ƃ͂Ȃ�܂���B�����Ȃ�Ȃ��ƁA�U�O�e�o�r�����肵�āi�U�O�t���[���`�悷��΂P�b�o�߂��Ă���Ɖ��肵�āj�v���O�������Ă���킯�ŁA�܂����̂ł��B

���̂��߂ɂ́A���������Ⴄ�T�O�𓱓����Ȃ���΂Ȃ�܂���B

�܂��A��P�t���[���͌o�ߎ��Ԃ����O�b�̂Ƃ���ŕ`�悵�A��Q�t���[���͂����P�^�U�O�b�C�ȉ��A�悎�t���[���́A�����i���|�P�j�^�U�O�b�̒i�K�ŕ`�悵�Ȃ���΂Ȃ�܂���B���܉��ɁA�悍�t���[���ڂ̕`�������Ƃ��A�o�ߎ��Ԃ��f���i���|�P�j�^�U�O�b�@�{�@�P�^�U�O�b���傫���Ȃ�΁A���̃t���[���͕`����X�L�b�v����悤�ɂ��܂��B

����ŁA�����Ă��̏ꍇ�͂��܂������܂��B�������A�v���C�}���T�[�t�F�[�X�֓]������̂��ȗ����Ă��邾���Ȃ̂ŁA���‚܂ł����Ă��`������𖞂������A�`�悪�X�L�b�v���ꑱ���A��ʂɂ͉����\������Ȃ��A�Ƃ������Ƃɂ��Ȃ肩�˂܂���B�����ŁA�o�ߎ��Ԃ��f���i���|�P�j�^�U�O�b�@�{�@�P�^�S�b���傫���̂Ȃ�΁A���̃t���[���͂Ƃ肠�����`�悷�邾�Ƃ��A�����������ɏ������āA�b�ԍŒ�A�S�e�o�r�i���������̂Ƃ��́A��́u�`�悵���t���[�����{�X�L�b�v�����t���[�������U�O�v�Ƃ��������͖������Ȃ��j��ۏ؂���悤�ɂ����ق����ǂ��ł��B

yaneSDK2nd1.54�ȍ~�ł́A���̂悤��FPS�ێ��N���X���ACFPSTimer���Ƃ��Ď��������̂ŁA����������Ă��������B


��22�́D�Q�[���ɂ�����^�X�N�Ǘ��ɂ‚��� 2001/12/29

�u�t�i��˂��炨�̂��Ƃˁj���Z�ɂ‚��A�e���A���K���Ă������ƁB

���K�f�ށF
http://www.hh.iij4u.or.jp/~peto/Games/games_top.html

����𔭓W�����AC++��p�����Q�[���^�X�N�̌��ʓI�ȃR�[�f�B���O�ɂ‚��čl���Ă݂邱�ƁB���ɁA�e�q�֌W���������^�X�N�i��F��ԂƖC��j�̂悤�Ȃ��̂̓Q�[���ŕK�{�ɂȂ��Ă��邪�A���̕��������܂��Ǘ�����i�Ǘ��ł���j�^�X�N�}�l�[�W���N���X��݌v���Ă݂邱�ƁB


��23�́Dreal smart pointer 2002/03/05

�u�t�i��˂��炨�̂��Ƃˁj���Z�ɂ‚��A�e���A���K���Ă������ƁB�i���̃R�s�y�O�O�G�j

���K�f�ށF
http://www.tomozo.ne.jp/yamazaki/download/doc_design_pattern.htm

�f�U�C���p�^�[���̃R�[�h�W�B�{��������A���������R�[�h�Ō����Ă�������ق����͂邩�ɂ킩��₷���B

http://member.nifty.ne.jp/yamazaki/doc_interface.html

C++�ɂ�����C���^�[�t�F�[�X�ɂ‚��Ă̏Љ�L��������܂��B

�Ƃ���ŁA�‚��ɁAMore Effective C++�ł��s�”\�ƌ��_�t�����Ă����|�����[�t�B�b�N�Ȕz������������A���A���ʂ̔z��Ɣ�z��ȒP��̃I�u�W�F�N�g�𓯓��Ɉ����āA���A�͈͊O�ւ̃A�N�Z�X�ɑ΂��ė�O�𓊂���悤�Ȉ��S�ȃX�}�[�g�|�C���^���J��������ŁA�\�[�X���f�ڂ��Ă����܂��B��realsmartptr

�ڂ������e�͏t�ɏo���{�̌��e�Ƃ��ď����Ă���̂ŁA�����ł͂���ȏ㏑���܂�����i�΁j


��24�́Dclass export 2002/03/20

�u�t�i��˂��炨�̂��Ƃˁj���Z�ɂ‚��A�e���A���K���Ă������ƁB�i�܂��܂����̃R�s�y�O�O�G�j

DLL����factory��o�^���āAMain����A����DLL����A���̃I�u�W�F�N�g���g����悤�ɂ��邽�߂̃I�u�W�F�N�g�}�l�[�W���N���X(CoCreateInstance�Ɠ����悤�Ȃ���)������Ă݂܂����B�\�[�X���f�ڂ��Ă����܂��B��chap24

�ڂ������e�͏t�ɏo���{�̌��e�Ƃ��ď����Ă���̂ŁA�����ł͂���ȏ㏑���܂�����i�΁j�@���@��������̃R�s�y


��Q�S�͂܂ł̋L�����e���x�[�X�ɁA�wWindows �v���t�F�b�V���i���Q�[���v���O���~���O�x�������܂����B
���������́A����̖{�ɏ�������Ȃ��������Ƃ�A���̖{�i�o��̂���I�j�ɏ������e�̃x�[�X�ɂ��悤�Ǝv���Ă���A�C�f�A�ł��B

��25�́D�_��̂���V���A���C�[�[�V���� 2002/12/08

����N���X���V���A���C�Y����@�\��p�ӂ����Ƃ��āA�f�[�^�����o����’lj����ꂽ���炢�ŁA�O�̃V���A���C�Y�f�[�^�ƌ݊������Ȃ��Ȃ�Ƃ����̂́A��������҂ł��B

�����ŁA�f�[�^�����o�̓ǂݏ������A���O�ōs�Ȃ��΂ǂ����Ǝv���܂����B

CStringMap�Ƃ����A������ɂ��A�z�N���X(��yaneSDK2nd)��p�ӂ��āA�����‚Ƀf�[�^�����o����荞�݁A�ŏI�I�ɁACStringMap���V���A���C�Y���Ă��܂��Ƃ������@�ł��B

�i�ȉ��l�@�r�������������B��˖{�Q�ɏ����܂��i�O�O�G�j


��26�́D�}�C�N���X���b�h 2002/12/08

��Q�Q�͂ŏЉ���悤�ȃ^�X�N�x�[�X�̃Q�[���v���O�������ƁA�^�X�N�͖��t���[���Ăяo����邽�߁A�Ăяo�����^�C�v�̃v���O���~���O���f���ɂȂ��Ă��܂��܂��B�����Ƃ���Ă��Ɍ����΂e�r�l�i�L����ԃ}�V���j�ɂȂ�B�������݂̏�Ԃ��ǂ��Ƃ�����ȃ����o�ϐ��p�ӂ������Ȃ��˂�I�Ƃ����ӌ���������ł��傤�B

�����ŁAC++�Ń}�C�N���X���b�h���������Ă݂܂��B�}�C�N���X���b�h�Ƃ�Python�̃}�C�N���X���b�h�ł��F

http://www-6.ibm.com/jp/developerworks/linux/020809/j_l-pythrd.html

C++�Ŏ�������֌W��Astackless�ł͂Ȃ����O�m�ۂ���stack context�̐؂�ւ��ɂȂ��ł����B����ɂ��A�V�[���N���X�����ދ���FSM�ɂȂ邱�ƂȂ��v���O�����ł��܂��B�}�C�N���X���b�h�̃\�[�X�R�[�h�́A�����ByaneSDK3rd1.02�̂Ȃ��Ɋ܂܂�Ă���̂ōŐV�ł͂����炩��DL���Ă��������B

�i�ۑ�j�}�C�N���X���b�h��p���āA��Q�Q�͂Ɠ����v���O�����������āA���̈Ⴂ���������Ă݂邱�ƁB

�i�ȉ��l�@�r�������������B��˖{�Q�ɏ����܂��i�O�O�G�j

�Q�l�����F�uGame Programming Gems 2 �vpp.258-264�C������Ѓ{�[���f�W�^��,ISBN4-939007-33-2,�艿12,000+��


��27�́DC++�I�ȃ^�X�N�V�X�e�� 2003/06/15

�u�t�i��˂��炨�̂��Ƃˁj��˖{�Q�̒ǂ����ݒ��Ȃ̂ŁA�e���A���K���Ă������ƁB

��22�͂̃^�X�N�V�X�e����C++�Ŏ��������ႪyaneSDK3rd�̃T���v��10�ł���B
������Q�l�ɁA�����Ȃ�̃^�X�N�V�X�e���ɔ��W������B

���@�ڂ����͂�˖{�Q�ɁB


��28�́D�Q�[���̃��v���C���������� 2004/02/03

�ŋ߂̃Q�[���ɂ����āA���v���C���L�^���Ȃ���΂Ȃ�Ȃ����Ƃ͑��X���邾�낤�B

���`��t���[�����ׂẴf�[�^���V���A���C�Y���Ă��ǂ����A����ł͂��܂�ɂ��f�[�^����剻��������B

�܂��A�t���[���X�L�b�v���Ă���‹��ŋL�^���A�t���[���X�L�b�v���Ă���‹��ōČ������ꍇ�A�������Č�����邩�ɂ‚��Ă��q�ׂɌ������Ă����K�v������B

�L�[���݂͂̂��L�^���āA���̋L�^���ꂽ�L�[���̓f�[�^�Ɋ�Â��Č����邱�Ƃ��l����B�L�[���݂͂̂Ȃ�΁A�����������ʂł͂Ȃ����炾�B

�������A���̂Ƃ��A�Q�[���ɂ͕K���Č������Ȃ���΂Ȃ�Ȃ��B�G�̓������ɗ����I�ȗv�f����������Ă��Ă͂����Ȃ��B�����������g�������Ȃ�΁A�Č����̂��闐����p���āA���̗����̎�(rand seed)�����v���C�f�[�^�Ƃ��ċL�^���Ă����K�v������B

���Ƀt���[���X�L�b�v�̂��Ƃ��l���Ă������B

�P�D�`����X�L�b�v�������Ƃ��Ă��A�G�̈ړ��̓X�L�b�v���Ă��Ȃ����Ƃ�����ł���ꍇ���l����B

���Ȃ킿�A1�b���ƂɌ��߂�ꂽ�񐔂̈ړ��Ɠ��͂̃X�L�����͍s�Ȃ��Ă���B�������������Ȃ�΁A���͂̃X�L�������݂̂����v���C�f�[�^�Ƃ��ċL�^���Ă��������ŗǂ��B����������߂���B

�Q�D�t���[���X�L�b�v������������ƍs�Ȃ��Ă��Ȃ��v���O�����Ń��v���C�L�^���Ƃ邽�߂ɂ́A�����‚��̃e�N�j�b�N���K�v�ƂȂ�B

���̂悤�ȃQ�[���ł́A�P�t���[�����ƂɃ^�C�}�[���Q�Ƃ��āA���̃^�C�}�[�̒l�Ɋ�Â��ēG�𓮂������肵�Ă���͂��ł���B���ɁA�����������������Ă���Ƃ��悤�B�������A�^�C�}�[�͂P�t���[���̕`�悪��������܂ł͍X�V����Ȃ����̂Ƃ���B����́AyaneSDK2nd/3rd/4th��FixTimer�N���X�����������d�l�ɂȂ��Ă���B

����FixTimer�N���X�œ�����^�C�}�[�l�����v���C�f�[�^�Ƃ��ċL�^���Ă����B���v���C�Č����ɂ́A���̃^�C�}�[�l�Ǝ��^�C�}�[�Ƃ��r���āA���^�C�}�[�̂ق�����ɐi��ł���Ε`��t���[�����X�L�b�v�A���^�C�}�[�̂ق����x��Ă���΁Await����悤�ɂ��ē������Ƃ�B

����Ń��v���C�L�^���ƍČ����œ������x�ŃQ�[�����i�s���邱�Ƃ͕ۏ؂����B�Ƃ��낪�A���͂̃X�L������񂾂����L�^���Ă������悤�ɍČ��ł���Ƃ͌���Ȃ��B����̓Q�[���̎d�l�ɂ��B�n�������ɋL�^��������Ɩc��ȗʂɂȂ�̂ŁA�G�̍��W�����V���A���C�Y�������̂�O�t���[���Ƃ̍������L�^���Ă����̂���{�ƂȂ�B

�j���L�j���L�����Q�[�F
http://d.hatena.ne.jp/yaneurao/20040128#p1

�ł��A���v���C�L�^�`�Đ����������Ă���̂ŁA�Q�l�ɂ���Ɨǂ����낤�B


�߂�