home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-12-05 | 75.0 KB | 2,461 lines |
- âïÇéÇ 5. -- 1 --
- --------
-
- éêäàÄêâÉ¢
- -----------------------------------------------------------------
- é¿ñÑ«¿úαδ »α¿¡«ß∩Γ óá¼ ½¿í« αáñ«ßΓ∞, ½¿í« «ú«ατÑ¡¿∩. ¥Γ«
- ºáó¿ß¿Γ «Γ óáΦÑú« «Γ¡«ΦÑ¡¿∩ ¬ ¡¿¼. Äñ¡á¬« »α«úαá¼¼¿α«óá¡¿Ñ
- ó¿ñÑ«¿úα ¡Ñ Γ«½∞¬« ¿¡ΓÑαÑß¡«, ¡« ¿ »«½Ñº¡«. öá¬Γ¿τÑ߬¿, «ñ¡¿¼ ¿º
- ½πτΦ¿σ ß»«ß«í«ó «í«úáΘÑ¡¿∩ ∩ó½∩ÑΓß∩ αáºαáí«Γ¬á πñáτ¡δσ ó¿ñÑ«¿úα.
- ò«α«Φá∩ ¿úαá, «íΩÑñ¿¡∩εΘá∩ ½«ú¿¬π ß ª¿ó«⌐ úαáΣ¿¬«⌐, ñ«ßΓáó¿Γ
- í«½∞Φ«Ñ πñ«ó«½∞ßΓó¿Ñ ¿ú᫬π. ïπτΦ¿Ñ ¿º ó¿ñÑ«¿úα, ó¬½ετáεΘ¿Ñ
- φ½Ñ¼Ñ¡Γδ ¿ß¬πßßΓóÑ¡¡«ú« ¿¡Γѽ½Ñ¬Γá, »«ºó«½∩εΓ ¬«¼»∞εΓÑαπ óÑßΓ¿
- ñ¿á½«ú ß ¿ú᫬«¼ ¿ "«ß¼δ߽ѡ¡«" αÑáú¿α«óáΓ∞ ¡á óó«ñ ñá¡¡δσ.
- é φΓ«⌐ ú½áóÑ óδ «º¡á¬«¼¿ΓÑß∞ ß ¡Ñ¬«Γ«α묨 «ß¡«óἿ ΓÑσ¡¿¬¿
- »α«úαá¼¼¿α«óá¡¿∩ ó¿ñÑ«¿úα, τΓ« »«ºó«½¿Γ óá¼ αáºαáíáΓδóáΓ∞
- ß«íßΓóÑ¡¡δÑ ¿úαδ. éδ ¡áπτ¿ΓÑß∞ "«ª¿ó½∩Γ∞" αẽ¿τ¡δÑ «íΩѬΓδ ¡á
- φ¬αá¡Ñ óáΦÑú« ΓÑନ¡á½á. Éáºαáí«Γ¬á ó¿ñÑ«¿úα ∩ó¿Γß∩ ñ½∩ óáß
- «Γ»αáó¡«⌐ Γ«τ¬«⌐. î¡«ú¿Ñ »α¿¡µ¿»δ, ¿ß»«½∞ºπѼδÑ »α¿ αáºαáí«Γ¬Ñ
- ó¿ñÑ«¿úα, íπñπΓ »«½Ñº¡δ ñ½∩ óáß ¿ πóѽ¿τáΓ óáΦ ¿¡ΓÑαÑß ¬ αáí«ΓÑ.
- ä½∩ ¿ß»«½∞º«óá¡¿∩ »α«úαá¼¼, »α¿ó«ñ¿¼δσ ó ¬áτÑßΓóÑ »α¿¼Ñαá ó φΓ«⌐
- ú½áóÑ, ¡Ñ«íσ«ñ¿¼ ¬«¼»∞εΓÑα IBM PC ¿½¿ ñαπú«⌐, ß«ó¼ÑßΓ¿¼δ⌐ ß ¡¿¼,
- ó ß«ßΓáó ¬«Γ«α«ú« óσ«ñ∩Γ áñá»ΓÑαδ CGA, EGA ¿½¿ VGA. î¡«ú¿Ñ ¿º
- Σπ¡¬µ¿⌐, ¿ß»«½∞ºπѼδσ ó ñá¡¡«⌐ ú½áóÑ, αáßß¼áΓα¿ó὿ß∞ ó ú½áóÑ 4.
- Å«φΓ«¼π, Ñß½¿ óδ ÑΘÑ ¡Ñ ¿ºπτ¿½¿ ú½áóπ 4, Γ« óá¼ »α¿ñÑΓß∩ ßñѽáΓ∞
- φΓ« ßÑ⌐τáß.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 2 --
-
-
- æÅÉÇëÆ¢
- -----------------------------------------------------------------
-
- î¡«ú¿Ñ ó¿ñÑ«¿úαδ, ó ¬«Γ«αδσ ¿ú᫬ π»αáó½∩ÑΓ «íΩѬΓἿ,
- áΓá¬πεΘ¿¼¿ ñαπú¿Ñ «íΩѬΓδ, π»αáó½∩ѼδÑ »α«úαá¼¼«⌐ ¿½¿
- ºáΘ¿ΘáεΘ¿¼¿ß∩ «Γ ¡¿σ, ó¬½ετáεΓ ñóá ¬½áßßá á¬Γ¿ó¡δσ «íΩÑ¬Γ«ó:
- ßαÑñπ (»αÑñßΓáó½∩εΘπε ñ½∩ ¡áß ¼á½«¼Ñ¡∩εΘÑÑß∩ »«½Ñ ¿úαδ) ¿
- ß»αá⌐Γδ. æÅÉÇëÆ - φΓ« ¡Ñí«½∞Φ«⌐ »«ñ󿪡δ⌐ «íΩѬΓ, ¬«Γ«αδ⌐
- ñó¿ªÑΓß∩ »« »«½ε ó¿ñÑ«¿úαδ »« «»αÑñѽѡ¡δ¼ »αáó¿½á¼ ß ºáñá¡¡«⌐
- µÑ½∞ε. ìá»α¿¼Ñα, ¬«úñá ¬«ß¼¿τÑ߬¿⌐ ¬«αáí½∞ ßΓαѽ∩ÑΓ Σ«Γ«¡¡δ¼¿
- Γ«α»ÑñἿ, ¿º«íαáªÑ¡¿Ñ Γ«α»Ññδ αÑ὿ºπÑΓß∩ ß»αá⌐Γ«¼. é αἬáσ
- ñá¡¡«⌐ ú½áóδ »«ñ ß»αá⌐Γ«¼ íπñѼ »«¡¿¼áΓ∞ Σ¿úπαπ, «»αÑñѽѡ¡πε
- ¡Ñ¬«Γ«α묨 ºá¼¬¡πΓ묨 «ΓαѺ¬á¼¿ (¼¡«ú«πú«½∞¡¿¬). ò«Γ∩, ó «íΘѼ
- ß½πτáÑ ß»αá⌐Γ ¼«ªÑΓ ¿º«íαáªáΓ∞ß∩ ½εíδ¼ «íαẫ¼, ¡á»α¿¼Ñα, ó ó¿ñÑ
- «¬απª¡«ßΓ¿. é »α¿¼Ñαáσ, αáßß¼áΓα¿óáѼδσ ó ñá¡¡«⌐ ú½áóÑ,
- «»αÑñѽ∩Γ∞ ß»αá⌐Γ íπñѼ ó ó¿ñÑ ñóπ¼Ñα¡«ú« ¼áßß¿óá µÑ½δσ τ¿ßѽ.
- ìá»α¿¼Ñα, ß»αá⌐Γ, ß«ßΓ«∩Θ¿⌐ ¿º 4 «ΓαѺ¬«ó ¼«ªÑΓ íδΓ∞ «»¿ßá¡
- ß½ÑñπεΘ¿¼ ¼áßß¿ó«¼
-
- int sprite [4][4];
-
- ÅÑαóá∩ αẼÑα¡«ßΓ∞ ¼áßß¿óá «»αÑñѽ∩ÑΓ ¬«½¿τÑßΓó« «ΓαѺ¬«ó
- ß»αá⌐Γá, á óΓ«αá∩ - ¬««αñ¿¡áΓδ ¬«¡Ñτ¡δσ Γ«τѬ «ΓαѺ¬«ó (»«ñ«í¡δ⌐
- ß»«ß«í «»¿ßá¡¿∩ «íΩÑ¬Γ«ó »«ñα«í¡« αáßß¼«ΓαÑ¡ ó ú½áóÑ 4).
- ìáτá½∞¡δÑ ¿ ¬«¡Ñτ¡δÑ ¬««αñ¿¡áΓδ «ΓαѺ¬«ó ºáñáεΓß∩ ó ß½ÑñπεΘÑ⌐
- »«ß½Ññ«óáΓѽ∞¡«ßΓ¿:
-
- start_x, start_y, end_x, end_y
-
- ÄΓαѺ«¬, óσ«ñ∩Θ¿⌐ ó ß»αá⌐Γ, ß ¬««αñ¿¡áΓἿ ¬«¡Ñτ¡δσ Γ«τѬ
- 0,0 ¿ 0,10 ¼«ªÑΓ íδΓ∞ «»¿ßá¡ ß½ÑñπεΘ¿¼ ¼áßß¿ó«¼:
-
- sprite[0][0] = 0; /* start_x */
- sprite[0][1] = 0; /* start_y */
- sprite[0][2] = 0; /* end_x */
- sprite[0][3] = 10; /* end_y */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 3 --
-
-
- ÅÄïà êâÉ¢
- -----------------------------------------------------------------
-
- é í«½∞Φ¿¡ßΓóÑ ó¿ñÑ«¿úα »«½Ñ ¿úαδ »αÑñßΓáó½∩ÑΓ ß«í«⌐
- ¡Ñ¼Ñ¡∩εΘÑÑß∩ (¼Ññ½Ñ¡¡« ¼Ñ¡∩εΘÑÑß∩) ¿º«íαáªÑ¡¿Ñ, ¡á ¬«Γ«α«¼
- »α«¿ßσ«ñ¿Γ ñÑ⌐ßΓó¿Ñ ¿úαδ. Å«½Ñ ¿úαδ ¿º«íαáªáÑΓß∩ «Γñѽ∞¡δ¼¿
- »α«úαἼἿ, ºáúαπªáÑ¼δ¼¿ ó ¡áτá½Ñ ¿úαδ, »«φΓ«¼π ¡ÑΓ
- ¡Ñ«íσ«ñ¿¼«ßΓ¿ ºáúαπªáΓ∞ óßÑ »α«úαá¼¼δ óÑασ¡Ñú« πα«ó¡∩ ñ½∩
- ñ¿¡á¼¿τÑ߬«⌐ úÑ¡Ñαᵿ¿ ¿úα«ó«ú« »«½∩. Æá¬«⌐ »«ñσ«ñ «»¿ßá¡ ó
- ñá¡¡«⌐ ú½áóÑ. Åα«úαá¼¼δ, ¿ß»«½∞ºπѼδÑ ñ½∩ úÑ¡Ñαᵿ¿ ¿º«íαáªÑ¡¿⌐,
- ¿σ σαá¡Ñ¡¿∩ ó Σá⌐½Ñ ¡á ñ¿ß¬Ñ ¿ ñ«ßΓπ»á ¬ ¡¿¼, «»¿ßá¡δ ó ú½áóÑ 4.
- Ä¡¿ ºáúαπªáεΓ φΓ¿ ¿º«íαáªÑ¡¿∩ »« ¼ÑαÑ ¡Ñ«íσ«ñ¿¼«ßΓ¿.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 4 --
-
-
- îôï£ÆêÅïêèÇûêƒ ìÇ ¥èÉÇìà
- -----------------------------------------------------------------
-
- è½ετÑóδ¼ ¿ ¡á¿í«½ÑÑ ó»ÑτáΓ½∩εΘ¿¼ ¼«¼Ñ¡Γ«¼ ó¿ñÑ«¿úαδ ∩ó½∩ÑΓß∩
- ¼π½∞Γ¿»½¿¬áµ¿∩. îπ½∞Γ¿»½¿¬áµ¿∩ - «ß¡«ó¡«⌐ «Γ½¿τ¿Γѽ∞¡δ⌐ »α¿º¡á¬
- ó¿ñÑ«¿úα. Äß¡«ó¡«⌐ ¼ÑΓ«ñ ¼π½∞Γ¿»½¿¬áµ¿¿ »α«ßΓ: π¡¿τΓ«ª¿Γ∞
- ¿º«íαáªÑ¡¿Ñ »αÑñ¼ÑΓá ¿ ß«ºñáΓ∞ Ñú« ó¡«ó∞, ¡« ß ¡Ñ¬«Γ«αδ¼
- ¡Ñí«½∞Φ¿¼ ß¼ÑΘÑ¡¿Ñ¼. 欫α«ßΓ∞ φΓ«ú« »α«µÑßßá ñ«½ª¡á íδΓ∞ «τÑ¡∞
- óδß«¬«⌐. ¥Γ« ¼«ªÑΓ íδΓ∞ «íÑß»ÑτÑ¡« »πΓѼ ¡Ñ»«ßαÑñßΓóÑ¡¡«ú«
- ñ«ßΓπ»á ¬ ó¿ñÑ«»á¼∩Γ¿ ñ¿ß»½Ñ∩, 󫺼«ª¡«ßΓ∞ ¬«Γ«α«ú« «»¿ßá¡á ó
- ú½áóÑ 4.
-
- ä½∩ »«óδΦÑ¡¿∩ ¬áτÑßΓóá ¿º«íαáªÑ¡¿∩, íδßΓα«ñÑ⌐ßΓó¿∩ «»Ñαᵿ⌐
- π¡¿τΓ«ªÑ¡¿∩ ¿ »«óΓ«α¡«ú« ¿º«íαáªÑ¡¿∩ «íΩѬΓá ¿ß»«½∞ºπÑΓß∩
- «»Ñαᵿ∩ "ìà-êïê" ñ½∩ ñó«¿τ¡«ú« ¬«ñá ¬áªñ«⌐ Γ«τ¬¿ «íΩѬΓá ¡á
- φ¬αá¡Ñ. ¥Γ«Γ ß»«ß«í «íÑß»Ñτ¿óáÑΓ ó«º¼«ª¡«ßΓ∞ íδßΓα«ú« »ÑαѼÑΘÑ¡¿∩
- ß»αá⌐Γá »« φ¬αá¡π, ¡Ñ ¼Ñ¡∩∩ Ñú« µóÑΓ ¿ αẼÑαδ, ¿ Σá¬Γ¿τÑ߬¿ ¡Ñ
- π¡¿τΓ«ªá∩ ó »á¼∩Γ¿ ΓÑନ¡á½á ñá¡¡δÑ « Ñú« ¿º«íαáªÑ¡¿¿.
-
- Åα«úαá¼¼á, «Γ«íαáªáεΘá∩ ¡á φ¬αá¡Ñ ΓÑନ¡á½á ß»αá⌐Γ,
- »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¡Ñ¬«Γ«απε ¼«ñ¿Σ¿¬áµ¿ε Σπ¡¬µ¿¿ display_object()
- ¿º ú½áóδ 4.
-
- /* «Γ«íαáªÑ¡¿Ñ «íΩѬΓá ¡á φ¬αá¡Ñ */
-
- void display_object(ob, sides,cc)
- double ob[][4];
- int sides,cc;
- {
- register int i;
-
- for(i=0; i<sides; i++)
- line((int)ob[i][0], (int)ob[i][1],
- (int)ob[i][2], (int)ob[i][3], cc | 128);
- }
-
- èᬠóδ ¼«ú½¿ πíÑñ¿Γ∞ß∩, Σπ¡¬µ¿∩ display_object() α¿ßπÑΓ óßÑ
- ½¿¡¿¿ «íΩѬΓá, ¿ß»«½∞ºπ∩ »α¿óÑñÑ¡¡πε ó ú½áóÑ 4 Σπ¡¬µ¿ε line().
- çá¼ÑΓ¿¼, τΓ« º¡áτÑ¡¿Ñ ¡«¼Ñαá µóÑΓá ߬½áñδóáÑΓß∩ »« ßσÑ¼Ñ "êïê" ß
- τ¿ß½«¼ 128 ó ¬«¼á¡ñÑ πßΓá¡«ó¬¿ ßΓáαΦ¿σ í¿Γ«ó. ¥Γ« »α¿ó«ñ¿Γ ¬
- Γ«¼π, τΓ« ó Σπ¡¬µ¿¿ mempoint(), ¿ß»«½∞ºπѼ«⌐ ó Σπ¡¬µ¿¿ line() ñ½∩
- »«¼ÑΘÑ¡¿∩ ¿º«íαáªÑ¡¿∩ ¬áªñ«⌐ Γ«τ¬¿, óδ»«½¡∩ÑΓß∩ ß½«ªÑ¡¿Ñ »« ßσѼÑ
- "ìà-êïê" ñó«¿τ¡«ú« ¬«ñá. ¥Γ« »«ºó«½∩ÑΓ ß»αá⌐Γπ óßÑúñá «ßΓáóáΓ∞ß∩
- ó¿ñ¿¼δ¼ ¡Ñºáó¿ß¿¼« «Γ ß«íßΓóÑ¡¡«ú« µóÑΓá ¿ µóÑΓá Σ«¡á.
-
- ä½∩ ñѼ«¡ßΓαᵿ¿ ¼π½∞Γ¿»½¿¬áµ¿¿ óóÑñ¿ΓÑ ó óáΦ ¬«¼»∞εΓÑα
- ß½ÑñπεΘπε »α«úαá¼¼π. ¥Γá »α«úαá¼¼á »«ºó«½¿Γ óá¼ »ÑαѼÑΘáΓ∞ ß»αá⌐Γ
- (ó ó¿ñÑ ¼á½Ñ¡∞¬«ú« ¬αÑßΓ¿¬á αẼÑα«¼ 6x6 Γ«τѬ αáßΓαá) »« φ¬αá¡π,
- ¿ß»«½∞ºπ∩ ¬½áó¿Φ¿ π»αáó½Ñ¡¿∩ ¬παß«α«¼. àß½¿ óáΦ ¬«¼»∞εΓÑα ¡Ñ
- ó¬½ετáÑΓ Σπ¡¬µ¿ε bioskey(), Γ« »α«ß¼«Γα¿ΓÑ ú½áóπ 1 ñ½∩
- «»αÑñѽѡ¿∩ óÑαß¿¿ ¬«¼»¿½∩Γ«αá, ¬«Γ«αá∩ óá¼ ¡Ñ«íσ«ñ¿¼á.
-
-
- #include "dos.h"
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 5 --
-
-
- #include "stdio.h"
-
- void mode(), line();
- void mempoint(), palette();
- void display_object(),update_object();
- unsigned char read_point();
-
- int sprite[2][4] = {
- 3,0,3,5,
- 0,3,5,3
- };
-
- main()
- {
- union k {
- char c[2];
- int i;
- } key;
-
- int deltax=0,deltay=0;
-
- mode(4); /*m πßΓá¡«ó¬á 4 αѪ¿¼á úαáΣ¿¬¿ CGA/EGA */
- palette(0); /* »á½¿Γαá 0 */
-
- display_object(sprite,2,1);
- do {
- key.i = bioskey(0);
- deltax=0;deltay=0;
- if(!key.c[0]) switch(key.c[1]) {
- case 75: /* ó½Ñó« */
- deltay= -1;
- break;
- case 77: /* ó»αáó« */
- deltay= 1;
- break;
- case 72: /* óóÑασ */
- deltax= -1;
- break;
- case 80: /* 󡿺 */
- deltax= 1;
- break;
- case 71: /* óóÑασ ¿ ó½Ñó« */
- deltay= -1;
- deltax= -1;
- break;
- case 73: /* óóÑασ ¿ ó»αáó« */
- deltay= 1;
- deltax= -1;
- break;
- case 79: /* 󡿺 ¿ ó½Ñó« */
- deltay= -1;
- deltax= 1;
- break;
- case 81: /* 󡿺 ¿ ó»αáó« */
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 6 --
-
-
- deltay= 1;
- deltax= 1;
- break;
- }
- /* ßΓ¿αá¡¿Ñ ΓѬπΘÑ⌐ »«º¿µ¿¿ ß»αá⌐Γá */
- display_object(sprite,2,1);
- if (is_legal(sprite,deltax,deltay,2))
- update_object(sprite,deltax,deltay,2);
- /* »ÑαѺỿß∞ ß»αá⌐Γá ó ¡«óπε »«º¿µ¿ε */
- displey_object(sprite2,1);
- } while (key.c[0]!='q');
- getchar();
- mode(2);
- }
-
- /* éδí«α »á½¿Γαδ */
- void palette(pnum)
- int pnum;
- {
- union REGS r;
-
- r.h.bh = 1; /* ¬«ñ 4-ú« úαáΣ¿τÑ߬«ú« αѪ¿¼á */
- r.h.bl = pnum;
- r.h.ah = 11;
- int86(0x10, &r, &r);
- }
-
- /* éδí«α αѪ¿¼á */
- void mode(mode_code)
- int mode_code;
- {
- union REGS r;
-
- r.h.al = mode_code;
- r.h.ah = 0;
- int86(0x10, &r, &r);
- }
-
- /* 꺫íαáªÑ¡¿Ñ ½¿¡¿¿ ºáñá¡¡«ú« µóÑΓá ß ¿ß»«½∞º«ó᡿Ѽ
- á½ú«α¿Γ¼á üαѺѡσá¼á */
- void line(startx,starty,endx,endy,color)
- int startx,starty,endx,endy,color;
- {
- register int t,distance;
- int x=0,y=0,delta_x,delta_y;
- int incx,incy;
-
- /* éδτ¿ß½Ñ¡¿Ñ αáßßΓ«∩¡¿∩ ó «í«¿σ ¡á»αáó½Ñ¡¿∩σ */
- delta_x=endx-startx;
- delta_y=endy-starty;
-
- /* «»αÑñѽѡ¿Ñ ¡á»αáó½Ñ¡¿∩ Φáúá,
- Φáú óδτ¿ß½∩ÑΓß∩ ½¿í« »« óÑαΓ¿¬á½∞¡«⌐, ½¿í« »« ú«α¿º«¡Γá½∞¡«⌐
- ½¿¡¿¿ */
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 7 --
-
-
- if (delta_x>0) incx=1;
- else if (delta_x==0) incx=0;
- else incx= -1;
-
- if (delta_y>0) incy=1;
- else if (delta_y==0) incy=0;
- else incy= -1;
-
- /* «»αÑñѽѡ¿Ñ ¬á¬«Ñ αáßßΓ«∩¡¿Ñ í«½∞ΦÑ */
- delta_x=abs(delta_x);
- delta_y=abs(delta_y);
- if (delta_x>delta_y) distance=delta_x;
- else distance=delta_y;
-
- /* 꺫íαáªÑ¡¿Ñ ½¿¡¿¿ */
- for (t=0; t<=distance+1; t++) {
- mempoint(startx,starty,color);
- x+=delta_x;
- y+=delta_y;
- if (x>distance) {
- x-=distance;
- startx+=incx;
- }
- if (y>distance) {
- y-=distance;
- starty+=incy;
- }
- }
- }
-
-
- /* çỿß∞ Γ«τ¬¿ ó CGA/EGA */
- void mempoint(x,y,color_code)
- int x,y,color_code;
- {
- union mask {
- char c[2];
- int i;
- } bit_mask;
- int i,index,bit_position;
- unsigned char t;
- char xor; /* "¿ß¬½ετáεΘÑÑ êïê" µóÑΓá ó ß½πτáÑ Ñú«
- ¿º¼Ñ¡Ñ¡¿∩ */
- char far *ptr=(char far *) 0xB8000000; /* Γ«τ¬á ó
- »á¼∩Γ¿ CGA */
- bit_mask.i=0xFF3F; /* 11111111 00111111 ó
- ñó«¿τ¡«¼ ó¿ñÑ */
- if (x<0 || x>199 || y<0 || y>319) return;
- xor=color_code & 128; /* »α«óÑα¬á, πßΓá¡áó½¿óá½ß∩ ½¿
- αѪ¿¼ "¿ß¬½ετáεΘÑú« êïê" */
- color_code=color_code & 127; /* ¼á߬á ßΓáαΦ¿σ í¿Γ«ó */
-
- /* πßΓá¡«ó¬á í¿Γ«ó«⌐ ¼á߬¿ ¿ í¿Γ«ó αѪ¿¼á µóÑΓá
- ó »αáóπε »«º¿µ¿ε */
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 8 --
-
-
-
- bit_position=y%4; /* óδτ¿ß½Ñ¡¿Ñ ¡πª¡«⌐ »«º¿µ¿¿
- ó íá⌐ΓÑ */
- color_code<<=2*(3-bit_position); /* ßñó¿ú ¬«ñá µóÑΓá
- ó ¡πª¡πε »«º¿µ¿ε */
- bit_mask.i>>=2*bit_position; /* ßñó¿ú í¿Γ«ó«⌐ ¼á߬¿ ó
- ¡πª¡πε »«º¿µ¿ε */
-
- /* «»αÑñѽѡ¿Ñ ΓαÑíπѼ«ú« íá⌐Γá ó »á¼∩Γ¿ ΓÑନ¡á½á */
-
- index=x*40+(y%4);
- if (x%2) index+=8152; /* Ñß½¿ ¡ÑτÑΓ¡δ⌐, ¿ß»«½∞ºπÑΓß∩
- óΓ«α«⌐ í½«¬ */
-
- /* ºá»¿ß∞ µóÑΓá */
-
- if (!xor) { /* αѪ¿¼ ¿º¼Ñ¡Ñ¡¿∩ µóÑΓá */
- t=*(ptr+index) & bit_mask.c[0];
- *(ptr+index)=t|color_code;
- }
- else {
- t=*(ptr+index) | (char)0;
- *(ptr+index)=t & color_code;
- }
- }
-
- /* τΓÑ¡¿Ñ íá⌐Γá ¿º «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿ CGA/EGA */
- unsigned char read_point(x,y)
- int x,y;
- {
- union mask {
- char c[2];
- int i;
- } bit_mask;
- int i,index,bit_position;
- unsigned char t;
- char xor; /* "¿ß¬½ετáεΘÑÑ êïê" µóÑΓá ó ß½πτáÑ Ñú«
- ¿º¼Ñ¡Ñ¡¿∩ */
- char far *ptr=(char far *) 0xB8000000; /* Γ«τ¬á ó
- »á¼∩Γ¿ CGA */
- bit_mask.i=3; /* 11111111 00111111 ó
- ñó«¿τ¡«¼ ó¿ñÑ */
- if (x<0 || x>199 || y<0 || y>319) return 0;
-
- /* πßΓá¡«ó¬á í¿Γ«ó«⌐ ¼á߬¿ ¿ í¿Γ«ó αѪ¿¼á µóÑΓá
- ó »αáóπε »«º¿µ¿ε */
- bit_position=y%4; /* óδτ¿ß½Ñ¡¿Ñ ¡πª¡«⌐ »«º¿µ¿¿
- ó íá⌐ΓÑ */
- bit_mask.i<<=2*(3-bit_position);
-
- /* «»αÑñѽѡ¿Ñ ΓαÑíπѼ«ú« íá⌐Γá ó »á¼∩Γ¿ ΓÑନ¡á½á */
- index=x*40+(y>>4);
- if (x%2) index+=8152; /* Ñß½¿ ¡ÑτÑΓ¡δ⌐, ¿ß»«½∞ºπÑΓß∩
- óΓ«α«⌐ í½«¬ */
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 9 --
-
-
-
- /* ºá»¿ß∞ µóÑΓá */
- t=*(ptr+index) & bit_mask.c[0];
- t>>=2*(3-bit_position);
- return t;
- }
-
- /* «Γ«íαáªÑ¡¿Ñ «íΩѬΓá ¡á φ¬αá¡Ñ */
-
- void display_object(ob, sides,cc)
- double ob[][4];
- int sides,cc;
- {
- register int i;
-
- for(i=0; i<sides; i++)
- line((int)ob[i][0], (int)ob[i][1],
- (int)ob[i][2], (int)ob[i][3], cc|128);
- }
-
- /* æ¼ÑΘÑ¡¿Ñ (»áαώѽ∞¡δ⌐ »ÑαÑ¡«ß) «íΩѬΓá ó ¡á»αáó½Ñ¡¿¿,
- «»αÑñѽѡ¡«¼ x ¿ y
- */
- void update_object(ob, x, y, sides)
- int ob[][4]; /* «íΩÑ¬Γ */
- int x, y; /* ¡á»αáó½Ñ¡¿Ñ ß¼ÑΘÑ¡¿∩ */
- register int sides; /* ¬«½¿τÑßΓó« ßΓ«α«¡ «íΩѬΓá */
- {
- sides--;
- for(; sides>=0; sides--)
- {
- ob[sides][0] += x;
- ob[sides][1] += y;
- ob[sides][2] += x;
- ob[sides][3] += y;
- }
- }
-
- /* Ä»αÑñѽѡ¿Ñ ñ«»πßΓ¿¼«ßΓ¿ »ÑαѼÑΘÑ¡¿∩ «íΩѬΓá.
- 髺óαáΘáÑΓ 1, Ñß½¿ »ÑαѼÑΘÑ¡¿Ñ ñ«»πßΓ¿¼«, 0- ó
- »α«Γ¿ó¡«¼ ß½πτáÑ
- */
- void is_legal(ob, x, y, sides)
- int ob[][4]; /* «íΩÑ¬Γ */
- int x, y; /* Φáú »ÑαѼÑΘÑ¡¿∩ */
- int sides; /* τ¿ß½« ßΓ«α«¡ «íΩѬΓá */
- {
- if(x==0 && y==0)
- return 1; /* »πßΓ«Ñ »ÑαѼÑΘÑ¡¿Ñ óßÑúñá ñ«»πßΓ¿¼«*/
- sides--;
- for(; sides>=0; sides--)
- {
- /* ¬«¡Γα«½∞ óδσ«ñá ºá ñ«»πßΓ¿¼πε «í½áßΓ∞ */
- if(ob[sides][0]+x>199 || ob[sides][1]+y>319)
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 10 --
-
-
- return 0;
- if(ob[sides][2]+x<0 || ob[sides][3]+y<0)
- return 0;
- }
- return 1;
- }
-
- Éáßß¼«Γα¿¼ ¬αáΓ¬«, ¬á¬ αáí«ΓáÑΓ φΓá »α«úαá¼¼á. è½áó¿Φ¿
- π»αáó½Ñ¡¿∩ ¬παß«α«¼ (¬½áó¿Φ¿ ß« ßΓαѽ¬á¼¿ ¿ ¬½áó¿Φ¿ <HOME>,
- <PGUP>, <END> ¿ <PGDN>) «»αÑñѽ∩εΓ »«½«ªÑ¡¿Ñ ß»αá⌐Γá. Åα¿ ¡áªáΓ¿¿
- ¬½áó¿Φ¿ ß»αá⌐Γ ß¼ÑΘáÑΓß∩ ¡á «ñ¡π Γ«τ¬π αáßΓαá ó π¬áºá¡¡«¼
- ¡á»αáó½Ñ¡¿¿. è½áó¿Φ¿-ßΓαѽ¬¿ π»αáó½∩εΓ ú«αº«¡Γá½∞¡δ¼¿ ¿
- óÑαΓ¿¬á½∞¡δ¼¿ »ÑαѼÑΘÑ¡¿∩¼¿, «ßΓá½∞¡δÑ - ñ¿áú«¡á½∞¡δ¼¿. öπ¡¬µ¿∩
- is_legal() «»αÑñѽ∩ÑΓ ó«º¼«ª¡«ßΓ∞ ñá½∞¡Ñ⌐ΦÑú« »ÑαѼÑΘÑ¡¿∩ ß»αá⌐Γá
- ó óδíαá¡¡«¼ ¡á»αáó½Ñ¡¿¿. àß½¿ 󫺼«ªÑ¡ óδσ«ñ ß»αá⌐Γá ºá »αÑñѽδ
- úαá¡¿µ φ¬αá¡á, Γ« Γá¬«Ñ »ÑαѼÑΘÑ¡¿Ñ ºá»αÑΘáÑΓß∩. éßÑ «ßΓá½∞¡δÑ
- Σπ¡¬µ¿¿ φΓ«⌐ »α«úαá¼¼δ αáí«ΓáεΓ, ¬á¬ «»¿ßá¡« ó ú½áóÑ 4.
-
- Äíδτ¡« ¡Ñ«íσ«ñ¿¼« ß«σαá¡∩Γ∞ αẼÑα «íΩѬΓá, ¬«Γ«αδ⌐ óδ
- "«ª¿ó½∩ÑΓÑ" («ß«íÑ¡¡« ¡Ñí«½∞Φ«ú«) ñ½∩ Γ«ú«, τΓ«íδ Ñú« ¼«ª¡« í佫
- »ÑαÑα¿ß«óδóáΓ∞ ß óδß«¬«⌐ ߬«α«ßΓ∞ε. ¥Γ« «íÑß»Ñτ¿óáÑΓ »½áó¡«ßΓ∞
- ñó¿ªÑ¡¿∩ »α¿ ¼π½∞Γ¿»½¿¬áµ¿¿. àß½¿ «íΩÑ¬Γ ñ«ßΓáΓ«τ¡« í«½∞Φ«⌐, Γ«
- Ñú« ñó¿ªÑ¡¿Ñ íπñÑΓ ñ¿ß¬αÑΓ¡«. Åα¿ αáºαáí«Γ¬Ñ ó¿ñÑ«¿úα ¡Ñ«íσ«ñ¿¼«
- Γᬠ»«ñí¿αáΓ∞ αẼÑαδ ß»αá⌐Γá, τΓ«íδ 󫺼«ª¡«ßΓ¿ ¬«¼»∞εΓÑαá ¿
- áñá»ΓÑαá αÑ὿º«óδó὿ß∞ «»Γ¿¼á½∞¡δ¼ «íαẫ¼.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 11 --
-
-
- îôï£ÆêÅïêèÇûêƒ æÅÉÇëÆÇ
- -----------------------------------------------------------------
-
- ÅÑαÑñó¿ªÑ¡¿Ñ ß»αá⌐Γá »« φ¬αá¡π ß«ßΓáó½∩ÑΓ Γ«½∞¬« »«½«ó¿¡π
- 󫺼«ª¡«ßΓÑ⌐ Ñú« "«ª¿ó½Ñ¡¿∩". é «ß¡«ó¡«¼ ß»αá⌐Γ íπñÑΓ
- ¿ß»«½∞º«óáΓ∞ß∩ ¡á φ¬αá¡Ñ ñ½∩ Γ«ú«, τΓ«íδ ß«ºñáóáΓ∞ ¿½½εº¿ε
- ñó¿ªÑ¡¿∩. ìá»α¿¼Ñα, ß»αá⌐Γ, ¬«Γ«αδ⌐ óδú½∩ñ¿Γ »«ñ«í¡« τѽ«óѬπ,
- ¼«ªÑΓ »ÑαÑñó¿úáΓ∞ ¡«úἿ, ¬á¬ íπñΓ« «¡ ¿ñÑΓ. ¥Γ«Γ Γ¿»
- "«ª¿ó½Ñ¡¿∩" ∩ó½∩ÑΓß∩ ¡á¿í«½ÑÑ ó»ÑτáΓ½∩εΘ¿¼ (¿ ¡á¿í«½ÑÑ ½Ñú¬¿¼).
- ä½∩ «íÑß»ÑτÑ¡¿∩ Γᬫ⌐ 󫺼«ª¡«ßΓ¿ αáºαáíáΓδóáεΓß∩ ñóá ¿½¿ í«½ÑÑ
- óáα¿á¡Γ«ó ß»αá⌐Γá, «Γ½¿τ¿Ñ ¼Ñªñ𠬫ëα묨 ºá¬½ετáÑΓß∩ ó Γ«¼, τΓ«
- ¡Ñ¬«Γ«αδÑ ¿º τáßΓÑ⌐ ß»αá⌐Γá «Γ½¿τáεΓß∩ «Γ »Ñαó«¡áτá½∞¡«ú« Ñú«
- óáα¿á¡Γá. Åα«úαá¼¼á »«ß½Ññ«óáΓѽ∞¡« ¼Ñ¡∩ÑΓ óáα¿á¡Γδ ß»αá⌐Γá ó
- »α«µÑßßÑ Ñú« ñó¿ªÑ¡¿∩ »« φ¬αá¡π.
-
- é ¬áτÑßΓóÑ »α¿¼Ñαá ¿º¼Ñ¡¿¼ »α«úαá¼¼π main(), ¬á¬ φΓ«
- »«¬áºá¡« ¡¿ªÑ, ¿ ñ«íáó¿¼ ó ¡ÑÑ óΓ«α«⌐ ß»αá⌐Γ. éΓ«α«⌐ ß»αá⌐Γ
- «Γ«íαáªáÑΓ ¬αÑßΓ¿¬ ("+"), »«óÑα¡πΓδ⌐ »«ñ πú½«¼ ó 45 úαáñπß«ó.
- àß½¿ óδ ºá»πßΓ¿ΓÑ »α«úαá¼¼π, Γ« íπñÑΓ ß«ºñáóáΓ∞ß∩ ó»ÑτáΓ½Ñ¡¿Ñ,
- τΓ« ¬αÑßΓ¿¬ óαáΘáÑΓß∩ ó »α«µÑßßÑ »ÑαÑñó¿ªÑ¡¿∩ »« φ¬αá¡π.
- ÅÑαѼѡ¡á∩ swap ¿ß»«½∞ºπÑΓß∩ ñ½∩ óδí«αá Γ¿»á ΓѬπΘÑú« ß»αá⌐Γá.
-
-
- int sprite2[2][4] = {
- 0,0,5,5,
- 0,5,5,0
- };
-
- main()
- {
- union k {
- char c[2];
- int i;
- } key;
-
- int deltax=0,deltay=0; /* ¡á»αáó½Ñ¡¿Ñ ñó¿ªÑ¡¿∩ */
- int swap=0; /* Γ¿» ß»αá⌐Γá */
-
- mode(4); /* πßΓá¡«ó¬á 4 αѪ¿¼á úαáΣ¿¬¿ CGA/EGA */
- palette(0); /* »á½¿Γαá 0 */
-
- display_object(sprite,2,1);
- do {
- key.i = bioskey(0);
- deltax=0;deltay=0;
- if(!key.c[0]) switch(key.c[1]) {
- case 75: /* ó½Ñó« */
- deltay= -1;
- break;
- case 77: /* ó»αáó« */
- deltay= 1;
- break;
- case 72: /* óóÑασ */
- deltax= -1;
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 12 --
-
-
- break;
- case 80: /* 󡿺 */
- deltax= 1;
- break;
- case 71: /* óóÑασ ¿ ó½Ñó« */
- deltay= -1;
- deltax= -1;
- break;
- case 73: /* óóÑασ ¿ ó»αáó« */
- deltay= 1;
- deltax= -1;
- break;
- case 79: /* 󡿺 ¿ ó½Ñó« */
- deltay= -1;
- deltax= 1;
- break;
- case 81: /* 󡿺 ¿ ó»αáó« */
- deltay= 1;
- deltax= 1;
- break;
- }
- /* ßΓ¿αá¡¿Ñ ΓѬπΘÑ⌐ »«º¿µ¿¿ ß»αá⌐Γá */
- if(!swap) displey_object(sprite,2,1);
- else displey_object(sprite2,2,1);
-
- if (is_legal(sprite,deltax,deltay,2)) {
- update_object(sprite,deltax,deltay,2);
- update_object(sprite2,deltax,deltay,2);
- }
- swap= !swap; /* ߼ѡá Γ¿»á ß»αá⌐Γá */
- /* »ÑαѺỿß∞ ß»αá⌐Γá ó ¡«óπε »«º¿µ¿ε */
- if (!swap) displey_object(sprite,2,1);
- else displey_object(sprite2,2,1);
- } while (key.c[0]!='q');
- getchar();
- mode(2);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 13 --
-
-
- ÄÉâÇìêçÇûêƒ äÇìì¢ò é éêäàÄêâÉÇò
- -----------------------------------------------------------------
-
- Å«ñ«í¡« «ßΓá½∞¡δ¼ »α«úαá¼¼á¼, »α«úαá¼¼δ ó¿ñÑ«¿úα ó¬½ετáεΓ
- ¬á¬ «»ÑαáΓ«αδ, Γᬠ¿ ñá¡¡δÑ. èα«¼Ñ ßτÑΓá ¿úαδ ¿ ßΓáΓπßá
- αẽ¿τ¡δσ, αáßσ«ñπѼδσ ó »α«µÑßßÑ ¿úαδ αÑßπαß«ó (¡á»α¿¼Ñα,
- ¬«½¿τÑßΓó« ºá»πΘÑ¡¡δσ Σ«Γ«¡¡δσ Γ«α»Ññ), í«½∞Φ¿¡ßΓó« ñá¡¡δσ,
- ¿ß»«½∞ºπѼδσ ó ó¿ñÑ«¿úαáσ, »αÑñßΓáó½∩εΓ ß«í«⌐ »«º¿µ¿¿ φ¬αá¡á ñ½∩
- αẽ¿τ¡δσ «íΩÑ¬Γ«ó. è««αñ¿¡áΓδ »«º¿µ¿⌐ φ¬αá¡á ñ½∩ ñó¿ªπΘ¿σß∩
- «íΩÑ¬Γ«ó ñ«½ª¡δ σαá¡¿Γ∞ß∩ ó πßΓá¡«ó½Ñ¡¡δσ »ÑαѼѡ¡δσ. ê¡Σ«α¼áµ¿ε
- « Σ¿¬ß¿α«óá¡¡δσ «íΩѬΓáσ ¿úα«ó«ú« »«½∩ µÑ½Ñß««íαạ« σαá¡¿Γ∞
- ¡Ñ»«ßαÑñßΓóÑ¡¡« ó ó¿ñÑ«»á¼∩Γ¿ ΓÑନ¡á½á. àß½¿ ó »α«µÑßßÑ ¿úαδ
- »«ΓαÑíπÑΓß∩ ¿¡Σ«α¼áµ¿∩ ñ½∩ ¿º¼Ñ¡Ñ¡¿∩ ¿úα«ó«ú« »«½∩ (¬á¬ φΓ« τáßΓ«
- íδóáÑΓ), «ßπΘÑßΓó½∩ÑΓß∩ ñ«ßΓπ» ¬ ó¿ñÑ«»á¼∩Γ¿ ¿ «ΓΓπñá ßτ¿ΓδóáεΓß∩
- ¼áßß¿óδ ß ¿¡Σ«α¼áµ¿Ñ⌐ «í ¿º¼Ñ¡Ñ¡¡«¼ «íΩѬΓÑ.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 14 --
-
-
- è«¡Γα««½∞ úαá¡¿µ.
- -----------------
-
- é í«½∞Φ¿¡ßΓóÑ ó¿ñÑ«¿úα ßπΘÑßΓóπεΓ ß»αá⌐Γδ, ¬«Γ«αδÑ ¡áσ«ñ∩Γß∩
- »«ñ π»αáó½Ñ¡¿Ñ¼ »«½∞º«óáΓѽ∩. Äíδτ¡« ¿ú᫬π ¡Ñ αáºαÑΦáÑΓß∩
- »ÑαѼÑΘáΓ∞ ß»αá⌐Γ τÑαѺ ¡Ñ¬«Γ«αδÑ «íΩѬΓδ ¿úα«ó«ú« »«½∩ ¿½¿ τÑαѺ
- ñαπú«⌐ ß»αá⌐Γ. àßΓ∞ ñóá ß»«ß«íá «úαá¡¿τÑ¡¿∩ ¼ÑßΓ«¡áσ«ªñÑ¡¿∩
- ß»αá⌐Γá. é »Ñαó«¼ ß»«ß«íÑ ó πßΓá¡«ó½Ñ¡¡δσ »ÑαѼѡ¡δσ σαá¡∩Γß∩
- úαá¡¿τ¡δÑ Γ«τ¬¿ «í½áßΓ¿, úñÑ αáºαÑΦÑ¡« ñó¿ªÑ¡¿Ñ ß»αá⌐Γá. Åα¿
- »ÑαÑñó¿ªÑ¡¿¿ ß»αá⌐Γá »« φ¬αá¡π «ßπΘÑßΓó½∩ÑΓß∩ ¬«¡Γα«½∞ ¡á óδσ«ñ
- ºá »αÑñѽδ φΓ¿σ ñ«»πßΓ¿¼δσ º¡áτÑ¡¿⌐. Äñ¡á¬« φëà ¼ÑΓ«ñ «í½áñáÑΓ
- ñ«ó«½∞¡« ¼á½«⌐ αÑá¬Γ¿ó¡«ßΓ∞ε ¿ ñ½∩ ¿úα ß í«½∞Φ¿¼ ¬«½¿τÑßΓó«¼
- «íΩÑ¬Γ«ó ¡ÑφΣΣÑ¬Γ¿óÑ¡. ü«½ÑÑ πñ«í¡δ¼ ß»«ß«í«¼ ∩ó½∩ÑΓß∩ »α«ßΓá∩
- »α«óÑα¬á «í½áßΓ¿ φ¬αá¡á ¡á »αÑñ¼ÑΓ ¡áσ«ªñÑ¡¿∩ ó ¡Ñ⌐ ¬á¬«ú«-½¿í«
- «íΩѬΓá »πΓѼ ¬«¡Γα«½∩ ß««ΓóÑΓßΓóπεΘÑ⌐ «í½áßΓ¿ ó¿ñÑ«»á¼∩Γ¿. ¥Γ«
- «íÑß»Ñτ¿óáÑΓß∩ ΓѼ, τΓ« ¿¡Σ«α¼áµ¿∩ «í ¿úα«ó«¼ »«½Ñ πªÑ ¡áσ«ñ¿Γß∩
- ó ó¿ñÑ«»á¼∩Γ¿ ¿ íÑßß¼δ߽ѡ¡« ÑÑ úñÑ-½¿í« ñπí½¿α«óáΓ∞.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 15 --
-
-
- 꺼ѡѡ¿Ñ µóÑΓá.
- ----------------
-
- é »α«µÑßßÑ ¿úαδ πñ«í¡« «»Ñα¿α«óáΓ∞ «íΩѬΓἿ αạ«ú« µóÑΓá.
- ìá»α¿¼Ñα, ¬αáß¡δ⌐ µóÑΓ ¼«ªÑΓ «Γ«íαáªáΓ∞ úαá¡¿µδ ¡Ñ»ÑαÑßѬáѼδσ
- «í½áßΓÑ⌐, ºÑ½Ñ¡δ⌐ µóÑΓ ¿ß»«½∞ºπÑΓß∩ ñ½∩ óáΦÑú« ß»αá⌐Γá, á ªÑ½Γδ⌐
- - ñ½∩ ß»αá⌐Γá »α«Γ¿ó¡¿¬á. ò«Γ∩ φΓ« ¼«ª¡« ßñѽáΓ∞ ß ¿ß»«½∞º«ó᡿Ѽ
- »ÑαѼѡ¡δσ, «»¿ßδóáεΘ¿σ φΓ¿ «íΩѬΓδ, τáßΓ« íδóáÑΓ πñ«í¡ÑÑ ºáαá¡ÑÑ
- «»αÑñѽ∩Γ∞ ñ½∩ «íΩѬΓá Ñú« µóÑΓ. ¥Γ« ¡Ñ Γ«½∞¬« π»α«ßΓ¿Γ »α«µÑßß
- »α«úαá¼¼¿α«óá¡¿∩ ó¿ñÑ«¿úαδ, ¡« ¿ ßñѽáÑΓ ÑÑ í«½ÑÑ
- íδßΓα«ñÑ⌐ßΓóπεΘÑ⌐. ìá»α¿¼Ñα, Ñß½¿ ó »πα»πα¡δ⌐ µóÑΓ «¬αáΦÑ¡á ¼¿¡á,
- Γ« ßτ¿ΓáÑΓß∩, τΓ« óδ ¡á ¡Ñ⌐ »«ñ«αó὿ß∞ ½¿Φ∞ ó Γ«¼ ß½πτáÑ, Ñß½¿
- «ñ¡á ¿º Γ«τѬ óáΦÑú« ß»αá⌐Γá «¬αáΦ¿óáÑΓß∩ ó »πα»πα¡δ⌐ µóÑΓ.
-
- Åα«úαá¼¼¿α«óá¡¿Ñ ó µóÑΓÑ ó¿ñÑ«¿úα ¿¼ÑÑΓ ñ½¿¡¡πε ¿ßΓ«α¿ε.
- ìá»α¿¼Ñα, »Ñαóá∩ ¿úαá "»¿¡ú-»«¡ú" ¿¼Ñ½á Γ«½∞¬« ñóá µóÑΓá: íѽδ⌐ ¿
- τÑα¡δ⌐. é φΓ«⌐ ¿úαÑ íѽδ⌐ µóÑΓ íδ½ ¡Ñß«ó¼ÑßΓ¿¼ ß íÑ½δ¼ («¡¿
- «ΓΓὬ¿ó὿ß∞), ¡« ¼«ª¡« í佫 ñó¿úáΓ∞ß∩ »« τÑα¡«¼π ¿úα«ó«¼π »«½ε.
- Æá¬¿¼ «íαẫ¼, íѽδ⌐ Φáਪ ¼«ú »ÑαѼÑΘáΓ∞ß∩ »« τÑα¡«¼π »«½ε, Ñß½¿
- πñáα∩½ß∩ íѽ«⌐ αá¬ÑΓ¬«⌐ ¿½¿ «Γαáªá½ß∩ «Γ íѽ«⌐ ßΓÑ¡δ (½¿¡¿¿)
- »«ºáñ¿ αá¬ÑΓ¬¿. ¥Γ¿ «ß¡«ó¡δÑ »α¿¡µ¿»δ ¿ß»«½∞º«ó὿ß∞ ¿ Γ«úñá,
- ¬«úñá ó ¿úαÑ ßΓ὿ »«∩ó½∩Γ∞ß∩ ¿ ñαπú¿Ñ µóÑΓá. Å«ß½Ñ Γ«ú«, ¬á¬
- «íΩѬΓδ ó¿ñÑ«¿úα ßΓ὿ »α«úαá¼¼¿α«óáΓ∞ß∩ ó µóÑΓÑ, αáºαáí«Γ¬á
- »α«úαá¼¼ «íαáí«Γ¬¿ ¿úα«óδσ ß¿Γπᵿ⌐ º¡áτ¿Γѽ∞¡« π»α«ßΓ¿½áß∞ ¿
- πóѽ¿τ¿½áß∞ ߬«α«ßΓ∞ ¿σ αáí«Γδ.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 16 --
-
-
- ÆÇüïÄ æùàÆÇ ÇèÆêéìÄâÄ ÅÉÄÆêéìêèÇ
- -----------------------------------------------------------------
-
- É«½∞ ¬«¼»∞εΓÑαá ó ¿úαÑ ó« ¼¡«ú«¼ ºáó¿ß¿Γ «Γ Γ«ú«, ∩ó½∩ÑΓß∩
- ½¿ φΓá ¿úαá ñ½∩ «ñ¡«ú« τѽ«óÑ¬á ¿½¿ ñ½∩ ñó«¿σ. àß½¿ ó ¿úαÑ
- πτáßΓóπεΓ ñóá τѽ«óѬá, ¬«¼»∞εΓÑαπ «Γó«ñ¿Γß∩ α«½∞ áαí¿Γαá ¿
- Σπ¡¬µ¿¿ Γáí½« ñ½∩ «Γ«íαáªÑ¡¿∩ ßτÑΓá. Äñ¡á¬«, ó ¿úαÑ, úñÑ
- πτáßΓóπÑΓ «ñ¿¡ ¿ú᫬, ¬«¼»∞εΓÑα ßΓá¡«ó¿Γß∩ á¬Γ¿ó¡δ¼ »α«Γ¿ó¡¿¬«¼.
- æ Γ«τ¬¿ ºαÑ¡¿∩ »α«úαá¼¼¿α«óá¡¿∩ αáºαáí«Γ¬á ¿úα, úñÑ ¬«¼»∞εΓÑα
- óδßΓπ»áÑΓ ó α«½¿ »α«Γ¿ó¡¿¬á, º¡áτ¿Γѽ∞¡« ¿¡ΓÑαÑß¡Ñ⌐.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 17 --
-
-
- ÉÇçÉÇüÄÆèÇ éêäàÄêâÉ¢
- -----------------------------------------------------------------
-
- é φΓ«¼ »áαáúαáΣÑ ¼δ «»¿ΦѼ αáºαáí«Γ¬π ó¿ñÑ«¿úαδ, ¬«Γ«αá∩
- ¿½½εßΓα¿απÑΓ ¼¡«ú¿Ñ »α¿¡µ¿»δ, «»¿ßá¡¡δÑ ó ñá¡¡«⌐ ú½áóÑ.
-
-
- Ä»¿ßá¡¿Ñ ¿úαδ
- -------------
-
- ÅÑαóδ¼ Φáú«¼ ó »α«µÑßßÑ ß«ºñá¡¿∩ ó¿ñÑ«¿úαδ ∩ó½∩ÑΓß∩
- «»αÑñѽѡ¿Ñ ÑÑ »α¿α«ñδ ¿ »αáó¿½, »« ¬«Γ«αδ¼ «¡á óÑñÑΓß∩.
- Åα«úαá¼¼á, «»¿ßá¡¡á∩ ºñÑß∞, »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¬«¼»∞εΓÑਧ«óá¡¡πε
- óÑαß¿ε Γαáñ¿µ¿«¡¡«⌐ ñÑΓ߬«⌐ ¿úαδ "ßὫτ¬¿". êú᫬ ¿ ¬«¼»∞εΓÑα
- π»αáó½∩εΓ ¬áªñδ⌐ ßó«¿¼ "τѽ«óѬ«¼". Äñ¿¡ ¿º ¡¿σ ñ«ú«¡∩ÑΓ ñαπú«ú«,
- ¿, Ñß½¿ π ¡¿σ »α«¿º«Φѽ ¬«¡Γá¬Γ, »α«¿ßσ«ñ¿Γ ߼ѡá á¼»½πá.
- Å«íÑñ¿ΓѽѼ ó ¿úαÑ ßΓá¡«ó¿Γß∩ Γ«Γ, ¬Γ« í«½∞Φ¿⌐ »α«¼ÑªπΓ«¬ óαѼѡ¿
- íδ½ ó »«½«ªÑ¡¿¿ ñ«ú«¡∩Ѽ«ú«.
-
- CτÑΓ «»αÑñѽ∩ÑΓß∩ »πΓѼ Σ¿¬ßᵿ¿ ¿úα«ó«ú« óαѼѡ¿: »«ß½Ñ
- ¬áªñ«⌐ »α«ΦÑñΦÑ⌐ ßѬπ¡ñδ ñ«íáó½∩ÑΓß∩ «ñ¡« «τ¬« Γ«¼π, ¬Γ«
- ¡áσ«ñ¿Γß∩ ó α«½¿ ñ«ú«¡∩Ѽ«ú«. æτÑΓ ¡Ñ»αÑαδó¡« «Γ«íαáªáÑΓß∩ ó πú½π
- φ¬αá¡á. êúαá ºá¬á¡τ¿óáÑΓß∩, ¬«úñá «ñ¿¡ ¿º ¿ú᫬«ó ¡áí¿αáÑΓ 999
- «τ¬«ó. ä½∩ πñ«íßΓóá ¿úαá ¼«ªÑΓ íδΓ∞ ºá¬«¡τÑ¡á »πΓѼ ¡áªáΓ¿∩
- ¬½áó¿Φ¿ <Q>.
-
- êú᫬ π»αáó½∩ÑΓ ñó¿ªÑ¡¿Ñ¼ ß»αá⌐Γá »«ßαÑñßΓó«¼ ¬½áó¿Φ
- π»αáó½Ñ¡¿∩ ¬παß«α«¼. êúα«ó«Ñ »«½Ñ ó ñá¡¡«¼ ß½πτáÑ ¡Ñ ß«ºñáÑΓß∩
- ßἫ⌐ »α«úαá¼¼«⌐ ¿úαδ. ä½∩ φΓ¿σ µÑ½Ñ⌐ ¿ß»«½∞ºπεΓß∩ »α«úαá¼¼δ
- α¿ß«óá¡¿∩ ("»α«úαá¼¼δ-σπñ«ª¡¿¬¿"), «»¿ßá¡¡δÑ ó ú½áóÑ 4. Å«φΓ«¼π,
- óδ ¼«ªÑΓÑ ßἫßΓ«∩Γѽ∞¡« ß«ºñáóáΓ∞ αẽ¿τ¡πε ßαÑñπ ¿úαδ.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 18 --
-
-
- êß»«½∞º«óá¡¿Ñ µóÑΓá ¿ úαá¡¿τ¡δÑ πß½«ó¿∩.
- ---------------------------------------
-
- êúαá "ßὫτ¬¿" ¿ß»«½∞ºπÑΓ »α«úαá¼¼¿α«óá¡¿Ñ ó µóÑΓÑ ñ½∩
- ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ αẽ¿τ¡δσ «íΩÑ¬Γ«ó. ìá»α¿¼Ñα, óδ ¼«ªÑΓÑ ßñѽáΓ∞
- ß»αá⌐Γ ¿úα«¬á ºÑ½Ñ¡δ¼, ß»αá⌐Γ ¬«¼»∞εΓÑαá - ªÑ½Γδ¼, á úαá¡¿µδ »«½∩
- ¿úαδ - ¬αáß¡δ¼¿. é ß««ΓóÑΓßΓó¿¿ ß φΓ¿¼ »«ñσ«ñ«¼, ¡ÑΓ
- ¡Ñ«íσ«ñ¿¼«ßΓ¿ σαá¡¿Γ∞ «Γñѽ∞¡δÑ ¼áßß¿óδ ñá¡¡δσ ó αáºñѽ∩Ѽ«⌐
- «í½áßΓ¿ »α«úαá¼¼δ, Γ.¬. »«ñ»α«úαá¼¼δ ¼«úπΓ »α«ßΓ« ¬«¡Γα«½¿α«óáΓ∞
- ß«ñÑন¼«Ñ ó¿ñÑ«»á¼∩Γ¿. é ñá¡¡«¼ ß½πτáÑ, ΓᬠªÑ, º¡áτ¿Γѽ∞¡«
- π»α«ΘáÑΓß∩ »α«µÑßß «úαá¡¿τÑ¡¿∩ «í½áßΓ¿ ñó¿ªÑ¡¿∩ ß»αá⌐Γ«ó ¬αáß¡«⌐
- ½¿¡¿Ñ⌐. ä½∩ φΓ«⌐ µÑ½¿ ¡Ñ«íσ«ñ¿¼« ¡Ñ¼¡«ú« ¿º¼Ñ¡¿Γ∞ Σπ¡¬µ¿ε
- is_legal(), «»¿ßá¡¡πε αá¡ÑÑ, ¬á¬ φΓ« »«¬áºá¡« ¡¿ªÑ.
-
- /* Ä»αÑñѽѡ¿Ñ ñ«»πßΓ¿¼«ßΓ¿ »ÑαѼÑΘÑ¡¿∩ «íΩѬΓá.
- 髺óαáΘáÑΓ 1, Ñß½¿ »ÑαѼÑΘÑ¡¿Ñ ñ«»πßΓ¿¼«, 0 - ó
- »α«Γ¿ó¡«¼ ß½πτáÑ
- */
- void is_legal(ob, x, y, sides)
- int ob[][4]; /* «íΩÑ¬Γ */
- int x, y; /* Φáú »ÑαѼÑΘÑ¡¿∩ */
- int sides; /* τ¿ß½« ßΓ«α«¡ «íΩѬΓá */
- {
- if(x==0 && y==0)
- return 1; /* »πßΓ«Ñ »ÑαѼÑΘÑ¡¿Ñ óßÑúñá ñ«»πßΓ¿¼«*/
- sides--;
- for(; sides>=0; sides--)
- {
- /* ¬«¡Γα«½∞ óδσ«ñá ºá ñ«»πßΓ¿¼πε «í½áßΓ∞ */
- if(ob[sides][0]+x>199 || ob[sides][1]+y>319)
- return 0;
- if(ob[sides][2]+x<0 || ob[sides][3]+y<0)
- return 0;
- /* ¬«¡Γα«½∞ »αÑ»∩ΓßΓó¿⌐ */
- if(read_point(ob[sides][0]+x, ob[sides][1]+y)==2)
- return 0;
- if(read_point(ob[sides][2]+x, ob[sides][3]+y)==2)
- return 0;
- }
- return 1;
- }
-
- ìừ¼¡¿¼ ¬«ñδ αẽ¿τ¡δσ µóÑΓ«ó: ªÑ½Γδ⌐ - 1, ¬αáß¡δ⌐ - 2,
- ºÑ½Ñ¡δ⌐ - 3, τÑα¡δ⌐ (Σ«¡) - 0.
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 19 --
-
-
- Ä»¿ßá¡¿Ñ ß»αá⌐Γá.
- -----------------
-
- æ»αá⌐Γ, ¿ß»«½∞ºπѼδ⌐ ó ñá¡¡«⌐ ¿úαÑ, íπñÑΓ »«σ«ª ¡á íÑúπΘÑú«
- τѽ«óѬá.
-
- _________________________________________________________________
-
- é¿ñ ß»αá⌐Γá ¡á ßΓα. 187 ¡Ñ ¼«ªÑΓ íδΓ∞ ó«ß»α«¿ºóÑñÑ¡ ¿¼ÑεΘ¿¼¿ß∩
- ßαÑñßΓóἿ. (ÉÑñ. »Ñα. ê.üδτ¬«ó߬¿⌐.)
- _________________________________________________________________
-
- é »α«úαá¼¼Ñ ßπΘÑßΓóπÑΓ ñóá Γ¿»á ß»αá⌐Γá. é« óΓ«α«¼ ß»αá⌐ΓÑ
- ¡«ú¿ "τѽ«óѬá" ߪáΓδ ó¼ÑßΓÑ. üδßΓαá∩ ß¼Ñ¡á ¼Ñªñπ ¿º«íαáªÑ¡¿∩¼¿
- ñóπσ Γ¿»«ó ß»αá⌐Γá ß«ºñáÑΓ ¿½½εº¿ε íÑúπΘÑú« τѽ«óѬá.
-
- æ»αá⌐Γ »«½∞º«óáΓѽ∩ ¡áτ¿¡áÑΓ ¿úαπ ó óÑασ¡Ñ¼ ½Ñó«¼ πú½π
- φ¬αá¡á, á ß»αá⌐Γ ¬«¼»∞εΓÑαá - ó ¡¿ª¡Ñ¼ »αáó«¼. Ä»¿ßá¡¿Ñ ß»αá⌐Γ«ó
- »α¿óÑñÑ¡« ¡¿ªÑ.
-
- int human[4][4] = /* φΓ« óáΦ ß»αá⌐Γ */
- {
- 1, 6, 6, 6,
- 4, 2, 3, 9,
- 9, 1, 6, 6,
- 9, 11, 6, 6
- };
-
- int human2[4][4] =
- {
- 1, 6, 6, 6,
- 4, 2, 3, 9,
- 9, 3, 6, 6,
- 9, 9, 6, 6
- };
-
- int computer[4][4] = /* φΓ« ß»αá⌐Γ ¬«¼»∞εΓÑαá */
- {
- 180, 6, 185, 6,
- 183, 2, 182, 9,
- 188, 1, 185, 6,
- 188, 11, 185, 6
- };
- int computer2[4][4] =
- {
- 180, 6, 185, 6,
- 183, 2, 182, 9,
- 188, 3, 185, 6,
- 188, 9, 185, 6
- };
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 20 --
-
-
- ÆàïÄ âïÇéìÄë ÅÉÄâÉÇîî¢
- -----------------------------------------------------------------
-
- Å«ß½Ñ Γ«ú« ¬á¬ óδ ¡áπτ¿ΓÑß∞ αáºαáíáΓδóáΓ∞ ß«íßΓóÑ¡¡δÑ
- ó¿ñÑ«¿úαδ, óδ »«⌐¼ÑΓÑ, τΓ« óßÑ «¡¿ ¿¼ÑεΓ «ñ¡π ú½áó¡πε «íΘπε
- ñÑΓá½∞ - »α«úαá¼¼π, π»αáó½∩εΘπε ¿úα«⌐. ǽú«α¿Γ¼ Γᬿσ »α«úαá¼¼
- ñ«ó«½∞¡«-Γᬿ ßσ«ñÑ¡ ñ½∩ αẽ¿τ¡δσ ó¿ñÑ«¿úα. â½áó¡á∩ »α«úαá¼¼á
- úÑ¡Ñα¿απÑΓ ñó¿ªÑ¡¿Ñ «íΩÑ¬Γ«ó »« φ¬αá¡π, ¬«¡Γα«½¿απÑΓ ¡áªáΓ¿Ñ
- ¬½áó¿Φ »«½∞º«óáΓѽѼ ¿ αÑáú¿απÑΓ ¡á ¡¿σ, »α«óÑα∩ÑΓ ñ«»πßΓ¿¼«ßΓ∞
- ºáñá¡¡δσ »ÑαѼÑΘÑ¡¿⌐, »«ñßτ¿ΓδóáÑΓ ¡áíαá¡¡δÑ «τ¬¿ ¿ «Γ«íαáªáÑΓ
- ßτÑΓ, »«ß½Ññ«óáΓѽ∞¡« óδºδóáÑΓ Σπ¡¬µ¿¿ «Γ«íαáªÑ¡¿∩ «íΩÑ¬Γ«ó ¡á
- φ¬αá¡Ñ.
-
-
- int directx,directy; /* ¡á»αáó½Ñ¡¿Ñ */
-
- main()
- {
- union k {
- char c[2];
- int i;
- } key;
-
- int deltax=0,deltay=0;
- int swaph=0,swapc=0;
- int it=COMPUTER;
- long htime,ctime,starttime,curtime; /* Γá⌐¼Ñα ßτÑΓá */
- int count;
- mode(4); /* πßΓá¡«ó¬á 4 αѪ¿¼á úαáΣ¿¬¿ CGA/EGA */
- palette(0); /* »á½¿Γαá 0 */
-
- load_pic(); /* óó«ñ ¿úα«ó«ú« »«½∩ */
-
- time(&starttime); /* πßΓá¡«ó¬á óαѼѡ¿ */
- htime=ctime=0;
-
- display_object(human,4,1);
- display_object(computer,4,3);
- count=0;
-
- /* ú½áó¡δ⌐ µ¿¬½ ¿úαδ */
- do {
- /* óδτ¿ß½Ñ¡¿Ñ ΓѬπΘÑú« ßτÑΓá */
- time(&curtime);
- if (it==COMPUTER) htime+=curtime-starttime;
- else ctime+=curtime-starttime;
- time(&starttime);
- show_score(it,htime,ctime);
-
- if (bioskey(1)) { /* Ñß½¿ ¡áªáΓá ¬½áó¿Φá */
- directx=directy=IDLE; /* πßΓá¡áó½¿óáÑΓ
- ¡á»αáó½Ñ¡¿Ñ »ÑαѼÑΘÑ¡¿∩ */
- key.i = bioskey(0);
- deltax=0;deltay=0;
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 21 --
-
-
- if(!key.c[0]) switch(key.c[1]) {
- case 75: /* ó½Ñó« */
- deltay= -1;
- directy=LEFT;
- break;
- case 77: /* ó»αáó« */
- deltay=1;
- directy=RIGHT;
- break;
- case 72: /* óóÑασ */
- deltax= -1;
- directx=UP;
- deltax= -1;
- directx=UP;
- break;
- case 80: /* 󡿺 */
- deltax=1;
- directx=DOWN;
- break;
- case 71: /* óóÑασ ¿ ó½Ñó« */
- deltay= -1;
- directy=LEFT;
- deltax= -1;
- directx=UP;
- break;
- case 73: /* óóÑασ ¿ ó»αáó« */
- deltay=1;
- directy=RIGHT;
- deltax= -1;
- directx=UP;
- break;
- case 79: /* 󡿺 ¿ ó½Ñó« */
- deltay= -1;
- directy=LEFT;
- deltax=1;
- directx=DOWN;
- break;
- case 81: /* 󡿺 ¿ ó»αáó« */
- deltay=1;
- directy=RIGHT;
- deltax=1;
- directx=DOWN;
- break;
- }
- }
- /* ߼ѡá Γ¿»á ß»αá⌐Γá ¿ú᫬á */
- if (!swaph) display_object(human,4,1);
- else display_object(human2,4,1);
- if (is_legal(human,deltax,deltay,4)) {
- update_object(human,deltax,deltay,4);
- update_object(human2,deltax,deltay,4);
- }
- /* »α«óÑα∩ÑΓ: »«»á½ß∩ ½¿ πíÑúáεΘ¿⌐ */
- if (!count && tag(human,computer)) {
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 22 --
-
-
- it= !it; /* ߼ѡá á¼»½πá */
- count=6;
- }
- swaph= !swaph; /* ߼ѡá Σ¿úπαδ ¿¼¿Γ¿απεΘÑ⌐ íÑú */
-
- /* ¿º«íαáªÑ¡¿Ñ "τѽ«óѬá" ó ¡«ó«⌐ »«º¿µ¿¿ */
- if (!swaph) displey_object(human,4,1);
- else displey_object(human2,4,1);
-
- if (!swapc) display_object(computer,4,3);
- else display_object(computer2,4,3);
-
- /* úÑ¡Ñαᵿ∩ ñó¿ªÑ¡¿∩ ß»αá⌐Γá ¬«¼»∞εΓÑαá */
- if (it==COMPUTER)
- it_comp_move(computer,computer2,human,4);
- else
- not_it_comp_move(computer,computer2,directx,directy,4);
- if (!count && tag(human,computer)) {
- it= !it;
- count=6;
- /* ¬«¼»∞εΓÑα ñ«ú«¡∩ÑΓ; ¿º¼Ñ¡Ñ¡¿Ñ ¬««αñ¿¡áΓδ ò ¡á 2
- Γá¬, τΓ«íδ íδßΓαÑ⌐ ßΓáΓ∞ ñ«ú«¡∩Ѽδ¼
- */
- if (is_legal(computer, 2, 0, 4))
- {
- update_object(computer, 2, 0, 4);
- update_object(computer2, 2, 0, 4);
- }
- else
- {
- update_object(computer, -2, 0, 4);
- update_object(computer2, -2, 0, 4);
- }
- }
- swapc = !swapc; /* ºá¼Ñ¡¿Γ∞ Γ¿» ß»αá⌐Γá */
- /* óδó«ñ ¡á φ¬αá¡ ß»αá⌐Γá ¬«¼»∞εΓÑαá */
- if(!swapc) display_object(computer, 4, 3);
- else display_object(computer2, 4, 3);
- if(count) count--;
- }
- while (key.c[0] !='q' && htime<999 && ctime<999);
- mode(2);
- if(ctime>htime)
- printf("諼»∞εΓÑα óδ¿úαá½!");
- else
- printf("éδ »«íÑñ¿½¿!");
- }
-
-
- é ΓÑ½Ñ ú½áó¡«⌐ »α«úαá¼¼δ φ¬αá¡ ΓÑନ¡á½á πßΓá¡áó½¿óáÑΓß∩ ó
- 4-⌐ úαáΣ¿τÑ߬¿⌐ αѪ¿¼, óδí¿αáÑΓß∩ »á½¿Γαá 0 ¿ ¿¡¿µ¿á½¿º¿απεΓß∩
- »ÑαѼѡ¡δÑ ßτÑΓá ¿úαδ. Å«ß½Ñ φΓ«ú« «íá ß»αá⌐Γá «Γ«íαáªáεΓß∩ ó
- ßó«¿σ ¿ßσ«ñ¡δσ »«º¿µ¿∩σ.
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 23 --
-
-
- ÅÑαѼѡ¡á∩ htime ß«ñÑαª¿Γ º¡áτÑ¡¿Ñ ßτÑΓá ¿ú᫬á, á ctime -
- ¬«¼»∞εΓÑαá. ÅÑαѼѡ¡δÑ swapc ¿ swaph »αÑñ¡áº¡áτÑ¡δ ñ½∩ π¬áºá¡¿∩
- Γ¿»á ß»αá⌐Γá. ÅÑαѼѡ¡δÑ deltax ¿ deltay ß«ñÑαªáΓ ¿º¼Ñ¡Ñ¡¿∩
- º¡áτÑ¡¿⌐ ¬««αñ¿¡áΓ »«ß½Ñ «τÑαÑñ¡«ú« ¡áªáΓ¿∩ ¬½áó¿Φ ¿ú᫬«¼.
- ⽫íá½∞¡δÑ »ÑαѼѡ¡δÑ directx ¿ directy ß«ñÑαªáΓ ¬««αñ¿¡áΓδ
- ß»αá⌐Γá, π»αáó½∩Ѽ«ú« ¿ú᫬«¼. ç¡áτÑ¡¿∩ φΓ¿σ óѽ¿τ¿¡ ¿ß»«½∞ºπεΓß∩
- ¬«¼»∞εΓÑα«¼ ñ½∩ úÑ¡Ñαᵿ¿ »ÑαѼÑΘÑ¡¿∩ ßó«Ñú« ß»αá⌐Γá. ÅÑαѼѡ¡á∩-
- »α¿º¡á¬ it ß«ñÑαª¿Γ ¿¡Σ«α¼áµ¿ε « Γ«¼, ¬Γ« ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ
- ¡áσ«ñ¿Γß∩ ó αѪ¿¼Ñ ñ«ú«¡∩εΘÑú«. Ä¡á ¼«ªÑΓ »α¿¡¿¼áΓ∞ «ñ¡« ¿º ñóπσ
- º¡áτÑ¡¿⌐, «»¿ßá¡¡δσ ó ¼á¬α««»αÑñѽѡ¿¿ #define: COMPUTER ¿½¿
- HUMAN.
-
- â½áó¡á∩ »α«úαá¼¼á αáí«ΓáÑΓ µ¿¬½¿τÑ߬¿. ìá φ¬αá¡Ñ
- «Γ«íαáªáÑΓß∩ ΓѬπΘ¿⌐ ßτÑΓ. Å«ß½Ñ φΓ«ú« »α«óÑα∩ÑΓß∩, íδ½á ½¿
- ¡áªáΓá ¬á¬á∩-½¿í« ¬½áó¿Φá. àß½¿ ¬½áó¿Φá íδ½á ¡áªáΓá, Γ«
- «»αÑñѽ∩ÑΓß∩ ÑÑ ¬«ñ ¿ »α«¿ºó«ñ¿Γß∩ ºáñá¡¡«Ñ »ÑαѼÑΘÑ¡¿Ñ ß»αá⌐Γá
- ¿ú᫬á. ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ ¡á Γ«, τΓ« ó ñá¡¡«⌐ »α«úαá¼¼Ñ ¡ÑΓ
- αѪ¿¼á «ª¿ñá¡¿∩ ¡áªáΓ¿∩ ¬½áó¿Φ¿ ¿ú᫬«¼. Å«φΓ«¼π, ¡Ñ ß¼«Γα∩ ¡á
- Γ«, τΓ« ¿ú᫬ ¡Ñ ¡áª¿¼áÑΓ ¬½áó¿Φ, ¬«¼»∞εΓÑα »α«ñ«½ªáÑΓ ßó«ε
- αáí«Γπ, ¿ ß»αá⌐Γ ¿úα«¬á »α«ñ«½ªáÑΓ π¬áºá¡¡«Ñ »ÑαѼÑΘÑ¡¿Ñ ñ« ΓÑσ
- »«α, »«¬á ¡Ñ íπñÑΓ ¡áªáΓá ñαπúá∩ ¬½áó¿Φá. Æá¬«Ñ ñó¿ªÑ¡¿Ñ ß»αá⌐Γá
- «íÑß»Ñτ¿óáÑΓ ñ«ßΓáΓ«τ¡« óδß«¬πε ñ¿¡á¼¿τ¡«ßΓ∞ ¿úαδ.
-
- Å«ß½Ñ «τÑαÑñ¡«ú« »ÑαѼÑΘÑ¡¿∩ ß»αá⌐Γá ¿ú᫬á, ¬«¼»∞εΓÑα
- úÑ¡Ñα¿απÑΓ ñó¿ªÑ¡¿Ñ ß«íßΓóÑ¡¡«ú« ß»αá⌐Γá, Ñß½¿ φΓ« ¡Ñ«íσ«ñ¿¼«.
- ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ ¡á Γ«, τΓ« ñ½∩ úÑ¡Ñαᵿ¿ ñó¿ªÑ¡¿∩ ß»αá⌐Γá
- ¿ß»«½∞ºπεΓß∩ αẽ¿τ¡δÑ Σπ¡¬µ¿¿ ó ºáó¿ß¿¼«ßΓ¿ «Γ Γ«ú« ó αѪ¿¼Ñ
- ñ«ú«¡∩εΘÑú« ¿½¿ ñ«ú«¡∩Ѽ«ú« ¡áσ«ñ¿Γß∩ ß»αá⌐Γ. Åα¿ αÑ὿ºáµ¿¿
- «τÑαÑñ¡«ú« »ÑαѼÑΘÑ¡¿∩ ß«íßΓóÑ¡¡«ú« ß»αá⌐Γá, ¬«¼»∞εΓÑα ΓᬠªÑ
- »α«óÑα∩ÑΓ Ñú« ¬«ααÑ¬Γ¡«ßΓ∞.
-
- Éáßß¼«Γα¿¼ ¡Ñ¬«Γ«αδÑ »α«úαá¼¼δ, ¿ß»«½∞ºπѼδÑ ó φΓ«⌐ ¿úαÑ.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 24 --
-
-
- Åα«úαá¼¼á úÑ¡Ñαᵿ¿ ñó¿ªÑ¡¿∩ ß»αá⌐Γá ¬«¼»∞εΓÑαá.
- ------------------------------------------------
-
- àß½¿ ß»αá⌐Γ ¬«¼»∞εΓÑαá ¡áσ«ñ¿Γß∩ ó αѪ¿¼Ñ ñ«ú«¡∩εΘÑú«, Γ«
- ñ½∩ úÑ¡Ñαᵿ¿ «τÑαÑñ¡«ú« Ñú« ¬óá¡Γá ñó¿ªÑ¡¿∩ ¿ß»«½∞ºπÑΓß∩ Σπ¡¬µ¿∩
- it_comp_move(). é «ß¡«ó¡«¼ ¬«¼»∞εΓÑα »«óΓ«α∩ÑΓ ßΓαáΓÑú¿ε ñó¿ªÑ¡¿∩
- »«½∞º«óáΓѽ∩. äó¿ªÑ¡¿Ñ Ñú« ß»αá⌐Γá «Γ¬½«¡∩ÑΓß∩ ¿º-ºá Γ«ú«, τΓ« «¡
- ñ«½ªÑ¡ «íσ«ñ¿Γ∞ «íΩѬΓδ-»αÑ»∩ΓßΓó¿∩. Äñ¡á¬« ß»αá⌐Γ ¬«¼»∞εΓÑαá
- ¼«ªÑΓ ¿ú¡«α¿α«óáΓ∞ ¡Ñ¬«Γ«αδÑ «íΩѬΓδ, τΓ« »«ºó«½∩ÑΓ óδα«ó¡∩Γ∞
- íá½á¡ß ¿úαδ.
-
- Åα¿óÑñѼ ΓѬßΓ Σπ¡¬µ¿¿ it_comp_move().
-
-
- /* âÑ¡Ñαᵿ∩ ñó¿ªÑ¡¿∩ ß»αá⌐Γá ¬«¼»∞εΓÑαá, ¬«úñá
- «¡ ó α«½¿ ñ«ú«¡∩εΘÑú« */
- void it_comp_move(ob1, ob2, human, sides)
- int ob1[][4], ob2[][4], human[][4], sides;
- {
- register int x, y, d; /* d = direction */
- static skip = 0;
- skip++;
- if(skip==3)
- {
- skip=0;
- return;
- /* π¼Ñ¡∞ΦÑ¡¿Ñ óαѼѡ¿ αÑᬵ¿¿ ¬«¼»∞εΓÑαá */
- }
- x = 0;
- y = 0;
-
- /* ñó¿ªÑ¡¿Ñ ¬ ¿ú᫬π */
- if(human[0][0]<ob1[0][0])
- x = -1;
- else
- if(human[0][0]>ob1[0][0])
- x = 1;
- if(human[0][1]<ob1[0][1])
- y = -1;
- else
- if(human[0][1]>ob1[0][1])
- y = 1;
-
- if(is_legal(ob1, x, y, sides))
- {
- update_object(ob1, x, y, sides);
- update_object(ob2, x, y, sides);
- }
- else
- {
- if(x && is_legal(ob1, x, 0, sides))
- {
- update_object(ob1, x, 0, sides);
- update_object(ob2, x, 0, sides);
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 25 --
-
-
- }
- else
- if(is_legal(ob1, 0, y, sides))
- {
- update_object(ob1, 0, y, sides);
- update_object(ob2, 0, y, sides);
- }
- }
- }
-
- çá¼ÑΓ¿¼, τΓ« φΓá Σπ¡¬µ¿∩ ¼Ñ¡∩ÑΓ »«½«ªÑ¡¿Ñ ß»αá⌐Γá ó 3 αáºá
- ¼Ññ½Ñ¡¡ÑÑ, τѼ φΓ« 󫺼«ª¡«. äѽáÑΓß∩ Γá¬«Ñ ºá¼Ññ½Ñ¡¿Ñ ß µÑ½∞ε
- ß¡¿ªÑ¡¿∩ íδßΓα«ñÑ⌐ßΓó¿∩ ¬«¼»∞εΓÑαá ñ« πα«ó¡∩ τѽ«óѬá.
-
- öπ¡¬µ¿∩, úÑ¡Ñα¿απεΘá∩ ñó¿ªÑ¡¿Ñ ß»αá⌐Γá ó αѪ¿¼Ñ ñ«ú«¡∩Ѽ«ú«,
- «íÑß»Ñτ¿óáÑΓ ñó¿ªÑ¡¿Ñ ó ßΓ«α«¡π, »α«Γ¿ó«»«½«ª¡πε «Γ ß»αá⌐Γá
- ¿ú᫬á. ò«Γ∩ φëà á½ú«α¿Γ¼ ∩ó½∩ÑΓß∩ ¡Ñ«»Γ¿¼á½∞¡δ¼, «¡ ñѽáÑΓ ¿úαπ
- ñ«ßΓáΓ«τ¡« »α¿ó½Ñ¬áΓѽ∞¡«⌐ ¿ ΓαÑíπÑΓ «Γ »«½∞º«óáΓѽ∩ σ«α«ΦÑ⌐
- αÑᬵ¿¿.
-
-
- /* âÑ¡Ñαᵿ∩ ñó¿ªÑ¡¿∩ ß»αá⌐Γá ¬«¼»∞εΓÑαá, ¬«úñá
- «¡ óδßΓπ»áÑΓ ó α«½¿ πíÑúáεΘÑú« */
- void it_comp_move(ob1, ob2, human, sides)
- int ob1[][4], ob2[][4], human[][4], sides;
- {
- register int x, y, d; /* d = direction */
- static skip = 0;
- skip++;
- if(skip==3)
- {
- skip=0;
- return;
- /* π¼Ñ¡∞ΦÑ¡¿Ñ óαѼѡ¿ αÑᬵ¿¿ ¬«¼»∞εΓÑαá */
- }
- x = 0;
- y = 0;
-
- /* ñó¿ªÑ¡¿Ñ ¬ ¿ú᫬π */
- if(human[0][0]<ob1[0][0])
- x = -1;
- else
- if(human[0][0]>ob1[0][0])
- x = 1;
- if(human[0][1]<ob1[0][1])
- y = -1;
- else
- if(human[0][1]>ob1[0][1])
- y = 1;
-
- if(is_legal(ob1, x, y, sides))
- {
- update_object(ob1, x, y, sides);
- update_object(ob2, x, y, sides);
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 26 --
-
-
- }
- else
- {
- if(x && is_legal(ob1, x, 0, sides))
- {
- update_object(ob1, x, 0, sides);
- update_object(ob2, x, 0, sides);
- }
- else
- if(is_legal(ob1, 0, y, sides))
- {
- update_object(ob1, 0, y, sides);
- update_object(ob2, 0, y, sides);
- }
- }
- }
-
- /* úÑ¡Ñαᵿ∩ ñó¿ªÑ¡¿∩ ß»αá⌐Γá ¬«¼»∞εΓÑαá, ¬«úñá
- «¡ πíÑúáÑΓ */
- void not_it_comp_move(ob1, ob2, dx, dy, sides)
- int ob1[][4], ob2[][4];
- int dx, dy; /* ¡á»αáó½Ñ¡¿Ñ »«ß½Ññ¡Ñú« »ÑαѼÑΘÑ¡¿∩
- "τѽ«óѬá" */
- int sides;
- {
- register int x, y, d;
- static skip = 1;
-
- skip++;
- if (skip==3)
- {
- skip = 0;
- return;
- /* π¼Ñ¡∞ΦÑ¡¿Ñ óαѼѡ¿ αÑᬵ¿¿ ¬«¼»∞εΓÑαá ó 3 αáºá */
- }
- x = 0;
- y = 0;
- /* »ÑαѼÑΘÑ¡¿Ñ ó »α«Γ¿ó«»«½«ª¡«¼ ¡á»αáó½Ñ¡¿¿ */
- x = -dx;
- y = -dy;
-
- if (is_legal(ob1, x, y, sides))
- {
- updáte_object(ob1, x, y, sides);
- updáte_object(ob2, x, y, sides);
- }
- else
- {
- if (x && is_legal(ob1, x, 0, sides))
- {
- update_object(ob1, x, 0, sides);
- update_object(ob2, x, 0, sides);
- }
- else if (is_legal(ob1, 0, y, sides)) {
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 27 --
-
-
- update_object(ob1, 0, y, sides);
- update_object(ob2, 0, y, sides);
- }
- }
- }
-
-
- ¥Γá Σπ¡¬µ¿∩ ΓᬠªÑ ¬á¬ ¿ »αÑñδñπΘá∩, αáí«ΓáÑΓ ß 3-¬αáΓ¡δ¼
- ºá¼Ññ½Ñ¡¿Ñ¼.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 28 --
-
-
- Åα«úαá¼¼á ¬«¡Γα«½∩ ¬áßá¡¿∩ ß»αá⌐Γ«ó.
- ------------------------------------
-
- é φΓ«⌐ ¿úαÑ αѪ¿¼δ ß»αá⌐Γ«ó ¿º¼Ñ¡∩εΓß∩ ¡á »α«Γ¿ó«»«½«ª¡δÑ ó
- Γ«¼ ß½πτáÑ, Ñß½¿ ¬««αñ¿¡áΓδ σ«Γ∩ íδ «ñ¡«⌐ Γ«τ¬¿ ñ«ú«¡∩εΘÑú«
- ß»αá⌐Γá ß«ó»áñπΓ ß ¬««αñ¿¡áΓἿ ½εí«⌐ Γ«τ¬«⌐ ñ«ú«¡∩Ѽ«ú«. Åαáó¿½á
- ¿úαδ ¼«úπΓ íδΓ∞ ¿º¼Ñ¡Ñ¡δ Γᬿ¼ «íαẫ¼, τΓ« ¿º¼Ñ¡Ñ¡¿Ñ αѪ¿¼á
- »α«¿º«⌐ñÑΓ ½¿Φ∞ ó ß½πτáÑ »«½¡«ú« ß«ó¼ÑΘÑ¡¿∩ ß»αá⌐Γ«ó. ì« φΓá
- ñ«ó«½∞¡«-Γᬿ ß½«ª¡á∩ ºáñáτá ñ½∩ ¼¡«ú¿σ ¿ú᫬«ó. Åα¿óÑñÑ¡¡á∩ ¡¿ªÑ
- Σπ¡¬µ¿∩ tag() ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 1, Ñß½¿ ß»αá⌐Γδ ßΓ«½¬¡π½¿ß∞, ¿
- 0 - ó »α«Γ¿ó¡«¼ ß½πτáÑ.
-
- /* Åα«óÑα∩ÑΓ ÑßΓ∞ ½¿ ¬«¡Γá¬Γ ¼Ñªñπ ß»αá⌐ΓἿ */
- tag(ob1, ob2)
- int ob1[][4], ob2[][4];
- {
- register int i;
- /* ñ½∩ ߼ѡδ á¼»½πá ¡Ñ«íσ«ñ¿¼«, τΓ«íδ ß»αá⌐Γδ
- ¿¼Ñ½¿ σ«Γ∩ íδ «ñ¡π «íΘπε Γ«τ¬π αáßΓαá */
- for (i= -1; i<2; i++)
- if (ob1[0][0]==ob2[0][0]+i && ob1[0][1]==ob2[0][2]+i)
- return 1;
- return 0;
- }
-
- éδ ¼«ªÑΓÑ ó¡ÑßΓ¿ ¿º¼Ñ¡Ñ¡¿∩ ó Σπ¡¬µ¿ε tag() ¿ πßΓá¡«ó¿Γ∞ ßó«¿
- »αáó¿½á ¬«¡Γα«½∩ αѪ¿¼«ó ß»αá⌐Γ«ó.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 29 --
-
-
- Å«½¡δ⌐ ΓѬßΓ »α«úαá¼¼δ ¿úαδ TAG.
- --------------------------------
-
- é ñá¡¡«¼ αáºñÑ½Ñ »α¿óÑñÑ¡ ΓѬßΓ »α«úαá¼¼δ ¿úαδ TAG, »«σ«ªÑ⌐
- ¡á απß߬¿Ñ "ßὫτ¬¿". éδ ¼«ªÑΓÑ óóÑßΓ¿ ÑÑ ó ßó«⌐ ¬«¼»∞εΓÑα, Ñß½¿
- «¡ ß¡áíªÑ¡ úαáΣ¿τÑ߬¿¼ áñá»ΓÑα«¼.
-
-
- /* Åα¿¼Ñα ¼π½∞Γ¿»½¿¬áµ¿¿ ¿úαδ "ßὫτ¬¿"
-
- ÄíΩÑ¬Γ«¼ ó ¿úαÑ ∩ó½∩ÑΓß∩ "τѽ«óѬ", ¬«Γ«αδ⌐
- ñ«ú«¡∩ÑΓ ñαπú«ú« "τѽ«óѬá".
-
- éáΦ "τѽ«óѬ"- ºÑ½Ñ¡δ⌐,"τѽ«óѬ" ¬«¼»∞εΓÑαá-
- ªÑ½Γδ⌐. éßÑ, τΓ« «¬αáΦÑ¡« ó ¬αáß¡δ⌐ µóÑΓ,
- »ÑαÑßѬáΓ∞ ¡Ñ½∞º∩.
-
- ä½∩ ߼ѡδ α«½Ñ⌐ ñ«ú«¡∩εΘÑú« ¿ ñ«ú«¡∩Ѽ«ú«
- ¡Ñ«íσ«ñ¿¼«, τΓ«íδ "½εñ¿" »ÑαÑßѬ½¿ß∞
- σ«Γ∩ íδ ó «ñ¡«⌐ Γ«τ¬Ñ αáßΓαá */
-
- #define COMPUTER 0
- #define HUMAN 1
-
- #define IDLE 0
- #define DOWN 1
- #define UP -1
- #define LEFT -1
- #define RIGHT 1
-
- #include "dos.h"
- #include "stdio.h"
- #include "math.h"
- #include "time.h"
-
- void mode(), line();
- void mempoint(), palette(), xhairs();
- void goto_xy(),show_score();
- void display_object(),update_object();
- void it_comp_move(),not_it_comp_move();
- void save_pic(), load_pic();
- unsigned char read_point();
-
- int human[4][4] = { /* óáΦ ß»αá⌐Γ */
- 1,6,6,6,
- 4,2,3,9,
- 9,1,6,6,
- 9,11,6,6
- };
-
- int human2[4][4] = {
-
- 1,6,6,6,
- 4,2,3,9,
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 30 --
-
-
- 9,3,6,6,
- 9,9,6,6
- };
-
- int computer[4][4] = { /* ß»αá⌐Γ ¬«¼»∞εΓÑαá */
- 180,6,185,6,
- 183,2,182,9,
- 188,1,185,6,
- 188,11,185,6
- };
-
- int computer2[4][4] = {
- 180,6,185,6,
- 183,2,182,9,
- 188,3,185,6,
- 188,9,185,6
- };
-
- int directx,directy; /* ¡á»αáó½Ñ¡¿Ñ */
-
- main()
- {
- union k {
- char c[2];
- int i;
- } key;
-
- int deltax=0,deltay=0;
- int swaph=0,swapc=0;
- int it=COMPUTER;
- long htime,ctime,starttime,curtime;
- int count;
- mode(4); /* πßΓá¡«ó¬á 4 αѪ¿¼á úαáΣ¿¬¿ CGA/EGA */
- palette(0); /* »á½¿Γαá 0 */
-
- load_pic(); /* óó«ñ ¿úα«ó«ú« »«½∩ */
-
- time(&starttime); /* πßΓá¡«ó¬á óαѼѡ¿ */
- htime=ctime=0;
-
- display_object(human,4,1);
- display_object(computer,4,3);
- count=0;
-
- /* ú½áó¡δ⌐ µ¿¬½ ¿úαδ */
- do {
- /* óδτ¿ß½Ñ¡¿Ñ ΓѬπΘÑú« ßτÑΓá */
- time(&curtime);
- if (it==COMPUTER) htime+=curtime-starttime;
- else ctime+=curtime-starttime;
- time(&starttime);
- show_score(it,htime,ctime);
-
- if (bioskey(1)) { /* Ñß½¿ ¡áªáΓá ¬½áó¿Φá */
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 31 --
-
-
- directx=directy=IDLE; /* πßΓá¡áó½¿óáÑΓ
- ¡á»αáó½Ñ¡¿Ñ »ÑαѼÑΘÑ¡¿∩ */
- key.i = bioskey(0);
- deltax=0;deltay=0;
- if(!key.c[0]) switch(key.c[1]) {
- case 75: /* ó½Ñó« */
- deltay= -1;
- directy=LEFT;
- break;
- case 77: /* ó»αáó« */
- deltay=1;
- directy=RIGHT;
- break;
- case 72: /* óóÑασ */
- deltax= -1;
- directx=UP;
- deltax= -1;
- directx=UP;
- break;
- case 80: /* 󡿺 */
- deltax=1;
- directx=DOWN;
- break;
- case 71: /* óóÑασ ¿ ó½Ñó« */
- deltay= -1;
- directy=LEFT;
- deltax= -1;
- directx=UP;
- break;
- case 73: /* óóÑασ ¿ ó»αáó« */
- deltay=1;
- directy=RIGHT;
- deltax=-1;
- directx=UP;
- break;
- case 79: /* 󡿺 ¿ ó½Ñó« */
- deltay= -1;
- directy=LEFT;
- deltax=1;
- directx=DOWN;
- break;
- case 81: /* 󡿺 ¿ ó»αáó« */
- deltay=1;
- directy=RIGHT;
- deltax=1;
- directx=DOWN;
- break;
- }
- }
- /* ߼ѡá Γ¿»á ß»αá⌐Γá ¿ú᫬á */
- if (!swaph) displáy_object(human,4,1);
- else displey_object(human2,4,1);
- if (is_legal(human,deltax,deltay,4)) {
- update_object(human,deltax,deltay,4);
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 32 --
-
-
- update_object(human2,deltax,deltay,4);
- }
- /* »α«óÑα∩ÑΓ: »«»á½ß∩ ½¿ πíÑúáεΘ¿⌐ */
- if (!count && tag(human,computer)) {
- it=!it; /* ߼ѡá á¼»½πá */
- count=6;
- }
- swaph= !swaph; /* ߼ѡá Σ¿úπα, ¿¼¿Γ¿απεΘ¿σ íÑú */
- /* óδó«ñ "τѽ«óѬá" ó ¡«ó«⌐ »«º¿µ¿¿ */
- if (!swaph) displáy_object(human,4,1);
- else displáy_object(human2,4,1);
-
- if (!swapc) displáy_object(computer,4,3);
- else displáy_object(computer2,4,3);
-
- /* úÑ¡Ñαᵿ∩ ñó¿ªÑ¡¿∩ ß»αá⌐Γá ¬«¼»εΓÑαá */
- if (it==COMPUTER)
- it_comp_move(computer,computer2,human,4);
- else
- not_it_comp_move(computer,computer2,directx,directy,4);
- if (!count && tag(human,computer)) {
- it= !it;
- count=6;
- /* ¬«¼»∞εΓÑα ñ«ú«¡∩ÑΓ; ¿º¼Ñ¡Ñ¡¿Ñ ¬««αñ¿¡áΓδ ò ¡á 2
- Γá¬, τΓ«íδ íδßΓαÑ⌐ ßΓáΓ∞ ñ«ú«¡∩Ñ¼δ¼ */
- if(is_legal(computer, 2, 0, 4))
- {
- update_object(computer, 2, 0, 4);
- update_object(computer2, 2, 0, 4);
- }
- else
- {
- update_object(computer, -2, 0, 4);
- update_object(computer2, -2, 0, 4);
- }
- }
- swapc = !swapc; /* ºá¼Ñ¡¿Γ∞ Γ¿» ß»αá⌐Γá */
- /* óδó«ñ ¡á φ¬αá¡ ß»αá⌐Γá ¬«¼»∞εΓÑαá */
- if(!swapc) display_object(computer, 4, 3);
- else display_object(computer2, 4, 3);
- if(count) count--;
- }
- while (key.c[0] !='q' && htime<999 && ctime<999);
- getchar();
- mode(2);
- if(ctime>htime)
- printf("諼»∞εΓÑα óδ¿úαá½!");
- else
- printf("éδ »«íÑñ¿½¿!");
- }
-
- /* éδó«ñ ¡á φ¬αá¡ ΓÑନ¡á½á ßτÑΓá */
- void shou_score(it, htime, ctime)
- int it;
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 33 --
-
-
- long htime, ctime;
- {
- goto_xy(24, 6);
- if(it==COMPUTER)
- printf("é¢:%ld", htime);
- else
- printf("óδ:%ld", htime);
- goto_xy(24, 26);
- if(it==HUMAN)
- printf("ƒ:%ld", ctime);
- else
- printf("∩:%ld", ctime);
- }
-
- /* éδí«α »á½¿Γαδ */
- void palette(pnum)
- int pnum;
- {
- union REGS r;
-
- r.h.bh = 1; /* ¬«ñ 4-ú« úαáΣ¿τÑ߬«ú« αѪ¿¼á */
- r.h.bl = pnum;
- r.h.ah = 11;
- int86(0x10, &r, &r);
- }
-
- /* éδí«α αѪ¿¼á */
- void mode(mode_code)
- int mode_code;
- {
- union REGS r;
-
- r.h.al = mode_code;
- r.h.ah = 0;
- int86(0x10, &r, &r);
- }
-
- /* ¿º«íαáªÑ¡¿Ñ ½¿¡¿¿ ºáñá¡¡«ú« µóÑΓá ß ¿ß»«½∞º«ó᡿Ѽ
- á½ú«α¿Γ¼á üαѺѡσá¼á */
- void line(startx,starty,endx,endy,color)
- int startx,starty,endx,endy,color;
- {
- register int t,distance;
- int x=0,y=0,delta_x,delta_y;
- int incx,incy;
-
- /* óδτ¿ß½Ñ¡¿Ñ αáßßΓ«∩¡¿∩ ó «í«¿σ ¡á»αáó½Ñ¡¿∩σ */
- delta_x=endx-startx;
- delta_y=endy-starty;
-
- /* «»αÑñѽѡ¿Ñ ¡á»αáó½Ñ¡¿∩ Φáúá, Φáú óδτ¿ß½∩ÑΓß∩ ½¿í« »«
- óÑαΓ¿¬á½∞¡«⌐, ½¿í« ú«α¿º«¡Γá½∞¡«⌐ ½¿¡¿¿ */
- if (delta_x>0) incx=1;
- else if (delta_x==0) incx=0; else incx=-1;
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 34 --
-
-
-
- if (delta_y>0) incy=1;
- else if (delta_y==0) incy=0;
- else incy=-1;
-
- /* «»αÑñѽѡ¿Ñ ¬á¬«Ñ αáßßΓ«∩¡¿Ñ í«½∞ΦÑ */
- delta_x=abs(delta_x);
- delta_y=abs(delta_y);
- if (delta_x>delta_y) distance=delta_x;
- else distance=delta_y;
-
- /* ¿º«íαáªÑ¡¿Ñ ½¿¡¿¿ */
- for (t=0; t<=distance+1; t++) {
- mempoint(startx,starty,color);
- x+=delta_x;
- y+=delta_y;
- if (x>distance) {
- x-=distance;
- startx+=incx;
- }
- if (y>distance) {
- y-=distance;
- starty+=incy;
- }
- }
- }
-
-
- /* ºá»¿ß∞ Γ«τ¬¿ ó CGA/EGA */
-
- void mempoint(x,y,color_code)
- int x,y,color_code;
- {
- union mask {
- char c[2];
- int i;
- } bit_mask;
- int i,index,bit_position;
- unsigned char t;
- char xor; /* "¿ß¬½ετáεΘÑÑ êïê" µóÑΓá ó ß½πτáÑ Ñú«
- ¿º¼Ñ¡Ñ¡¿∩ */
- char far *ptr=(char far *) 0xB8000000; /* Γ«τ¬á ó
- »á¼∩Γ¿ CGA */
- bit_mask.i=0xFF3F; /* 11111111 00111111 ó
- ñó«¿τ¡«¼ ó¿ñÑ */
- if (x<0 || x>199 || y<0 || y>319) return;
- xor=color_code & 128; /* »α«óÑα¬á, πßΓá¡áó½¿óá½ß∩ ½¿
- αѪ¿¼ "¿ß¬½ετáεΘÑú« êïê" */
- color_code=color_code & 127; /* ¼á߬á ßΓáαΦ¿σ í¿Γ«ó */
-
- /* πßΓá¡«ó¬á í¿Γ«ó«⌐ ¼á߬¿ ¿ í¿Γ«ó αѪ¿¼á µóÑΓá
- ó »αáóπε »«º¿µ¿ε */
-
- bit_position=y%4; /* óδτ¿ß½Ñ¡¿Ñ ¡πª¡«⌐ »«º¿µ¿¿
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 35 --
-
-
- ó íá⌐ΓÑ */
- color_code<<=2*(3-bit_position); /* ßñó¿ú ¬«ñá µóÑΓá
- ó ¡πª¡πε »«º¿µ¿ε */
- bit_mask.i>>=2*bit_position; /* ßñó¿ú í¿Γ«ó«⌐ ¼á߬¿ ó
- ¡πª¡πε »«º¿µ¿ε */
-
- /* «»αÑñѽѡ¿Ñ ΓαÑíπѼ«ú« íá⌐Γá ó »á¼∩Γ¿ ΓÑନ¡á½á */
-
- index=x*40+(y%4);
- if (x%2) index+=8152; /* Ñß½¿ ¡ÑτÑΓ¡δ⌐, ¿ß»«½∞ºπÑΓß∩
- óΓ«α«⌐ í½«¬ */
-
- /* ºá»¿ß∞ µóÑΓá */
-
- if (!xor) { /* αѪ¿¼ ¿º¼Ñ¡Ñ¡¿∩ µóÑΓá */
- t=*(ptr+index) & bit_mask.c[0];
- *(ptr+index)=t|color_code;
- }
- else {
- t=*(ptr+index) | (char)0;
- *(ptr+index)=t & color_code;
- }
- }
-
- /* τΓÑ¡¿Ñ íá⌐Γá ¿º «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿ CGA/EGA */
- unsigned char read_point(x,y)
- int x,y;
- {
- union mask {
- char c[2];
- int i;
- } bit_mask;
- int i,index,bit_position;
- unsigned char t;
- char xor; /* "¿ß¬½ετáεΘÑÑ êïê" µóÑΓá ó ß½πτáÑ Ñú«
- ¿º¼Ñ¡Ñ¡¿∩ */
- char far *ptr=(char far *) 0xB8000000; /* Γ«τ¬á ó
- »á¼∩Γ¿ CGA */
- bit_mask.i=3; /* 11111111 00111111 ó
- ñó«¿τ¡«¼ ó¿ñÑ */
- if (x<0 || x>199 || y<0 || y>319) return 0;
-
- /* πßΓá¡«ó¬á í¿Γ«ó«⌐ ¼á߬¿ ¿ í¿Γ«ó αѪ¿¼á µóÑΓá
- ó »αáóπε »«º¿µ¿ε */
- bit_position=y%4; /* óδτ¿ß½Ñ¡¿Ñ ¡πª¡«⌐ »«º¿µ¿¿
- ó íá⌐ΓÑ */
- bit_mask.i<<=2*(3-bit_position);
-
- /* «»αÑñѽѡ¿Ñ ΓαÑíπѼ«ú« íá⌐Γá ó »á¼∩Γ¿ ΓÑନ¡á½á */
- index=x*40+(y>>4);
- if (x%2) index+=8152; /* Ñß½¿ ¡ÑτÑΓ¡δ⌐, ¿ß»«½∞ºπÑΓß∩
- óΓ«α«⌐ í½«¬ */
-
- /* ºá»¿ß∞ µóÑΓá */
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 36 --
-
-
- t=*(ptr+index) & bit_mask.c[0];
- t>>=2*(3-bit_position);
- return t;
- }
-
- /* ºáúαπº¬á ¿º«íαáªÑ¡¿∩ */
-
- void load_pic()
- {
- char fname[80];
- FILE *fp;
- register int i,j;
-
- char far *ptr=(char far *) 0xB8000000; /* Γ«τ¬á ó
- »á¼∩Γ¿ CGA */
- char far *temp;
- unsigned char buf[14][80]; /* ß«ñÑαª¿Γ «íαẠφ¬αá¡á */
-
- temp=ptr;
- /* ß«σαá¡Ñ¡¿Ñ óÑασ¡¿σ ßΓ᫬ ΓѬπΘÑú« ß«ñÑন¼«ú« φ¬αá¡á */
- for (i=0;i<14;++i)
- for (j=0;j<80;j+=2) {
- buf[i][j]=*temp;
- buf[i][j+1]=*(temp+8152);
- *temp=0; *(temp+8152)=0;/*τ¿ßΓ¬á »«º¿µ¿⌐ φ¬αá¡á*/
- temp++;
- }
- goto_xy(0,0);
- printf("ê¼∩ Σá⌐½á:");
- gets(fname);
- if (!(fp=fopen(fname,"rb"))) {
- goto_xy(0,0);
- printf("öá⌐½ ¡Ñ ¼«ªÑΓ íδΓ∞ «Γ¬αδΓ\n");
- temp=ptr;
- /* ó«ßßΓá¡«ó½Ñ¡¿Ñ ß«ñÑন¼«ú« φ¬αá¡á */
- for (i=0;i<14;++i)
- for (j=0;j<80;j+=2) {
- *temp= buf[i][j];
- *(temp+8125)=buf[i][j+1];
- temp++;
- }
- return;
- }
- /* ºáúαπº¬á ¿º«íαáªÑ¡¿∩ ¿º Σá⌐½á */
- for (i=0;i<8152;i++) {
- *ptr=getc(fp); /* τÑΓ¡δ⌐ íá⌐Γ */
- *(ptr+8125)=getc(fp); /* ¡ÑτÑΓ¡δ⌐ íá⌐Γ */
- ptr++;
- }
-
- fclose(fp);
- }
-
- /* »«¼ÑßΓ¿Γ∞ ¬παß«α ó ºáñá¡¡«Ñ »«½«ªÑ¡¿Ñ */
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 37 --
-
-
- void goto_xy(x,y)
- int x,y;
- {
- r.h.ah=2; /* áñαÑßᵿ∩ ¬παß«αá */
- r.h.dl=y; /* ¬««αñ¿¡áΓá ßΓ«½íµá */
- r.h.dh=x; /* ¬««αñ¿¡áΓá ßΓ᫬¿ */
- r.h.bh=0; /* ó¿ñÑ«-ßΓαá¡¿µá */
- int86(0x10,&r,&r);
- }
-
- /* «Γ«íαáªÑ¡¿Ñ «íΩѬΓá ¡á φ¬αá¡Ñ */
-
- void display_object(ob, sides,cc)
- double ob[][4];
- int sides,cc;
- {
- register int i;
-
- for(i=0; i<sides; i++)
- line((int)ob[i][0], (int)ob[i][1],
- (int)ob[i][2], (int)ob[i][3], cc|128);
- }
-
- /* æ¼ÑΘÑ¡¿Ñ (»áαώѽ∞¡δ⌐ »ÑαÑ¡«ß) «íΩѬΓá ó ¡á»αáó½Ñ¡¿¿,
- «»αÑñѽѡ¡«¼ x ¿ y
- */
- void update_object(ob, x, y, sides)
- int ob[][4]; /* «íΩÑ¬Γ */
- int x, y; /* ¡á»αáó½Ñ¡¿Ñ ß¼ÑΘÑ¡¿∩ */
- register int sides; /* ¬«½¿τÑßΓó« ßΓ«α«¡ «íΩѬΓá */
- {
- sides--;
- for(; sides>=0; sides--)
- {
- ob[sides][0] += x;
- ob[sides][1] += y;
- ob[sides][2] += x;
- ob[sides][3] += y;
- }
- }
-
- /* Ä»αÑñѽѡ¿Ñ ñ«»πßΓ¿¼«ßΓ¿ »ÑαѼÑΘÑ¡¿∩ «íΩѬΓá. 髺óαáΘáÑΓ
- 1, Ñß½¿ »ÑαѼÑΘÑ¡¿Ñ ñ«»πßΓ¿¼«, 0 - ó »α«Γ¿ó¡«¼ ß½πτáÑ */
- is_legal(ob, x, y, sides)
- int ob[][4]; /* «íΩÑ¬Γ */
- int x, y; /* Φáú »ÑαѼÑΘÑ¡¿∩ */
- int sides; /* τ¿ß½« ßΓ«α«¡ «íΩѬΓá */
- {
- if(x==0 && y==0)
- return 1; /* »πßΓ«Ñ »ÑαѼÑΘÑ¡¿Ñ óßÑúñá ñ«»πßΓ¿¼«*/
- sides--;
- for(; sides>=0; sides--)
- {
- /* ¬«¡Γα«½∞ óδσ«ñá ºá ñ«»πßΓ¿¼πε «í½áßΓ∞ */
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 38 --
-
-
- if(ob[sides][0]+x>199 || ob[sides][1]+y>319)
- return 0;
- if(ob[sides][2]+x<0 || ob[sides][3]+y<0)
- return 0;
- if(read_point(ob[sides][0]+x, ob[sides][1]+y)==2)
- return 0;
- if(read_point(ob[sides][2]+x, ob[sides][3]+y)==2)
- return 0;
- }
- return 1;
- }
-
- /* úÑ¡Ñαᵿ∩ ñó¿ªÑ¡¿∩ ß»αá⌐Γá ¬«¼»∞εΓÑαá, ¬«úñá «¡ ñ«ú«¡∩ÑΓ
- */
- void it_comp_move(ob1, ob2, human, sides)
- int ob1[][4],ob2[][4], human[][4], sides;
- {
- register int x, y, d; /* d = direction */
- static skip = 0;
- skip++;
- if(skip==3)
- {
- skip=0;
- return;
- /* π¼Ñ¡∞ΦÑ¡¿Ñ óαѼѡ¿ αÑᬵ¿¿ ¬«¼»εΓÑαá */
- }
- x = 0;
- y = 0;
-
- /* ñó¿ªÑ¡¿Ñ ¬ ¿ú᫬π */
- if(human[0][0]<ob1[0][0])
- x = -1;
- else
- if(human[0][0]>ob1[0][0])
- x = 1;
- if(human[0][1]<ob1[0][1])
- y = -1;
- else
- if(human[0][1]>ob1[0][1])
- y = 1;
-
- if(is_legal(ob1, x, y, sides))
- {
- update_object(ob1, x, y, sides);
- update_object(ob2, x, y, sides);
- }
- else
- {
- if(x && is_legal(ob1, x, 0, sides))
- {
- update_object(ob1, x, 0, sides);
- update_object(ob2, x, 0, sides);
- }
- else
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 39 --
-
-
- if(is_legal(ob1, 0, y, sides))
- {
- update_object(ob1, 0, y, sides);
- update_object(ob2, 0, y, sides);
- }
- }
- }
-
- /* úÑ¡Ñαᵿ∩ ñó¿ªÑ¡¿∩ ß»αá⌐Γá ¬«¼»∞εΓÑαá, ¬«úñá
- «¡ πíÑúáÑΓ */
- void not_it_comp_move(ob1, ob2, dx, dy, sides)
- int ob1[][4], ob2[][4];
- int dx, dy; /* ¡á»αáó½Ñ¡¿Ñ »«ß½Ññ¡Ñú« »ÑαѼÑΘÑ¡¿∩
- "τѽ«óѬá" */
- int sides;
- {
- register int x, y, d;
- static skip = 1;
-
- skip++;
- if (skip==3)
- {
- skip = 0;
- return;
- /* π¼Ñ¡∞ΦÑ¡¿Ñ óαѼѡ¿ αÑᬵ¿¿ ¬«¼»∞εΓÑαá ó 3 αáºá */
- }
- x = 0;
- y = 0;
- /* »ÑαѼÑΘÑ¡¿Ñ ó »α«Γ¿ó«»«½«ª¡«¼ ¡á»αáó½Ñ¡¿¿ */
- x = -dx;
- y = -dy;
-
- if (is_legal(ob1, x, y, sides))
- {
- updáte_object(ob1, x, y, sides);
- updáte_object(ob2, x, y, sides);
- }
- else
- {
- if (x && is_legal(ob1, x, 0, sides))
- {
- updáte_object(ob1, x, 0, sides);
- updáte_object(ob2, x, 0, sides);
- }
- else if (is_legal(ob1, 0, y, sides)) {
- updáte_object(ob1, 0, y, sides);
- updáte_object(ob2, 0, y, sides);
- }
- }
- }
-
- /* »α«óÑα∩ÑΓ ¡á½¿τ¿Ñ ¬«¡Γá¬Γá ¼Ñªñπ ß»αá⌐ΓἿ */
- tag(ob1, ob2)
- int ob1[][4], ob2[][4];
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 40 --
-
-
- {
- register int i;
- /* ñ½∩ ߼ѡδ á¼»½πá ¡Ñ«íσ«ñ¿¼«, τΓ«íδ ß»αá⌐Γδ
- ¿¼Ñ½¿ σ«Γ∩ íδ «ñ¡π «íΘπε Γ«τ¬π αáßΓαá */
- for (i=-1; i<2; i++)
- if (ob1[0][0]==ob2[0][0]+i && ob1[0][1]==ob2[0][2]+i)
- return 1;
- return 0;
- }
-
-
- ä½∩ ¿ß»«½∞º«óá¡¿∩ ¿úαδ óδ ñ«½ª¡δ ß«ºñáΓ∞ «ñ¡« ¿½¿ ¡Ñ߬«½∞¬«
- ¿úα«óδσ »«½Ñ⌐, ¿ß»«½∞ºπ∩ Σπ¡¬µ¿¿, «»¿ßá¡¡δÑ ó ú½áóÑ 4.
- êß»«½∞ºπ⌐ΓÑ ¬αáß¡δ⌐ µóÑΓ ñ½∩ ¿º«íαáªÑ¡¿∩ »αÑ»∩ΓßΓó¿⌐. åѽΓδ⌐ ¿
- ºÑ½Ñ¡δ⌐ µóÑΓá ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ Σ«¡á. ¥Γ¿ µóÑΓá ¡Ñ ¡ÑßπΓ
- ¡áúαπº¬¿, »«φΓ«¼π ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ñѬ«αáΓ¿ó¡δσ µÑ½∩σ. ìá
- α¿ßπ¡¬áσ 5-1 ¿ 5-2 »«¬áºá¡δ ñóá óáα¿á¡Γá ¿úα«óδσ »«½Ñ⌐ ó Γᬫ¼
- ó¿ñÑ, ó ¬«Γ«α«¼ «¡¿ «Γ«íαáªáεΓß∩ ¡á φ¬αá¡Ñ óáΦÑú« ΓÑନ¡á½á.
-
- üδßΓα«ñÑ⌐ßΓó¿Ñ ¬«¼»∞εΓÑα«ó, Γá¬¿σ ¼«ñѽÑ⌐ ¬á¬ AT ¿½¿ PS/2
- ¼«ñѽÑ⌐ 50, 60 ¿½¿ 80, 󻫽¡Ñ ñ«ßΓáΓ«τ¡« ñ½∩ ñá¡¡«⌐ ¿úαδ. ÆÑ¼»
- ¿úαδ íπñÑΓ ¡Ñ߬«½∞¬« ß¡¿ªÑ¡ ¡á «íδτ¡«¼ ¬«¼»∞εΓÑαÑ PC. Äñ¡á¬« óá¼
- πªÑ ¿ºóÑßΓ¡«, ¬á¬ ¼«ªÑΓ íδΓ∞ »«óδΦÑ¡á ñ¿¡á¼¿τ¡«ßΓ∞ ¿úαδ.
-
- _________________________________________________________________
-
- É¿ß. 5-1 ¡á ßΓα. 205 ¿¼ÑεΘ¿¼¿ß∩ ßαÑñßΓóἿ ó«ß»α«¿ºóÑñÑ¡ íδΓ∞ ¡Ñ
- ¼«ªÑΓ. (ÉÑñ. »Ñα. ê.üδτ¬«ó߬¿⌐.)
- _________________________________________________________________
-
- É¿ß. 5-1. ÅÑαó«Ñ ¿úα«ó«Ñ »«½Ñ ó¿ñÑ«¿úαδ "ßὫτ¬¿"
-
-
- _________________________________________________________________
-
- É¿ß. 5-2 ¡á ßΓα. 205 ¿¼ÑεΘ¿¼¿ß∩ ßαÑñßΓóἿ ó«ß»α«¿ºóÑñÑ¡ íδΓ∞ ¡Ñ
- ¼«ªÑΓ. (ÉÑñ. »Ñα. ê.üδτ¬«ó߬¿⌐.)
- _________________________________________________________________
-
- É¿ß. 5-2. éΓ«α«Ñ ¿úα«ó«Ñ »«½Ñ ó¿ñÑ«¿úαδ "ßὫτ¬¿"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó
- â½áóá V -- 41 --
-
-
- ìàèÄÆÄÉ¢à æÄÄüÉÇåàìêƒ ÅÄ éÄçîÄåìÄë îÄäêöêèÇûêê
- ÅÉÄâÉÇîî¢
- -----------------------------------------------------------------
-
- 髺¼«ª¡«, óδ ß« óαѼѡѼ ºáσ«Γ¿ΓÑ ß«ºñáΓ∞ ßó«ε ó¿ñÑ«¿úαπ,
- óº∩ó, «ñ¡á¬«, ºá «ß¡«óπ αáßß¼«ΓαÑ¡¡πε ºñÑß∞ ¿úαπ TAG. é φΓ«¼
- ß½πτáÑ ó ¼«ªÑΓÑ, ¡á»α¿¼Ñα, ¿º¼Ñ¡¿Γ∞ ΓαáÑ¬Γ«α¿ε ñó¿ªÑ¡¿∩ ß»αá⌐Γá
- ¬«¼»∞εΓÑαá ºáßΓáó¿ó Ñú« ñó¿úáΓ∞ß∩ ó«¬απú ¬á¬«ú«-Γ« «íΩѬΓá
- ("«σαá¡∩Γ∞" Ñú«). ê¡ΓÑαÑß¡δ¼ ñ«»«½¡Ñ¡¿Ñ¼ ¬ »α«úαá¼¼Ñ íπñÑΓ
- 󫺼«ª¡«ßΓ∞ ¿º¼Ñ¡∩Γ∞ ó¡ÑΦ¡¿⌐ ó¿ñ ¬áªñ«ú« «íΩѬΓá-πτáßΓ¡¿¬á ¿úαδ ó
- ºáó¿ß¿¼«ßΓ¿ «Γ ¬á¬¿σ-½¿í« πß½«ó¿⌐. èßΓáΓ¿, αÑΦÑ¡¿Ñ φΓ«⌐ ºáñáτ¿ ¡Ñ
- ΓαÑíπÑΓ «Γ óáß ¬á¬¿σ-½¿í« ñ«»«½¡¿Γѽ∞¡δσ πß¿½¿⌐, Γᬠ¬á¬ ¬áªñ«Ñ
- ¿º«íαáªÑ¡¿Ñ ß»αá⌐Γá ¼«ª¡« σαá¡¿Γ∞ ó ó¿ñÑ«»á¼∩Γ¿, á óßÑ
- ¡Ñ«íσ«ñ¿¼δÑ »«ñ»α«úαá¼¼δ ñ½∩ αáí«Γδ ß ¡Ñ⌐ π óáß πªÑ ÑßΓ∞.
-
- äαπú¿¼, Γá¬ªÑ »αÑñßΓáó½∩εΘ¿¼ ¿¡ΓÑαÑß ñ«»«½¡Ñ¡¿Ñ¼, ¼«ªÑΓ
- ßΓáΓ∞ ¡áñѽѡ¿Ñ ¬«¼»∞εΓÑαá 󫺼«ª¡«ßΓ∞ε "»α«ú¡«º¿α«óáΓ∞"
- ¡á»αáó½Ñ¡¿Ñ ñó¿ªÑ¡¿∩ ß»αá⌐Γá τѽ«óѬá. é ßἫ¼ ñѽÑ, óδ óÑñ∞
- º¡áÑΓÑ, ¬πñá ¼«ª¡« ñó¿úáΓ∞ß∩, á ¬πñá ¡Ñ½∞º∩, ó ºáó¿ß¿¼«ßΓ¿ «Γ
- ß¿Γπᵿ¿ ¡á φ¬αá¡Ñ ñ¿ß»½Ñ∩. Æá¬ ¡áπτ¿ΓÑ φΓ« ñѽáΓ∞ ¿ ¬«¼»∞εΓÑα!
- ū߬«½∞¬π ¿úα«ó«Ñ »«½Ñ ßΓáΓ¿τ¡«, Γ« αÑΦÑ¡¿Ñ ¿ φΓ«⌐ ºáñáτ¿ ¡Ñ
- íπñÑΓ »αÑñßΓáó½∩Γ∞ ß½«ª¡«ßΓ¿.
- Å«»α«íπ⌐ΓÑ ñ«íáó¿Γ∞ ó »α«úαá¼¼π ÑΘÑ «ñ¿¡ ß»αá⌐Γ, ¬áßá¡¿Ñ
- ¬«Γ«α«ú« íπñÑΓ »α¿¡«ß¿Γ∞ ñ«»«½¡¿Γѽ∞¡δÑ «τ¬¿ ¿úαáεΘ¿¼.
-
- ê, ¡á¬«¡Ñµ, »«ß½Ññ¡∩∩ ¼δß½∞: »α«µÑßß αáºαáí«Γ¬¿ ½εí«⌐
- ó¿ñÑ«¿úαδ ¡áτ¿¡á⌐ΓÑ ß ß«ºñá¡¿∩ ÑÑ »α«ßΓÑ⌐ΦÑú« "߬ѽÑΓá". ê ½¿Φ∞
- »«ß½Ñ Γ«ú«, ¬á¬ óáΦ "߬ѽÑΓ" "ºáñδΦá½", ¡áτ¿¡á⌐ΓÑ ¡áαáΘ¿óá¡¿Ñ
- 󫺼«ª¡«ßΓÑ⌐ ßó«Ñ⌐ ¿úαδ. éßÑúñá ßΓαѼ¿ΓÑß∞ ¿ñΓ¿ »πΓѼ «Γ »α«ßΓ«ú«
- ¬ ß½«ª¡«¼π.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "C" ñ½∩ »α«ΣÑßß¿«¡á½∞¡δσ »α«úαá¼¼¿ßΓ«ó