├── src
├── utils.h
├── CChaine.h
├── Csprite.h
├── utils.cpp
├── Canimation.h
├── Csprite.cpp
├── asciianim.h
├── bconio.cpp
├── wconio.cpp
├── Canimation.cpp
├── asciianim.cpp
├── SaverWindow.cpp
├── asciiquarium.cpp
├── asciiquarium.suo
├── res
│ ├── cursor1.cur
│ ├── cursor2.cur
│ ├── asciiquarium.ico
│ └── asciiquarium.rc2
├── asciiquariumDlg.cpp
├── stdafx.cpp
├── wconio.h
├── ChronoPrecis.h
├── prog.manifest.xml
├── asciiquarium.h
├── asciiquarium.sln
├── viewport.h
├── resource.h
├── targetver.h
├── bconio.h
├── asciiquariumDlg.h
├── ChronoPrecis.cpp
├── SaverWindow.h
├── stdafx.h
├── CChaine.cpp
├── viewport.cpp
├── ReadMe.txt
├── asciiquarium.rc
└── asciiquarium.vcproj
└── README.md
/src/utils.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/utils.h
--------------------------------------------------------------------------------
/src/CChaine.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/CChaine.h
--------------------------------------------------------------------------------
/src/Csprite.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/Csprite.h
--------------------------------------------------------------------------------
/src/utils.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/utils.cpp
--------------------------------------------------------------------------------
/src/Canimation.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/Canimation.h
--------------------------------------------------------------------------------
/src/Csprite.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/Csprite.cpp
--------------------------------------------------------------------------------
/src/asciianim.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/asciianim.h
--------------------------------------------------------------------------------
/src/bconio.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/bconio.cpp
--------------------------------------------------------------------------------
/src/wconio.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/wconio.cpp
--------------------------------------------------------------------------------
/src/Canimation.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/Canimation.cpp
--------------------------------------------------------------------------------
/src/asciianim.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/asciianim.cpp
--------------------------------------------------------------------------------
/src/SaverWindow.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/SaverWindow.cpp
--------------------------------------------------------------------------------
/src/asciiquarium.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/asciiquarium.cpp
--------------------------------------------------------------------------------
/src/asciiquarium.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/asciiquarium.suo
--------------------------------------------------------------------------------
/src/res/cursor1.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/res/cursor1.cur
--------------------------------------------------------------------------------
/src/res/cursor2.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/res/cursor2.cur
--------------------------------------------------------------------------------
/src/asciiquariumDlg.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/asciiquariumDlg.cpp
--------------------------------------------------------------------------------
/src/res/asciiquarium.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rgoring/asciiquarium/HEAD/src/res/asciiquarium.ico
--------------------------------------------------------------------------------
/src/stdafx.cpp:
--------------------------------------------------------------------------------
1 |
2 | // stdafx.cpp : source file that includes just the standard includes
3 | // asciiquarium.pch will be the pre-compiled header
4 | // stdafx.obj will contain the pre-compiled type information
5 |
6 | #include "stdafx.h"
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/res/asciiquarium.rc2:
--------------------------------------------------------------------------------
1 | //
2 | // asciiquarium.RC2 - resources Microsoft Visual C++ does not edit directly
3 | //
4 |
5 | #ifdef APSTUDIO_INVOKED
6 | #error this file is not editable by Microsoft Visual C++
7 | #endif //APSTUDIO_INVOKED
8 |
9 |
10 | /////////////////////////////////////////////////////////////////////////////
11 | // Add manually edited resources here...
12 |
13 | /////////////////////////////////////////////////////////////////////////////
14 |
--------------------------------------------------------------------------------
/src/wconio.h:
--------------------------------------------------------------------------------
1 |
2 | #if !defined(WCONIO_H_INCLUDED)
3 | #define WCONIO_H_INCLUDED
4 |
5 |
6 |
7 | bool initWindow(HWND hwnd, BOOL parentBackgroud /*if possible*/);
8 | void closeWindow(void);
9 |
10 | void setWindowcursor(int x, int y);
11 | void setWindowTxtcolor(int color_fond);
12 | void outputWindowTxt(char car);
13 |
14 | void clrWindow(void);
15 |
16 | void DisplayWindow(int n);
17 |
18 | void setCurrentWindow(int n);
19 | void gettaille_Window( int *xSize, int *ySize);
20 |
21 | #endif // defined(WCONIO_H_INCLUDED)
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # asciiquarium
2 | Asciiquarium screensaver for Windows
3 |
4 | Created by Jean Sommer, contributions by Russell Goring
5 |
6 | Kirk Baucom originally wrote the ASCIIQuarium animation in Perl. His website, and the original ASCIIQuarium,
7 | with links to other ports can be found here: https://robobunny.com/projects/asciiquarium/html/. There’s also a
8 | freshmeat page for the Perl version of the program here: http://freshmeat.sourceforge.net/projects/asciiquarium
9 |
10 | J. Sommer took this idea and created a Windows screensaver out of it. This is the source for the Windows version.
11 |
--------------------------------------------------------------------------------
/src/ChronoPrecis.h:
--------------------------------------------------------------------------------
1 |
2 |
3 | #ifndef INC_CHRONO_H
4 | #define INC_CHRONO_H
5 |
6 |
7 | class Chrono
8 | {
9 | public:
10 | Chrono();
11 | ~Chrono();
12 |
13 | void Start(void);
14 | ULONG Stop(void); // renvoi le tps en ms
15 |
16 | ULONG GetTemps_ms(void);
17 | ULONG GetTemps_micros(void);
18 |
19 | BOOL EstDisponible(void);
20 |
21 |
22 | ULONG Chrono::GetElapsed_micros();
23 | ULONG Chrono::GetElapsed_ms();
24 |
25 | private:
26 | BOOL dispo;
27 | __int64 Frequence;
28 | LARGE_INTEGER count1, count2;
29 | __int64 t0;
30 | __int64 t1;
31 |
32 | };
33 |
34 |
35 |
36 |
37 | #endif // INC_CHRONO_H //////////////////////////
38 |
--------------------------------------------------------------------------------
/src/prog.manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
10 | messagerie instantanee
11 |
12 |
13 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/asciiquarium.h:
--------------------------------------------------------------------------------
1 |
2 | // asciiquarium.h : main header file for the PROJECT_NAME application
3 | //
4 |
5 | #pragma once
6 |
7 | #ifndef __AFXWIN_H__
8 | #error "include 'stdafx.h' before including this file for PCH"
9 | #endif
10 |
11 | #include "resource.h" // main symbols
12 | #include "SaverWindow.h"
13 |
14 |
15 | // CasciiquariumApp:
16 | // See asciiquarium.cpp for the implementation of this class
17 | //
18 |
19 | class CasciiquariumApp : public CWinAppEx
20 | {
21 | public:
22 | CasciiquariumApp();
23 |
24 | // Overrides
25 | public:
26 | virtual BOOL InitInstance();
27 | virtual int ExitInstance( );
28 |
29 | // Implementation
30 |
31 | DECLARE_MESSAGE_MAP()
32 |
33 | private:
34 | CSaverWindow* m_pSaverWindow;
35 | };
36 |
37 | extern CasciiquariumApp theApp;
--------------------------------------------------------------------------------
/src/asciiquarium.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 10.00
3 | # Visual Studio 2008
4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asciiquarium", "asciiquarium.vcproj", "{71CA1CC9-8EBF-4EE8-A21E-42E32BD08B95}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Win32 = Debug|Win32
9 | Release|Win32 = Release|Win32
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {71CA1CC9-8EBF-4EE8-A21E-42E32BD08B95}.Debug|Win32.ActiveCfg = Debug|Win32
13 | {71CA1CC9-8EBF-4EE8-A21E-42E32BD08B95}.Debug|Win32.Build.0 = Debug|Win32
14 | {71CA1CC9-8EBF-4EE8-A21E-42E32BD08B95}.Release|Win32.ActiveCfg = Release|Win32
15 | {71CA1CC9-8EBF-4EE8-A21E-42E32BD08B95}.Release|Win32.Build.0 = Release|Win32
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/src/viewport.h:
--------------------------------------------------------------------------------
1 |
2 |
3 | #if !defined(VIEWPORT_H_INCLUDED)
4 | #define VIEWPORT_H_INCLUDED
5 |
6 |
7 | enum COLORS
8 | {
9 | BLACK, /* dark colors */
10 | BLUE,
11 | GREEN,
12 | CYAN,
13 | RED,
14 | MAGENTA,
15 | BROWN,
16 | LIGHTGRAY,
17 | DARKGRAY, /* light colors */
18 | LIGHTBLUE,
19 | LIGHTGREEN,
20 | LIGHTCYAN,
21 | LIGHTRED,
22 | LIGHTMAGENTA,
23 | YELLOW,
24 | WHITE
25 | };
26 |
27 |
28 | bool initViewPort(HWND hwnd, BOOL parentBackgroud /*if possible*/);
29 | void closeViewPort(void);
30 |
31 | void SetCurrentViewportBuffer(int n);
32 | void DisplayViewportBuffer(int n);
33 |
34 |
35 | void CreateViewportBuffer(int n);
36 |
37 | void SetViewportBufferProps(void);
38 | void SetViewportInputProps(void);
39 |
40 |
41 | void getviewport_size( int *xSize, int *ySize);
42 | void clearviewport(void);
43 | int getviewportnbevenement(void);
44 |
45 | void setviewportcursor(int x, int y);
46 | void setviewportcursorcolor(int color_txt);
47 | void outputviewport(char car);
48 |
49 |
50 | #endif // defined(VIEWPORT_H_INCLUDED)
--------------------------------------------------------------------------------
/src/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by asciiquarium.rc
4 | //
5 | #define IDM_ABOUTBOX 0x0010
6 | #define IDD_ABOUTBOX 100
7 | #define IDS_ABOUTBOX 101
8 | #define IDD_ASCIIQUARIUM_DIALOG 102
9 | #define IDR_MAINFRAME 128
10 | #define IDC_CURSOR1 129
11 | #define IDC_CURSOR2 130
12 | #define ID_NBPOISSON 1002
13 | #define IDC_RECT 1003
14 | #define IDC_EDABOUT 1004
15 | #define IDC_CREDIT 1004
16 | #define IDC_CHECK1 1005
17 | #define IDC_CHECKWATER 1005
18 | #define IDC_CHECKWATER2 1006
19 | #define IDC_CHECKQUITESC 1006
20 | #define IDC_EDIT1 1007
21 | #define IDC_KEYSEQ 1007
22 |
23 | // Next default values for new objects
24 | //
25 | #ifdef APSTUDIO_INVOKED
26 | #ifndef APSTUDIO_READONLY_SYMBOLS
27 | #define _APS_NEXT_RESOURCE_VALUE 131
28 | #define _APS_NEXT_COMMAND_VALUE 32771
29 | #define _APS_NEXT_CONTROL_VALUE 1008
30 | #define _APS_NEXT_SYMED_VALUE 101
31 | #endif
32 | #endif
33 |
--------------------------------------------------------------------------------
/src/targetver.h:
--------------------------------------------------------------------------------
1 |
2 | #pragma once
3 |
4 | // The following macros define the minimum required platform. The minimum required platform
5 | // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run
6 | // your application. The macros work by enabling all features available on platform versions up to and
7 | // including the version specified.
8 |
9 | // Modify the following defines if you have to target a platform prior to the ones specified below.
10 | // Refer to MSDN for the latest info on corresponding values for different platforms.
11 | #ifndef WINVER // Specifies that the minimum required platform is Windows Vista.
12 | #define WINVER 0x0600 // Change this to the appropriate value to target other versions of Windows.
13 | #endif
14 |
15 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista.
16 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows.
17 | #endif
18 |
19 | #ifndef _WIN32_WINDOWS // Specifies that the minimum required platform is Windows 98.
20 | #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
21 | #endif
22 |
23 | #ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 7.0.
24 | #define _WIN32_IE 0x0700 // Change this to the appropriate value to target other versions of IE.
25 | #endif
26 |
27 |
--------------------------------------------------------------------------------
/src/bconio.h:
--------------------------------------------------------------------------------
1 |
2 | #if !defined(BCONIO_H_INCLUDED)
3 | #define BCONIO_H_INCLUDED
4 |
5 | #ifndef _BCONIO_C_
6 | extern int _wscroll;
7 | extern int directvideo;
8 | #endif
9 |
10 | bool initconsole(void);
11 | void closeconsole(void);
12 |
13 | void setCurrentBuffer(int n);
14 | void displayBuffer(int n);
15 |
16 | void CreateBuffer(int n);
17 | void SetBufferProps(void);
18 | void SetInputProps(void);
19 |
20 |
21 |
22 | void putcar(char car);
23 |
24 |
25 | int nbevenement(void);
26 |
27 |
28 |
29 | void gotoxy(int x, int y);
30 | int wherex(void);
31 | int wherey(void);
32 |
33 | #define _NOCURSOR 0
34 | #define _NORMALCURSOR 1
35 |
36 | typedef unsigned short WORD;
37 |
38 | void _setcursortype(int type);
39 |
40 | void clrscr(void);
41 |
42 | enum bCOLORS
43 | {
44 | bBLACK, /* dark colors */
45 | bBLUE,
46 | bGREEN,
47 | bCYAN,
48 | bRED,
49 | bMAGENTA,
50 | bBROWN,
51 | bLIGHTGRAY,
52 | bDARKGRAY, /* light colors */
53 | bLIGHTBLUE,
54 | bLIGHTGREEN,
55 | bLIGHTCYAN,
56 | bLIGHTRED,
57 | bLIGHTMAGENTA,
58 | bYELLOW,
59 | bWHITE
60 | };
61 |
62 | void textbackground(int color_fond);
63 | void textcolor(int color_fond);
64 | char *copy_screen( void );
65 | WORD *copy_screenAttrib(void);
66 |
67 |
68 | void gettaille_ecran( int *xSize, int *ySize);
69 |
70 | void taille_ecran( int xSize, int ySize);
71 |
72 | //void window( int left, int top, int right, int bottom);
73 |
74 | #endif // defined(BCONIO_H_INCLUDED)
75 |
--------------------------------------------------------------------------------
/src/asciiquariumDlg.h:
--------------------------------------------------------------------------------
1 |
2 | // asciiquariumDlg.h : header file
3 | //
4 |
5 | #pragma once
6 |
7 | #include "asciianim.h"
8 | #include "afxwin.h"
9 |
10 | // CasciiquariumDlg dialog
11 | class CasciiquariumDlg : public CDialog
12 | {
13 | // Construction
14 | public:
15 | CasciiquariumDlg(CWnd* pParent = NULL); // standard constructor
16 |
17 | // Dialog Data
18 | enum { IDD = IDD_ASCIIQUARIUM_DIALOG };
19 |
20 | protected:
21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
22 |
23 |
24 | // Implementation
25 | protected:
26 | HICON m_hIcon;
27 |
28 | // Generated message map functions
29 | virtual BOOL OnInitDialog();
30 | afx_msg void OnClose( );
31 |
32 | virtual void OnOK();
33 | virtual void OnCancel();
34 | virtual BOOL PreTranslateMessage(MSG* pMsg);
35 |
36 | afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
37 | afx_msg void OnPaint();
38 | afx_msg HCURSOR OnQueryDragIcon();
39 | DECLARE_MESSAGE_MAP()
40 |
41 |
42 | Caquarium aqua;
43 | int espX,espY;
44 | int initialCX,initialCY;
45 |
46 | public:
47 | int m_nbpoisson;
48 | BOOL m_SansEau;
49 | BOOL m_ExitOnlyOnESC;
50 | afx_msg void OnTimer(UINT_PTR nIDEvent);
51 | afx_msg void OnSize(UINT nType, int cx, int cy);
52 | afx_msg void OnSizing(UINT fwSide, LPRECT pRect);
53 |
54 | CString m_Credit;
55 | afx_msg void OnBnClickedCheckwater();
56 | CString m_keySeq;
57 | private:
58 | time_t m_saisie_lasttimekbd;
59 | #define MAXSAISIE 20
60 | int m_saisie_car[MAXSAISIE];
61 | int m_saisie_nbcar;
62 | bool keyseq_hasFocus;
63 | public:
64 | CEdit m_edtKeySeq;
65 | afx_msg void OnEnUpdateKeyseq();
66 | };
67 |
--------------------------------------------------------------------------------
/src/ChronoPrecis.cpp:
--------------------------------------------------------------------------------
1 |
2 | #include "stdafx.h"
3 | //#include
4 |
5 | #include "ChronoPrecis.h"
6 |
7 |
8 |
9 |
10 | Chrono::Chrono()
11 | {
12 | LARGE_INTEGER Frequency;
13 |
14 | dispo = QueryPerformanceFrequency(&Frequency)!=0;
15 | Frequence = Frequency.QuadPart;
16 |
17 | Start();
18 | }
19 |
20 | Chrono::~Chrono()
21 | {
22 | }
23 |
24 | BOOL Chrono::EstDisponible(void)
25 | {
26 | return(dispo);
27 | }
28 |
29 | void Chrono::Start(void)
30 | {
31 | QueryPerformanceCounter( &count1 );
32 | count2 = count1;
33 | t0=count1.QuadPart;
34 | t1=count2.QuadPart;
35 | }
36 |
37 | ULONG Chrono::Stop(void)
38 | {
39 | QueryPerformanceCounter( &count2 );
40 | t1=count2.QuadPart;
41 | return( GetTemps_ms() );
42 | }
43 |
44 |
45 | ULONG Chrono::GetTemps_ms(void)
46 | {
47 | if (!dispo) return(0);
48 |
49 |
50 | ULONG duree = (ULONG)( (t1-t0)*1000/Frequence ); // en ms
51 |
52 | return(duree);
53 | }
54 |
55 | ULONG Chrono::GetTemps_micros(void)
56 | {
57 | if (!dispo) return(0);
58 |
59 | ULONG duree = (ULONG)( (t1-t0)*1000000/Frequence ); // en micro-s
60 |
61 | return(duree);
62 | }
63 |
64 | ULONG Chrono::GetElapsed_micros(void)
65 | {
66 | if (!dispo) return(0);
67 |
68 | QueryPerformanceCounter( &count2 );
69 | t1=count2.QuadPart;
70 | ULONG duree = (ULONG)( (t1-t0)*1000000/Frequence ); // en micro-s
71 |
72 | return(duree);
73 | }
74 |
75 | ULONG Chrono::GetElapsed_ms(void)
76 | {
77 | if (!dispo) return(0);
78 |
79 | QueryPerformanceCounter( &count2 );
80 | t1=count2.QuadPart;
81 | ULONG duree = (ULONG)( (t1-t0)*1000/Frequence ); // en ms
82 |
83 | return(duree);
84 | }
85 |
86 |
--------------------------------------------------------------------------------
/src/SaverWindow.h:
--------------------------------------------------------------------------------
1 | #if !defined(AFX_SAVERWINDOW_H__EED950BA_AC86_4212_9420_C029DFEDC13E__INCLUDED_)
2 | #define AFX_SAVERWINDOW_H__EED950BA_AC86_4212_9420_C029DFEDC13E__INCLUDED_
3 |
4 | #if _MSC_VER > 1000
5 | #pragma once
6 | #endif // _MSC_VER > 1000
7 | // SaverWindow.h : header file
8 | //
9 | #include
10 |
11 | #include "asciianim.h"
12 |
13 |
14 | /////////////////////////////////////////////////////////////////////////////
15 | // CSaverWindow window
16 |
17 | class CSaverWindow : public CWnd
18 | {
19 | // Construction
20 | public:
21 | CSaverWindow();
22 | HBRUSH m_hBackgroundBrush;
23 | CRect rect;
24 | // Attributes
25 | public:
26 | BOOL m_bPreview;
27 | CRect m_rect;
28 |
29 | int Height() { return m_rect.Height(); }
30 | int Width() { return m_rect.Width(); }
31 | // Operations
32 | public:
33 | afx_msg int Create( HWND hwndParent );
34 | afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
35 | afx_msg void OnClose( );
36 | afx_msg void OnShowWindow( BOOL bShow, UINT nStatus );
37 |
38 | // Overrides
39 | // ClassWizard generated virtual function overrides
40 | //{{AFX_VIRTUAL(CSaverWindow)
41 | protected:
42 | virtual LRESULT WindowProc(UINT nMsg, WPARAM wParam, LPARAM lParam);
43 |
44 | //}}AFX_VIRTUAL
45 |
46 | // Implementation
47 | public:
48 | virtual ~CSaverWindow();
49 |
50 | // CAlphaBlend m_transparent;
51 | POINT positionSouris;
52 | HCURSOR hblank_curseur, h2;
53 |
54 | int m_nbpoissondesire;
55 | int m_sansEau;
56 | int m_exitOnEsc;
57 |
58 | Caquarium aqua;
59 | // Generated message map functions
60 | protected:
61 | //{{AFX_MSG(CSaverWindow)
62 | afx_msg void OnPaint();
63 | //}}AFX_MSG
64 | DECLARE_MESSAGE_MAP()
65 | private:
66 | time_t m_saisie_lasttimekbd;
67 | #define MAXSAISIE 20
68 | int m_saisie_car[MAXSAISIE];
69 | int m_saisie_nbcar;
70 | };
71 |
72 | /////////////////////////////////////////////////////////////////////////////
73 |
74 | //{{AFX_INSERT_LOCATION}}
75 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
76 |
77 | #endif // !defined(AFX_SAVERWINDOW_H__EED950BA_AC86_4212_9420_C029DFEDC13E__INCLUDED_)
78 |
--------------------------------------------------------------------------------
/src/stdafx.h:
--------------------------------------------------------------------------------
1 |
2 | // stdafx.h : include file for standard system include files,
3 | // or project specific include files that are used frequently,
4 | // but are changed infrequently
5 |
6 | #pragma once
7 |
8 | #ifndef _SECURE_ATL
9 | #define _SECURE_ATL 1
10 | #endif
11 |
12 | #ifndef VC_EXTRALEAN
13 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
14 | #endif
15 |
16 | #include "targetver.h"
17 |
18 | #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
19 |
20 | // turns off MFC's hiding of some common and often safely ignored warning messages
21 | #define _AFX_ALL_WARNINGS
22 |
23 | #include // MFC core and standard components
24 | #include // MFC extensions
25 |
26 |
27 | #include // MFC Automation classes
28 |
29 |
30 |
31 | #ifndef _AFX_NO_OLE_SUPPORT
32 | #include // MFC support for Internet Explorer 4 Common Controls
33 | #endif
34 | #ifndef _AFX_NO_AFXCMN_SUPPORT
35 | #include // MFC support for Windows Common Controls
36 | #endif // _AFX_NO_AFXCMN_SUPPORT
37 |
38 | #include // MFC support for ribbons and control bars
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 | #ifdef _UNICODE
49 | #if defined _M_IX86
50 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
51 | #elif defined _M_IA64
52 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
53 | #elif defined _M_X64
54 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
55 | #else
56 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
57 | #endif
58 | #endif
59 |
60 |
61 |
--------------------------------------------------------------------------------
/src/CChaine.cpp:
--------------------------------------------------------------------------------
1 |
2 | #define _CRT_SECURE_NO_WARNINGS
3 |
4 | #include
5 |
6 | #include "CChaine.h"
7 | //////////////////////////////////////////
8 | char *allouecharbuffer(int len) // alloue len+1 octets
9 | {
10 | char *ret;
11 |
12 | ret = (char*)malloc( len+1 );
13 | return(ret);
14 | }
15 |
16 | char *dupliqueChaine(const char *source)
17 | {
18 | char *ret;
19 |
20 | if (source==NULL)
21 | return(NULL);
22 |
23 | ret = allouecharbuffer( strlen(source) );
24 | if (ret==NULL)
25 | return(NULL);
26 |
27 | strcpy(ret, source);
28 | return(ret);
29 | }
30 |
31 | char *dupliqueConcatChaine(const char *source1, const char *source2)
32 | {
33 | char *ret;
34 |
35 | if (source1==NULL && source2==NULL)
36 | return(NULL);
37 |
38 | if (source1==NULL)
39 | return( dupliqueChaine(source2) );
40 | if (source2==NULL)
41 | return( dupliqueChaine(source1) );
42 |
43 | ret = allouecharbuffer( strlen(source1)+strlen(source2) );
44 | if (ret==NULL)
45 | return(NULL);
46 |
47 | strcpy(ret, source1);
48 | strcat(ret, source2);
49 | return(ret);
50 | }
51 |
52 |
53 | void libereDuplicationChaine(char **str)
54 | {
55 | if (*str)
56 | {
57 | free(*str);
58 | (*str)=NULL;
59 | }
60 | }
61 |
62 | char *dupliqueAddChaine(char **source, const char *source2) // renvoi source
63 | {
64 | char *newsource;
65 | newsource = dupliqueConcatChaine( *source, source2);
66 | libereDuplicationChaine(source);
67 | *source= newsource;
68 | return(newsource);
69 | }
70 |
71 | /////////////////////////////////////////////////////////////
72 |
73 |
74 | CChaine::CChaine()
75 | {
76 | m_str=NULL;
77 | acquirecount=0;
78 | };
79 | CChaine::CChaine(const char*source)
80 | {
81 | m_str=dupliqueChaine(source);
82 | acquirecount=0;
83 | };
84 | CChaine::~CChaine()
85 | {
86 | libereDuplicationChaine(&m_str);
87 | }
88 | CChaine& CChaine::operator = ( const char *source )
89 | {
90 | libereDuplicationChaine(&m_str);
91 | m_str=dupliqueChaine(source);
92 | return(*this);
93 | }
94 | CChaine& CChaine::operator = ( const CChaine &source )
95 | {
96 | //const char* s=source.getstr();
97 | *this = source.m_str;
98 | return(*this);
99 | }
100 | int CChaine::lenght(void)
101 | {
102 | if (!m_str) return(0);
103 | return(strlen(m_str));
104 | }
105 |
106 | void CChaine::AddChaine(const char *source)
107 | {
108 | char *newsource;
109 | newsource = dupliqueConcatChaine( m_str, source);
110 | libereDuplicationChaine(&m_str);
111 | m_str= newsource;
112 | }
113 |
--------------------------------------------------------------------------------
/src/viewport.cpp:
--------------------------------------------------------------------------------
1 |
2 |
3 | #include
4 |
5 |
6 | //#include "utils.h"
7 | #include "bconio.h"
8 | #include "wconio.h"
9 |
10 | #include "viewport.h"
11 |
12 | //#define USE_CONSOLE
13 | #define USE_WINDOW
14 |
15 | bool initViewPort(HWND hwnd, BOOL parentBackgroud /*if possible*/)
16 | {
17 | #ifdef USE_CONSOLE
18 | initconsole();
19 | #endif
20 | #ifdef USE_WINDOW
21 | initWindow(hwnd, parentBackgroud);
22 | #endif
23 |
24 | return(true);
25 | }
26 |
27 |
28 | void closeViewPort(void)
29 | {
30 | #ifdef USE_CONSOLE
31 | closeconsole();
32 | #endif
33 | #ifdef USE_WINDOW
34 | closeWindow();
35 | #endif
36 | }
37 |
38 |
39 |
40 | void SetCurrentViewportBuffer(int n)
41 | {
42 | #ifdef USE_CONSOLE
43 | setCurrentBuffer(n);
44 | #endif
45 | #ifdef USE_WINDOW
46 | setCurrentWindow(n);
47 | #endif
48 | }
49 |
50 | void DisplayViewportBuffer(int n)
51 | {
52 | #ifdef USE_CONSOLE
53 | displayBuffer(n);
54 | #endif
55 | #ifdef USE_WINDOW
56 | DisplayWindow(n);
57 | #endif
58 | }
59 |
60 |
61 | void CreateViewportBuffer(int n)
62 | {
63 | #ifdef USE_CONSOLE
64 | CreateBuffer(n);
65 | #endif
66 | #ifdef USE_WINDOW
67 | #endif
68 | }
69 |
70 | void SetViewportBufferProps(void)
71 | {
72 | #ifdef USE_CONSOLE
73 | SetBufferProps();
74 | #endif
75 | #ifdef USE_WINDOW
76 | #endif
77 | }
78 | void SetViewportInputProps(void)
79 | {
80 | #ifdef USE_CONSOLE
81 | SetInputProps();
82 | #endif
83 | #ifdef USE_WINDOW
84 | #endif
85 | }
86 |
87 |
88 |
89 | void getviewport_size( int *xSize, int *ySize)
90 | {
91 | #ifdef USE_CONSOLE
92 | gettaille_ecran( xSize, ySize);
93 | #endif
94 | #ifdef USE_WINDOW
95 | gettaille_Window( xSize, ySize);
96 | #endif
97 | }
98 |
99 | void clearviewport(void)
100 | {
101 | #ifdef USE_CONSOLE
102 | clrscr();
103 | #endif
104 | #ifdef USE_WINDOW
105 | clrWindow();
106 | #endif
107 | }
108 |
109 | int getviewportnbevenement(void)
110 | {
111 | #ifdef USE_CONSOLE
112 | return(nbevenement());
113 | #endif
114 | #ifdef USE_WINDOW
115 | return(0);
116 | #endif
117 | }
118 |
119 | void setviewportcursor(int x, int y)
120 | {
121 | #ifdef USE_CONSOLE
122 | gotoxy(x, y);
123 | #endif
124 | #ifdef USE_WINDOW
125 | setWindowcursor(x, y);
126 | #endif
127 | }
128 | void setviewportcursorcolor(int color_txt)
129 | {
130 | #ifdef USE_CONSOLE
131 | textcolor(color_txt);
132 | #endif
133 | #ifdef USE_WINDOW
134 | setWindowTxtcolor(color_txt);
135 | #endif
136 | }
137 |
138 | void outputviewport(char car)
139 | {
140 | #ifdef USE_CONSOLE
141 | putcar(car);
142 | #endif
143 | #ifdef USE_WINDOW
144 | outputWindowTxt(car);
145 | #endif
146 | }
147 |
--------------------------------------------------------------------------------
/src/ReadMe.txt:
--------------------------------------------------------------------------------
1 | ================================================================================
2 | MICROSOFT FOUNDATION CLASS LIBRARY : asciiquarium Project Overview
3 | ===============================================================================
4 |
5 | The application wizard has created this asciiquarium application for
6 | you. This application not only demonstrates the basics of using the Microsoft
7 | Foundation Classes but is also a starting point for writing your application.
8 |
9 | This file contains a summary of what you will find in each of the files that
10 | make up your asciiquarium application.
11 |
12 | asciiquarium.vcproj
13 | This is the main project file for VC++ projects generated using an application wizard.
14 | It contains information about the version of Visual C++ that generated the file, and
15 | information about the platforms, configurations, and project features selected with the
16 | application wizard.
17 |
18 | asciiquarium.h
19 | This is the main header file for the application. It includes other
20 | project specific headers (including Resource.h) and declares the
21 | CasciiquariumApp application class.
22 |
23 | asciiquarium.cpp
24 | This is the main application source file that contains the application
25 | class CasciiquariumApp.
26 |
27 | asciiquarium.rc
28 | This is a listing of all of the Microsoft Windows resources that the
29 | program uses. It includes the icons, bitmaps, and cursors that are stored
30 | in the RES subdirectory. This file can be directly edited in Microsoft
31 | Visual C++. Your project resources are in 1033.
32 |
33 | res\asciiquarium.ico
34 | This is an icon file, which is used as the application's icon. This
35 | icon is included by the main resource file asciiquarium.rc.
36 |
37 | res\asciiquarium.rc2
38 | This file contains resources that are not edited by Microsoft
39 | Visual C++. You should place all resources not editable by
40 | the resource editor in this file.
41 |
42 |
43 | /////////////////////////////////////////////////////////////////////////////
44 |
45 | The application wizard creates one dialog class:
46 |
47 | asciiquariumDlg.h, asciiquariumDlg.cpp - the dialog
48 | These files contain your CasciiquariumDlg class. This class defines
49 | the behavior of your application's main dialog. The dialog's template is
50 | in asciiquarium.rc, which can be edited in Microsoft Visual C++.
51 |
52 |
53 | /////////////////////////////////////////////////////////////////////////////
54 |
55 | Other Features:
56 |
57 | ActiveX Controls
58 | The application includes support to use ActiveX controls.
59 |
60 | /////////////////////////////////////////////////////////////////////////////
61 |
62 | Other standard files:
63 |
64 | StdAfx.h, StdAfx.cpp
65 | These files are used to build a precompiled header (PCH) file
66 | named asciiquarium.pch and a precompiled types file named StdAfx.obj.
67 |
68 | Resource.h
69 | This is the standard header file, which defines new resource IDs.
70 | Microsoft Visual C++ reads and updates this file.
71 |
72 | asciiquarium.manifest
73 | Application manifest files are used by Windows XP to describe an applications
74 | dependency on specific versions of Side-by-Side assemblies. The loader uses this
75 | information to load the appropriate assembly from the assembly cache or private
76 | from the application. The Application manifest maybe included for redistribution
77 | as an external .manifest file that is installed in the same folder as the application
78 | executable or it may be included in the executable in the form of a resource.
79 | /////////////////////////////////////////////////////////////////////////////
80 |
81 | Other notes:
82 |
83 | The application wizard uses "TODO:" to indicate parts of the source code you
84 | should add to or customize.
85 |
86 | If your application uses MFC in a shared DLL, you will need
87 | to redistribute the MFC DLLs. If your application is in a language
88 | other than the operating system's locale, you will also have to
89 | redistribute the corresponding localized resources MFC90XXX.DLL.
90 | For more information on both of these topics, please see the section on
91 | redistributing Visual C++ applications in MSDN documentation.
92 |
93 | /////////////////////////////////////////////////////////////////////////////
94 |
--------------------------------------------------------------------------------
/src/asciiquarium.rc:
--------------------------------------------------------------------------------
1 | // Microsoft Visual C++ generated resource script.
2 | //
3 | #include "resource.h"
4 |
5 | #define APSTUDIO_READONLY_SYMBOLS
6 | /////////////////////////////////////////////////////////////////////////////
7 | //
8 | // Generated from the TEXTINCLUDE 2 resource.
9 | //
10 | #ifndef APSTUDIO_INVOKED
11 | #include "targetver.h"
12 | #endif
13 | #include "afxres.h"
14 |
15 | /////////////////////////////////////////////////////////////////////////////
16 | #undef APSTUDIO_READONLY_SYMBOLS
17 |
18 | /////////////////////////////////////////////////////////////////////////////
19 | // English (U.S.) resources
20 |
21 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
22 | #ifdef _WIN32
23 | LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
24 | #pragma code_page(1252)
25 | #endif //_WIN32
26 |
27 | /////////////////////////////////////////////////////////////////////////////
28 | //
29 | // Dialog
30 | //
31 |
32 | IDD_ABOUTBOX DIALOGEX 0, 0, 170, 62
33 | STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
34 | CAPTION "About asciiquarium"
35 | FONT 8, "MS Shell Dlg", 0, 0, 0x1
36 | BEGIN
37 | ICON IDR_MAINFRAME,IDC_STATIC,14,14,20,20
38 | LTEXT "asciiquarium, Version 1.4",IDC_STATIC,42,14,114,8,SS_NOPREFIX
39 | LTEXT "Copyright (C) 2013",IDC_STATIC,42,26,114,8
40 | DEFPUSHBUTTON "OK",IDOK,113,41,50,14,WS_GROUP
41 | END
42 |
43 | IDD_ASCIIQUARIUM_DIALOG DIALOGEX 0, 0, 315, 141
44 | STYLE DS_SETFONT | DS_FIXEDSYS | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
45 | EXSTYLE WS_EX_CONTROLPARENT | WS_EX_APPWINDOW
46 | CAPTION "asciiquarium"
47 | FONT 8, "MS Shell Dlg", 0, 0, 0x1
48 | BEGIN
49 | EDITTEXT ID_NBPOISSON,7,23,47,14,ES_AUTOHSCROLL | ES_NUMBER
50 | CONTROL "Hide the\nwater",IDC_CHECKWATER,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,7,41,46,21
51 | CONTROL "Exit only\non Esc",IDC_CHECKQUITESC,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,7,60,46,21
52 | EDITTEXT IDC_KEYSEQ,7,84,48,14,ES_AUTOHSCROLL
53 | DEFPUSHBUTTON "OK",IDOK,7,103,50,14
54 | PUSHBUTTON "Cancel",IDCANCEL,7,120,50,14
55 | LTEXT "Number of fish",IDC_STATIC,7,12,48,8
56 | CONTROL "",IDC_RECT,"Static",SS_OWNERDRAW,23,3,36,8
57 | EDITTEXT IDC_CREDIT,62,3,246,131,ES_MULTILINE | ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
58 | END
59 |
60 |
61 | /////////////////////////////////////////////////////////////////////////////
62 | //
63 | // Version
64 | //
65 |
66 | VS_VERSION_INFO VERSIONINFO
67 | FILEVERSION 1,3,1,1
68 | PRODUCTVERSION 1,3,1,1
69 | FILEFLAGSMASK 0x3fL
70 | #ifdef _DEBUG
71 | FILEFLAGS 0x1L
72 | #else
73 | FILEFLAGS 0x0L
74 | #endif
75 | FILEOS 0x4L
76 | FILETYPE 0x1L
77 | FILESUBTYPE 0x0L
78 | BEGIN
79 | BLOCK "StringFileInfo"
80 | BEGIN
81 | BLOCK "040904e4"
82 | BEGIN
83 | VALUE "CompanyName", "J Sommer"
84 | VALUE "FileDescription", "Asciiquarium screen saver"
85 | VALUE "FileVersion", "1.3.1.1"
86 | VALUE "InternalName", "asciiquarium.scr"
87 | VALUE "LegalCopyright", "J Sommer"
88 | VALUE "OriginalFilename", "asciiquarium.scr"
89 | VALUE "ProductName", "Asciiquarium"
90 | VALUE "ProductVersion", "1.3.0.1"
91 | END
92 | END
93 | BLOCK "VarFileInfo"
94 | BEGIN
95 | VALUE "Translation", 0x409, 1252
96 | END
97 | END
98 |
99 |
100 | /////////////////////////////////////////////////////////////////////////////
101 | //
102 | // DESIGNINFO
103 | //
104 |
105 | #ifdef APSTUDIO_INVOKED
106 | GUIDELINES DESIGNINFO
107 | BEGIN
108 | IDD_ABOUTBOX, DIALOG
109 | BEGIN
110 | LEFTMARGIN, 7
111 | RIGHTMARGIN, 163
112 | TOPMARGIN, 7
113 | BOTTOMMARGIN, 55
114 | END
115 |
116 | IDD_ASCIIQUARIUM_DIALOG, DIALOG
117 | BEGIN
118 | LEFTMARGIN, 7
119 | RIGHTMARGIN, 308
120 | TOPMARGIN, 3
121 | BOTTOMMARGIN, 134
122 | END
123 | END
124 | #endif // APSTUDIO_INVOKED
125 |
126 |
127 | /////////////////////////////////////////////////////////////////////////////
128 | //
129 | // String Table
130 | //
131 |
132 | STRINGTABLE
133 | BEGIN
134 | IDS_ABOUTBOX "&About asciiquarium..."
135 | END
136 |
137 | STRINGTABLE
138 | BEGIN
139 | AFX_IDS_APP_TITLE "Asciiquarium"
140 | END
141 |
142 | #endif // English (U.S.) resources
143 | /////////////////////////////////////////////////////////////////////////////
144 |
145 |
146 | /////////////////////////////////////////////////////////////////////////////
147 | // French (France) resources
148 |
149 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
150 | #ifdef _WIN32
151 | LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
152 | #pragma code_page(1252)
153 | #endif //_WIN32
154 |
155 | #ifdef APSTUDIO_INVOKED
156 | /////////////////////////////////////////////////////////////////////////////
157 | //
158 | // TEXTINCLUDE
159 | //
160 |
161 | 1 TEXTINCLUDE
162 | BEGIN
163 | "resource.h\0"
164 | END
165 |
166 | 2 TEXTINCLUDE
167 | BEGIN
168 | "#ifndef APSTUDIO_INVOKED\r\n"
169 | "#include ""targetver.h""\r\n"
170 | "#endif\r\n"
171 | "#include ""afxres.h""\r\n"
172 | "\0"
173 | END
174 |
175 | 3 TEXTINCLUDE
176 | BEGIN
177 | "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
178 | "#define _AFX_NO_OLE_RESOURCES\r\n"
179 | "#define _AFX_NO_TRACKER_RESOURCES\r\n"
180 | "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
181 | "\r\n"
182 | "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
183 | "LANGUAGE 9, 1\r\n"
184 | "#pragma code_page(1252)\r\n"
185 | "#include ""res\\asciiquarium.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
186 | "#include ""afxres.rc"" // Standard components\r\n"
187 | "#endif\r\n"
188 | "\0"
189 | END
190 |
191 | #endif // APSTUDIO_INVOKED
192 |
193 |
194 | /////////////////////////////////////////////////////////////////////////////
195 | //
196 | // Icon
197 | //
198 |
199 | // Icon with lowest ID value placed first to ensure application icon
200 | // remains consistent on all systems.
201 | IDR_MAINFRAME ICON "res\\asciiquarium.ico"
202 |
203 | /////////////////////////////////////////////////////////////////////////////
204 | //
205 | // Cursor
206 | //
207 |
208 | IDC_CURSOR1 CURSOR "res\\cursor1.cur"
209 | IDC_CURSOR2 CURSOR "res\\cursor2.cur"
210 | #endif // French (France) resources
211 | /////////////////////////////////////////////////////////////////////////////
212 |
213 |
214 |
215 | #ifndef APSTUDIO_INVOKED
216 | /////////////////////////////////////////////////////////////////////////////
217 | //
218 | // Generated from the TEXTINCLUDE 3 resource.
219 | //
220 | #define _AFX_NO_SPLITTER_RESOURCES
221 | #define _AFX_NO_OLE_RESOURCES
222 | #define _AFX_NO_TRACKER_RESOURCES
223 | #define _AFX_NO_PROPERTY_RESOURCES
224 |
225 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
226 | LANGUAGE 9, 1
227 | #pragma code_page(1252)
228 | #include "res\asciiquarium.rc2" // non-Microsoft Visual C++ edited resources
229 | #include "afxres.rc" // Standard components
230 | #endif
231 |
232 | /////////////////////////////////////////////////////////////////////////////
233 | #endif // not APSTUDIO_INVOKED
234 |
235 |
--------------------------------------------------------------------------------
/src/asciiquarium.vcproj:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
15 |
16 |
17 |
18 |
19 |
27 |
30 |
33 |
36 |
39 |
45 |
56 |
59 |
65 |
68 |
76 |
79 |
82 |
85 |
88 |
91 |
94 |
97 |
98 |
107 |
110 |
113 |
116 |
119 |
125 |
137 |
140 |
146 |
149 |
159 |
162 |
166 |
169 |
172 |
175 |
178 |
181 |
182 |
183 |
184 |
185 |
186 |
191 |
194 |
195 |
198 |
199 |
202 |
203 |
206 |
207 |
210 |
211 |
214 |
215 |
218 |
219 |
222 |
223 |
226 |
227 |
230 |
233 |
237 |
238 |
241 |
245 |
246 |
247 |
250 |
251 |
254 |
255 |
258 |
259 |
260 |
265 |
268 |
269 |
272 |
273 |
276 |
277 |
280 |
281 |
284 |
285 |
288 |
289 |
292 |
293 |
296 |
297 |
300 |
301 |
304 |
305 |
308 |
309 |
312 |
313 |
316 |
317 |
320 |
321 |
324 |
325 |
326 |
331 |
334 |
335 |
338 |
339 |
342 |
343 |
346 |
347 |
350 |
351 |
352 |
355 |
356 |
357 |
358 |
362 |
363 |
364 |
--------------------------------------------------------------------------------