From: Svjatoslav Agejenko Date: Sat, 2 Jun 2018 23:02:26 +0000 (+0300) Subject: Reorganized files. Modernized documentation. X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=commitdiff_plain;h=c6aaa433dedff2dd8063983c7716c0cdb296a0f9 Reorganized files. Modernized documentation. --- diff --git a/doc/index.html b/doc/index.html deleted file mode 100644 index 6316c4f..0000000 --- a/doc/index.html +++ /dev/null @@ -1,278 +0,0 @@ - - - -QBasicApps - collection of applications mostly written in MS QBasic for DOS environment - - - - - - - -" - - - - - -
-

QBasicApps - collection of applications mostly written in MS QBasic for DOS environment

-
- - - -

-This collection contains lots of applications: -

-
    -
  • games -
  • -
  • graphics tests (2D/3D/4D) -
  • -
  • algorithms tests -
  • -
  • utilities -
  • -
-

-I wrote them long time ago mostly in QBasic, some in x86 assembly for -use under DOS environment. -

- - -

-Few sample applications from the package: -

- -
- - - diff --git a/doc/index.org b/doc/index.org deleted file mode 100644 index 5f5bb8a..0000000 --- a/doc/index.org +++ /dev/null @@ -1,48 +0,0 @@ -#+TITLE: QBasicApps - collection of applications mostly written in MS QBasic for DOS environment - ------ -- [[http://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=snapshot;h=HEAD;sf=tgz][download latest snapshot]] - -- These programs are free software; you can redistribute them and/or - modify them under the terms of version 3 of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General - Public License]] or later as published by the Free Software - Foundation. - -- Programs author: - - Svjatoslav Agejenko - - Homepage: http://svjatoslav.eu - - Email: mailto://svjatoslav@svjatoslav.eu - -- [[http://www.svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]] - - -This collection contains lots of applications: -+ games -+ graphics tests (2D/3D/4D) -+ algorithms tests -+ utilities -I wrote them long time ago mostly in QBasic, some in x86 assembly for -use under DOS environment. - - -Few sample applications from the package: -+ [[file:../games/checkers/index.html][Checkers game]] -+ [[file:../games/mario/index.html][Super Mario clone]] -+ [[file:../graphics/3D/3dSynthezier/doc/index.html][3D synthezer]] -+ [[file:../graphics/3D/ray casting engine/index.html][Ray casting 3D engine]] -+ [[file:../graphics/4D engine/index.html][4D engine]] -+ [[file:../math/3D graph/index.html][Interactive 3D graph for visualizing formulas]] -+ [[file:../math/biorythm/index.html][Biorythm calculator]] -+ [[file:../networking/digital data over analog audio channel/index.html][Digital data over analog audio channel]] -+ [[file:../simulation/explosion/index.html][Explosion simulation]] -+ [[file:../simulation/life/index.html][Game of life]] - -* (document settings) :noexport: -** use dark style for TWBS-HTML exporter -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: " -#+HTML_HEAD: diff --git a/games/checkers/index.html b/games/checkers/index.html deleted file mode 100644 index 058d7cd..0000000 --- a/games/checkers/index.html +++ /dev/null @@ -1,19 +0,0 @@ - -checkers - - - -

checkers

-
-
-Play checkers against the computer with any board -size and any amount of caps. Does thinking by recursively -testing many possible scenarios with any depth. - -Since it is slow QBasic implementation, -it isn't practical to play with many caps -or big thinking depth, for reasonable responce time. - -
- - \ No newline at end of file diff --git a/games/checkers/screenshot.png b/games/checkers/screenshot.png new file mode 100644 index 0000000..9b4dbf4 Binary files /dev/null and b/games/checkers/screenshot.png differ diff --git a/games/checkers/sshot.png b/games/checkers/sshot.png deleted file mode 100644 index 9b4dbf4..0000000 Binary files a/games/checkers/sshot.png and /dev/null differ diff --git a/games/mario/0.i01 b/games/mario/0.i01 deleted file mode 100644 index ddf406e..0000000 --- a/games/mario/0.i01 +++ /dev/null @@ -1,11 +0,0 @@ - 10 -((]]]]]](( -(]]]]]]]]( -]]]]((]]]] -]]]((((]]] -]]]((((]]] -]]]((((]]] -]]]((((]]] -]]]]((]]]] -(]]]]]]]]( -((]]]]]](( diff --git a/games/mario/1.i01 b/games/mario/1.i01 deleted file mode 100644 index 3d79571..0000000 --- a/games/mario/1.i01 +++ /dev/null @@ -1,11 +0,0 @@ - 10 -((((]]]((( -(((]]]]](( -(((]]]]](( -(((]]]]](( -(((]]]]](( -(((]]]]](( -(((]]]]](( -(((]]]]](( -(((]]]]](( -((((]]]((( diff --git a/games/mario/2.i01 b/games/mario/2.i01 deleted file mode 100644 index 1e305a6..0000000 --- a/games/mario/2.i01 +++ /dev/null @@ -1,11 +0,0 @@ - 10 -(]]]]]]](( -]]]]]]]]]( -]]]]((]]]] -(]](((]]]] -((((]]]]]( -(((]]]]](( -(]]]]((((( -]]]](((]]( -]]]]]]]]]] -(]]]]]]]]( diff --git a/games/mario/3.i01 b/games/mario/3.i01 deleted file mode 100644 index 0638abc..0000000 --- a/games/mario/3.i01 +++ /dev/null @@ -1,11 +0,0 @@ - 10 -(]]]]]]]]( -]]]]]]]]]] -(]](((]]]] -(((((((]]] -(((((]]]]( -(((((]]]]( -(((((((]]] -(]](((]]]] -]]]]]]]]]] -(]]]]]]]]( diff --git a/games/mario/4.i01 b/games/mario/4.i01 deleted file mode 100644 index 2bfbf57..0000000 --- a/games/mario/4.i01 +++ /dev/null @@ -1,11 +0,0 @@ - 10 -(((]](((]( -((]]](((]] -((]]]((]]] -(]]](((]]] -(]]]((]]]] -]]]]]]]]]] -(]]]]]]]]] -(((((]]]]( -(((((]]]]( -((((]]]](( diff --git a/games/mario/5.i01 b/games/mario/5.i01 deleted file mode 100644 index f364c9b..0000000 --- a/games/mario/5.i01 +++ /dev/null @@ -1,11 +0,0 @@ - 10 -((]]]]]](( -(]]]]]]((( -(]]((((((( -(]]((((((( -(]]]]]]]]( -((]]]]]]]] -(((((((]]] -]]](((]]]] -]]]]]]]]]( -(]]]]]]](( diff --git a/games/mario/6.i01 b/games/mario/6.i01 deleted file mode 100644 index 7a52db7..0000000 --- a/games/mario/6.i01 +++ /dev/null @@ -1,11 +0,0 @@ - 10 -((]]]]]](( -]]]]]]]]]( -]]](((]]]( -]]]((((((( -]]]]]]]]]( -]]]]]]]]]] -]]]((((]]] -]]](((]]]] -]]]]]]]]]( -(]]]]]]](( diff --git a/games/mario/7.i01 b/games/mario/7.i01 deleted file mode 100644 index 27197cc..0000000 --- a/games/mario/7.i01 +++ /dev/null @@ -1,11 +0,0 @@ - 10 -(]]]]]]]]( -]]]]]]]]]] -]]]((((]]] -(](((((]]] -((((]]]]]] -((]]]]]]]( -((((((]]]( -(((((]]](( -((((]]]((( -((((]]]((( diff --git a/games/mario/8.i01 b/games/mario/8.i01 deleted file mode 100644 index 5ad4835..0000000 --- a/games/mario/8.i01 +++ /dev/null @@ -1,11 +0,0 @@ - 10 -((]]]]]](( -(]]]((]]]( -(]]((((]]( -((]]((]](( -(]]]]]]]]( -]]]]((]]]] -]]]((((]]] -]]]]((]]]] -(]]]]]]]]( -((]]]]]](( diff --git a/games/mario/9.i01 b/games/mario/9.i01 deleted file mode 100644 index 6e44b1c..0000000 --- a/games/mario/9.i01 +++ /dev/null @@ -1,11 +0,0 @@ - 10 -(]]]]]]](( -]]]]]]]]]( -]]](((]]]] -]](((((]]] -]]](((]]]] -(]]]]]]]]] -((]]]((]]] -((((((]]]] -((]]]]]]]( -((]]]]]](( diff --git a/games/mario/index.html b/games/mario/index.html deleted file mode 100644 index e344619..0000000 --- a/games/mario/index.html +++ /dev/null @@ -1,13 +0,0 @@ - -super mario like game - - - -

super mario like game

-
-
-
Jump around, collect coins and dont touch snails! - -
- - \ No newline at end of file diff --git a/games/mario/kast.i01 b/games/mario/kast.i01 deleted file mode 100644 index 59c5b7b..0000000 --- a/games/mario/kast.i01 +++ /dev/null @@ -1,21 +0,0 @@ - 20 -(DDDDDDDDDDDDDDDDDD( -D(EEEEEEEEEEEEEEEE(= -DE(EEEEEEEEEEEEEE(>= -DEE@@@@@@@@@@@@@@?>= -DEE@???????????D@?>= -DEE@??CCCCCCCCCD@?>= -DEE@?CCCCCCCCCCD@?>= -DEE@?CCCCCCCCCCD@?>= -DEE@?CCCCCCCCCCD@?>= -DEE@?CCCCCCCCCCD@?>= -DEE@?CCCCCCCCCCD@?>= -DEE@?CCCCCCCCCCD@?>= -DEE@?CCCCCCCCCCD@?>= -DEE@?CCCCCCCCCCD@?>= -DEE@?CCCCCCCCCCD@?>= -DEE@DDDDDDDDDDDD@?>= -DEE@@@@@@@@@@@@@@?>= -DE=??????????????(>= -D(>>>>>>>>>>>>>>>>(= -(==================( diff --git a/games/mario/mario1.i01 b/games/mario/mario1.i01 deleted file mode 100644 index d24dc33..0000000 --- a/games/mario/mario1.i01 +++ /dev/null @@ -1,21 +0,0 @@ - 20 -(RRRRRQQQQ(((((((((( -RRQQQQQQQQQ(RRRR(((( -RQQQQQQQQQQRRQQQQ((( -RQQQQQQQQQQQQQQQ(((( -QQQQQQQQQQQQQ((((((( -QQQQQQQQQ(((((((((( -(QQQQQQQ(((((( -((((((( -(((((((( -((((((((((((( -((((((((((((((( -((((((JJJJJ((((((((( -((((((JJJJJJ(((((((( -(((((JJJJJIJ(((((((( -(((((JIIIIJJ(((((((( -((((IIIIIIIJ(((((((( -((((IIIIIIJJJ((((((( -((XXXIII(JJJJXXX(((( -(XXXXXXX((JXXXXXXX(( -((XXXXX((((XXXXXX((( diff --git a/games/mario/mario2.i01 b/games/mario/mario2.i01 deleted file mode 100644 index 0a0a944..0000000 --- a/games/mario/mario2.i01 +++ /dev/null @@ -1,21 +0,0 @@ - 20 -(RRRRQQQQ((((((((((( -RQQQQQQQQQ(((((((((( -QQQQQQQQQQRRRRR((((( -QQQQQQQQQQQQQQQQ(((( -QQQQQQQQQQQQQQQ((((( -QQQQQQQQ((((((((((( -QQQQQQQ((((((( -((((((( -(((((((( -((((((((((((( -((((((((((((((( -(((((JJJJJ(((((((((( -(((((JJJJJJ((((((((( -((((JJJJJIJ((((((((( -((((JIIIIJJ((((((((( -(((((IIIIIJ((((((((( -(((((IIIII(((((((((( -((((XXXXXXXX(((((((( -(((XXXXXXXXXX((((((( -((((XXXXXXXX(((((((( diff --git a/games/mario/munt.i01 b/games/mario/munt.i01 deleted file mode 100644 index 4b3089c..0000000 --- a/games/mario/munt.i01 +++ /dev/null @@ -1,11 +0,0 @@ - 10 -(((TTTT((( -(TTTSSSSR( -TTSSSSSSSR -TSSS\\SSSR -TSSS\]SSSR -TSSS\]SSSR -TSSS\]SSSR -TSSS\]SSSR -(SRSSSSRR( -(((RRRR((( diff --git a/games/mario/munt1.i01 b/games/mario/munt1.i01 deleted file mode 100644 index 6b2db3b..0000000 --- a/games/mario/munt1.i01 +++ /dev/null @@ -1,11 +0,0 @@ - 10 -(((TTTT((((((((((((( -(TTTSSSSR((FF((((FC( -TTSSSSSSSR(FCC((FC@( -TSSS\\SSSR((CCCFC@(( -TSSS\]SSSR(((CCC@((( -TSSS\]SSSR(((FCC@((( -TSSS\]SSSR((FCC@C@(( -TSSS\]SSSR(FC@((@C@( -(SRSSSSRR((C@((((@@( -(((RRRR((((((((((((( diff --git a/games/mario/munt2.i01 b/games/mario/munt2.i01 deleted file mode 100644 index f064124..0000000 --- a/games/mario/munt2.i01 +++ /dev/null @@ -1,11 +0,0 @@ - 10 -((QQQQ(((((((((((((( -(QQQQQQ((((FF((((FC( -((jjjj(((((FCC((FC@( -((jjjj((((((CCCFC@(( -(c(jj(c((((((CCC@((( -c]]]]]]c(((((FCC@((( -((]]]]((((((FCC@C@(( -(]]]]]]((((FC@((@C@( -XX]((]XX(((C@((((@@( -XXX((XXX(((((((((((( diff --git a/games/mario/pilv.i01 b/games/mario/pilv.i01 deleted file mode 100644 index 7ec44e0..0000000 --- a/games/mario/pilv.i01 +++ /dev/null @@ -1,31 +0,0 @@ - 30 -(((((((((((((((((((((((((\\(\((((((((((((((((((((((((](((((((((]((((]((((]]((((((((((((((((((((((((( -((((((((((((((((((((((((\((((((((\\(((((((((\(((((((((]]((\(((\(((\((]](]](((((((((((((((((((((((((( -((((((((((((((((\((\((\(\]\\((\(\(((((((]((((((((](((\((\]((((\(]\(\(]]]]]]((((((((((((((((((((((((( -(((((((((((((((((((]t\\(]]]\\\](](((\((]((](](((((((]((((\(\]](\((]\(((((\\(](](\]\(((((((((]((((((( -((((((((((t((wt\\\t](tt\(]\\((\(](\\t\t((((]\t(](((\((\]\](\(\]](]]((]\(]](((]`\`\(\\]((((((((((( -(((((t((((((ttttttt(t\\(\\((\(]]]\t((\\]\]((((\(](\((\\(]\(](`\\`]](\]\\]\(t\\\`\\t(t\]((]((((((((( -((((t(tt(t((tttttt]t\\(](\\(t(t\\ttt\]tt]t\\(]\tt]](\((t]\](\t]((t]\t(]`\t(]]tt\\(tt\\]](](((((((( -((((((\(ttt(ttt\tt]tt\\\\t\]\tt\(\t]((\\\tt\((]](\\t]tt(\\\(tt(t\(`]\`]]\\\\\(\`tt``^```(`(((((( -((((tt(tttttttttt\\t]\tt]ttt(]\\\\\t\\t(\\((\\t\]t\\]]`\\\](\`]\\(\\]\`(t\\\t\\tt\\^(``]\(\]((]`(( -(((t\(t\ttt\]ttt\tt]]]\\t]ttt]]t\t\\]ttt\]](tt\(]t\\\]t\t`t\\]\\tt]\^\t]\\\\\tt\\`t\t`^`(\`\]]](( -(((((tt]]t\\twt\\\t\]tt]]t(]\t\tt]\tttt\tt]\((t(\\\t\`]t(\]t\\`\t\\(\\\t\t]^\\t\\\tt\t\\^```(`(](( -((t(](\ttttwttw]t\\tt(^t\(t]\]tt\(\t]t\\t(]]\]ttt\\tttt\]\^]\tt\]``\t`(\tt\`^\\\\\ttt\tt\\`]\\^((\(( -]t(]]]]tt]t\t^t\tt\t(\](tt]\tt]\t\\\\\]t\tt`t\\`^]\]t\]]]tt\`(`(]`\tt\\`\t\t]\\tt\ttt^t\\`\`]``(\](( -(]t]t\\t\\t\^t\^t\](\]]\]]t\(ttttt\]t\t\`\t\t\t\\\\`^t`(t(]]t]t`]]t]\\\^tt\]`\t\\t\\``t\\`\``\]t``\( -(]t(tt\\\\\\\\\]^t]]t^t]tt\t^\\]]]]`t\]\t`]\t^```\^^]`\tt^t]`\`]^^\\\\\\\\]^(`\^`\\\\\\^``\```]`\`(] -(](t^^]\\]\\\]t^\]]^]]\^^\]]t\`\^^``]t`^\\`\\`^`]\^\`t]\^^^`^]\\^^^\\\\\]]\`\^````\\]^`\`^`\```]``]( -]]]]](t]`t]^\]^]]^]^]^^]^^]`\^\]`]\]`\\\\``]`\`t\\`^]```^`]^^^^^]\^^\t\``]`\\``]\\^\^^^\\\```````]]] -((^((]](`]]`]^^`^^]^`]]\]``\\(\(\`]``\```]`^^^````^````t(]`^t]^^t`\\]^^\^\^`^\^``\]\\````^`\`]```(]( -](^]((]\`(``]]]^``^t]^^]]t]``t`]``(`````\``\``\\`\```t`^t^(^^^^^]]t^`(\\^\^`(`^^^`\^```\````\]````]( -]((^^]]`]^]^\`]``t^```````\`^`\`\``\^t```````]`````]^`^]]^^t^(^(^]``^```\\\`^]]]^^^^]``^````t]``]``( -(((^((]``^^`^^``^^^^^^]]t`t````^`^`^`^\^`]````````````^`````^^^`]`]^^^^^((]``^^`^]]^^`````]``^^(t`(] -(]^(^(`(`^]]`]`^^^`]^```^^`````t`\^`^`````````^`(`^t^`t^`^^^(```t(`^]]^^^^```^]`]``]^`(```(^(`tttt(( -^(^(^(((t](((`]]`^`t``t```^``^``````^````(^`(````^^^``^`(```^]``]^(]`^```]````````(]^``]t]`^`](^(`(( -(((tt^(^((((]`^`^```t````^```^^^]``````](`tt``]``^```(^^`]``(``t````t```(``]`^]^t`]^`(`^^^^``tt]`((( -(((((((]^](((``]`(`^`]^^^``]`]]((```(`(^```]((]^`^`````````(`((t``^`````]`^(^^```(`^`](`t]^((^(`(((( -(((((((((]((t(^`(`^``((``(^(``^(((((((((``((^``````^(^`t`(`^t``````^]((^^^`](^```((`]((`(]^`((^](((( -(((((((((((t(^``(`(t^(^(`^(^^^((^(`((^(`]((((](((````^(`((((``((``((``(^`]`(]]]]``]``]````(`(``(`((( -(((((((((((((^(^((((((^^(((^(((^(((^^`((`((]`((((^`((`(^``((```^`((((^(((t`(^`((`^(`(]`^`(((`^(((((( -((((((((((((((((((((^(((^(((((^(((((((((((((((((^(`^^`^(((^((^((``(((`((((`](((((((^(``(((`((((((((( -(((((((((((((((((((^(((((((^((^(((((((((((((((((((((^(`(^^(`((((((^^(^((`((((](`(((((((((((((((((((( diff --git a/games/mario/poosas.i01 b/games/mario/poosas.i01 deleted file mode 100644 index e48b7dc..0000000 --- a/games/mario/poosas.i01 +++ /dev/null @@ -1,21 +0,0 @@ - 20 -((((((((((((((((((((((((((((((q((((q(q(((((((((((((((((((((( -((((((((((q((q(((q(((qq(((((((qqŠqqqq(((((((qq(((((((((((((( -((((((((((q(q(((q(qq((qq((q((qqq(((q(qq(qq;(qq(q(((((((((((( -(((((((((qq(q(Š(((q(q(q(q((((q2qqq(qqq(q(;((;q(q(((((((((((( -(((((qqq(q(q(((222Šqqq(((Šq(qqqqŠq2qqqq2((;Š((q(((q?q((((((( -((((qq(nq(((q((2(qq2q2q(((nn(Šq(qqq(nqq2n2;(qnq?(;???((((((( -((((((qqqq2q(qqq2Š(22Š(qqq(Šqq2n(2nqq2qqq(nq?q?Š2;;;?((((((( -(((((qn(qqqqŠ(Š(qXn22XŠ(nqŠŠq2(22qq22(22(2?Y??2q;?q;22(((((( -((((q((qq2qqŠqqnq2nXŠXŠqq2ŠŠqqŠqX2q22((qq;(Yq???;;2;;2q((((( -((((((q(22(2q2(((nqqXXŠ(XX2Xq(q2Š22nq22q?qY((?(?qqqq;???(((( -(((q(qq(qqqYYXq((YXXYŠX2Š2ŠX2Šq;?2???2q;;q;X?2???;?;Y;??q((( -(((q(q(q22222YYX2(XX?X2q2?qX2q?YYYn2q;Y;X2???X?;?;;;??;;(((( -(((n(qq(Š2Š22XYqXY?XY;2;???qq?;?Y;?2Y;2;;Y;?XX9X9;;(9;??;((( -((((qnXŠ?YY22ŸŸ???YYqqX?;qXqqq;;???;@;;;;??X;;?X?q;;;9?;(?( -(nnnŠX2?2??YXŸŸX2q?X;2;;?qq;;;q;?;;;;;;;Ÿ;X;9;?X;;@;@;;?99( -qqqnqŠq222ŠXŸŸ?Y(ŸY??;qq?2;?;q?;?;;?@X;;;?Ÿ;9999;9@;;;;;9n?9 -nqnqqn2??Y??(X?YŸŸX?;?;?X?;Xq;;ŸX;nŸ@;Ÿ;;;;Ÿ9;;2;;@;;?;;9((9 -nnqqq2(?Ÿn?nŸŸŸ?ŸY22X;X?q;;;;;qqq;;q;Ÿ;;;q9X;;99;@;;9;;;?? -qnq(qqnqq???ŸŸX(?nŸqX(XXqq2;nqq;;;ŸŸqŸŸ;ŸŸ;Xq;q;9n;;??n?9 -((nn((qŸ(ŸnXnŸ(nŸXnŸn(XqqX2ŸŸ;qŸ(qq;(ŸŸqŸ(99Ÿq?;ŸŸ????? diff --git a/games/mario/puu.i01 b/games/mario/puu.i01 deleted file mode 100644 index 5a8ca34..0000000 --- a/games/mario/puu.i01 +++ /dev/null @@ -1,61 +0,0 @@ - 60 -(((((((((((((((X(((((X((T((((((((((((((( -(((((((((((((((X((T((X(X(((((((((((((((( -((((((((((((X(((((X(X((((((X(X(((((((((( -(((((((((((((XX((X(((((((((T(((((((((((( -((((((XX((((XX(XTT(X(TXXT(((((X((((((((( -((((((((((((((X((X(TXXTŸŸ(XXXX(((((((((( -((((((X(X((XXX(XXXTTT(XXXTX(X((((((((((( -(((((((XX((X(XX((T((XXXX(T((XXX(X(X((((( -((((X(X((XXXT((XX(XXX(TXXTŸXX(XŸ(X(((((( -((((XXX((((XT(X(XXXTTT(XXŸXŸŸŸŸX((X((((( -(((((X((((XT((XX((XT(XTX((XX(ŸX((((ŸŸ((( -(((X((X(((TX((XXXXTXX(TTŸ(((((ŸXŸ((ŸX((( -((((X(XX((X(XX(X(TX(((TTTŸXŸ(ŸXXŸ((((((( -((((X(XXXXXX((XXTTXX(TXTTT(T(XŸX(Ÿ(XX((( -(((((X(XX(TXXTTT(TXXT(X((X((((XŸ(X(XX((( -((((((X((X(XXXXXT(XXX(TT((T(X(((((((X((( -(((XX((XX(((X(TXXX(TX(TTTTXT(Ÿ(((Ÿ((Ÿ((( -(X(((X(((X(T((X(X(XX(T(XXTX(TŸX((ŸŸX(((( -((XX(X((((((XTX(TTTXTXT(XX((XX(Ÿ(ŸŸ(((X( -((((((XXXX((X(XXTTXT(XXŸTT(T(((XŸ((XX((( -(((XXXX(X(((X(T(TTTTXXXXTX(X(XXXX(X(Ÿ(X( -(((((((((X(XXXXX(XT(X(X((X(XXX(XXX((Ÿ((( -X(((((X((X(X(X((XTT(((((XXŸ(XXXXŸ(Ÿ((XŸ( -(((XXX(XXX((X(((XTXX(T(X((Ÿ(((ŸX(XXXX(X( -(((X(((TTX((TTXTT(XXXT(XŸŸ(XXX((XXŸ((X(Ÿ -((X((((XTX(((X(XX(XTT(XXXX((XX(XXŸ(X((ŸX -(((((TX(((X((T(XTTXXXTXX(XXŸX(X((Ÿ(((((( -((X(X(TXTX(XX((XTTXX(X(XŸXXŸTŸXXXX(Ÿ(Ÿ(( -((((X(X(X((TXTTT(((XŸŸX(XT((XXXXX(Ÿ(((Ÿ( -((((X((X((T((X(TXXXXXXXŸ(TŸX(XXŸŸ((ŸŸ((( -((((X(((TXTXX(XXX(((XXX(ŸXŸŸ(XŸŸ(ŸŸŸŸŸ(( -((XX((XXXX((XX(((XX(XXX(TŸŸŸXŸ(XXXŸŸ(((( -((((((X((XTXXTTTXXXXXXšššŸ(TXTŸ(Ÿ((((X(( -(((X(((XXXTTXTT(T(TX(ŸšŸšXŸŸŸ(X(ŸŸ(X(((( -((X(((((XXT(TTT(X((T(šXšXXTŸŸŸ(ŸŸŸ(((((( -(X(XXXX(X((X((TXTT(TTŸšXXŸŸŸXX(X(Ÿ(XX((( -((((X(((XXXXTXXX(((TŸšŸXXŸXŸXŸXŸ(ŸX((((( -(((((((XX(XXX(XXTX((ŸšššTŸŸ(ŸTXX(TX(Ÿ((( -(((((XXXXXXX((X(X(ŸŸŸšššŸXŸŸŸXT(X((X(((( -(((X(((XXXXX(XT(TT(XŸšššXŸŸŸTTŸXŸ((((Ÿ(( -((((((XX(XX((X(XTXŸŸšššX((XXXXTX(((Ÿ(((( -(((((X(XXXXXXXXXŸ(Ÿ(ŸšXš(XŸXTXX((X(((((( -(((((((X(XŸX(XX((TŸŸŸXXŸŸ(XXŸXXXX(((((Ÿ( -((((((XX(XX((XXTX(X(šššŸX(XXXX(XXX(X(((( -((((((((((XXXŸXššŸ(šššXŸ(X(TXXX((X(((((( -((((((((((X(ŸX(šŸšXŸššXX(X(XXX(X(((((((( -(((((((((XXX(XŸššŸXŸšXXŸŸX(((X(((((Ÿ(((( -(((((((((((X((XššŸŸŸŸšXXX(X(ŸX(ŸŸ((((((( -((((((((((XXXŸ(ššŸŸŸŸŸXŸŸ(X(((Ÿ(ŸŸ(((((( -(((((((((((((XXX(ššŸššXX(((((X(((((((((( -(((((((((((Ÿ(X((TšŸšXXŸŸ((((X(Ÿ((((((((( -((((((((((X(((XX(ššXššŸŸ(((((((((((((((( -((((((((((((((((ŸXšXXšX(Ÿ(((((Ÿ((((((((( -((((((((((((((X(XXšŸŸŸ((Ÿ((((((((((((((( -(((((((((((Ÿ(((XX(šššš(Ÿ(((((((((((((((( -((((((((((((((((((ššššX(((Ÿ((((((((((((( -((((((((((((((Ÿ(((šššš(((((((((((((((((( -((((((((((((((((((šššš(((((((((((((((((( -(((((((((((((((Ÿ((šššš(((((((((((((((((( -((((((((((((((((((ššš((((((((((((((((((( diff --git a/games/mario/smario.bas b/games/mario/smario.bas deleted file mode 100755 index b4e1432..0000000 --- a/games/mario/smario.bas +++ /dev/null @@ -1,607 +0,0 @@ -' Super Mario style game -' by Svjatoslav Agejenko 1999 - -DECLARE SUB CL () -DECLARE SUB esc () -DECLARE SUB aargh () -DECLARE SUB die () - - -DECLARE SUB dead () -DEFINT A-Z -DECLARE SUB level1 () -DECLARE SUB nait (zaz%) -DECLARE SUB wiew1 (a1%, b1%, c1%, d1%, a$) -DECLARE SUB level () -DECLARE SUB save (a$) -DECLARE SUB picedit () -DECLARE SUB wiew (a1%, b1%, c1%, d1%, a$) -DECLARE SUB intro () -DECLARE SUB inpur () -DECLARE SUB mousedriver (AX%, bx%, cx%, dx%, lb%, rb%, EX%) -DECLARE SUB tahed () - -DIM SHARED sj$ -DIM SHARED ekraan -DIM SHARED text$(1 TO 500) -DIM SHARED pikkus - - -DIM SHARED ruum(-5 TO 20, -5 TO 20) AS STRING -DIM SHARED ruum1(-5 TO 20, -5 TO 20) AS STRING -DIM SHARED maa(1 TO 11, 1 TO 10) AS STRING * 15 -DIM SHARED maa1(1 TO 10) AS INTEGER -DIM SHARED maailm AS INTEGER -DIM SHARED maailm1 AS INTEGER -DIM SHARED text5(1 TO 15) AS STRING * 15 -DIM SHARED pilv(2100) -DIM SHARED kast(202) -DIM SHARED tellis(202) -DIM SHARED poosas(1000) -DIM SHARED puu(2000) -DIM SHARED tuhi(202) -DIM SHARED munt(202) -DIM SHARED munt1(400) -DIM SHARED munt2(200) -DIM SHARED mari0(402) -DIM SHARED mari(202, 1 TO 5) -DIM SHARED koll(1 TO 230, 1 TO 10) -DIM SHARED koll1(1 TO 202, 1 TO 5) -DIM SHARED kolla(1 TO 10) -DIM SHARED kollb(1 TO 10) -DIM SHARED kollal(1 TO 10) -DIM SHARED kolled(1 TO 10) - -DIM SHARED rahaz(1 TO 5) -DIM SHARED number(100, 0 TO 11) -DIM SHARED elud - -DIM SHARED raha -DIM SHARED clra, clrb -DIM SHARED a1, b1 - -DIM SHARED prog -prog = 1 -SCREEN 13 -maailm = 1 -maailm1 = 1 -level1 -1 -ekraan = 13: zpqf = 4 - -FOR a = 0 TO 254 -OUT &H3C8, a -OUT &H3C9, 0 -OUT &H3C9, 0 -OUT &H3C9, 0 -NEXT a -OUT &H3C8, 255 -OUT &H3C9, 60 -OUT &H3C9, 60 -OUT &H3C9, 60 -LOCATE 20, 3 -COLOR 255 -PRINT "LOADING " - - -CL -wiew 0, 0, 1, 1, "pilv" -GET (1, 1)-(109, 35), pilv -CL -wiew 0, 0, 1, 1, "kast" -GET (1, 2)-(20, 21), kast -CL -wiew 0, 0, 1, 1, "tellis" -GET (1, 2)-(20, 21), tellis -CL -GET (1, 2)-(20, 21), tuhi -wiew 0, 0, 1, 1, "mario1" -GET (1, 2)-(20, 21), mari(202, 1) -CL -wiew1 0, 0, 1, 1, "mario1" -GET (3, 2)-(22, 21), mari(202, 2) -CL -wiew 0, 0, 1, 1, "mario2" -GET (1, 2)-(20, 21), mari(202, 3) -CL -wiew1 0, 0, 1, 1, "mario2" -GET (3, 2)-(22, 21), mari(202, 4) -CL -wiew 0, 0, 1, 1, "poosas" -GET (1, 1)-(60, 21), poosas -CL -wiew 0, 0, 1, 1, "puu" -GET (1, 1)-(40, 60), puu -CL -wiew 0, 0, 1, 1, "munt" -GET (1, 1)-(10, 11), munt -CL -wiew 0, 0, 1, 1, "munt1" -GET (0, 2)-(20, 11), munt1 -CL -wiew 0, 0, 1, 1, "munt2" -GET (0, 2)-(20, 11), munt2 - -CL -wiew 0, 0, 1, 1, "0" -GET (0, 2)-(10, 11), number(100, 0) -CL -wiew 0, 0, 1, 1, "1" -GET (0, 2)-(10, 11), number(100, 1) -CL -wiew 0, 0, 1, 1, "2" -GET (0, 2)-(10, 11), number(100, 2) -CL -wiew 0, 0, 1, 1, "3" -GET (0, 2)-(10, 11), number(100, 3) -CL -wiew 0, 0, 1, 1, "4" -GET (0, 2)-(10, 11), number(100, 4) -CL -wiew 0, 0, 1, 1, "5" -GET (0, 2)-(10, 11), number(100, 5) -CL -wiew 0, 0, 1, 1, "6" -GET (0, 2)-(10, 11), number(100, 6) -CL -wiew 0, 0, 1, 1, "7" -GET (0, 2)-(10, 11), number(100, 7) -CL -wiew 0, 0, 1, 1, "8" -GET (0, 2)-(10, 11), number(100, 8) -CL -GET (0, 2)-(10, 11), number(100, 10) -wiew 0, 0, 1, 1, "9" -GET (0, 2)-(10, 11), number(100, 9) - -CL -wiew 0, 0, 1, 1, "tigu" -GET (1, 2)-(20, 21), koll1(202, 1) -CL -wiew 0, 0, 1, 1, "tigu1" -GET (3, 2)-(22, 21), koll1(202, 2) -CL -wiew1 0, 0, 1, 1, "tigu" -GET (1, 2)-(20, 21), koll1(202, 3) -CL -wiew1 0, 0, 1, 1, "tigu1" -GET (3, 2)-(22, 21), koll1(202, 4) - -SCREEN 0 -SCREEN 13 -level -a1 = 50 -b1 = 50 -edasi = 0 -liig = 1 -ov1 = 1 -ov2 = 2 -raha = 0 -elud = 3 -z = 1 -nait 0 -12 -IF b1 > 0 THEN GET (a1, b1)-(a1 + 20, b1 + 20), mari0: PUT (a1, b1), mari(202, liig), OR - -FOR ox = 1 TO 10 -IF kollb(ox) < 170 AND z = 1 THEN - kollb(ox) = kollb(ox) + kollal(ox) - kolla(ox) = kolla(ox) + kolled(ox) - GET (kolla(ox), kollb(ox))-(kolla(ox) + 20, kollb(ox) + 20), koll(202, ox) - IF kolled(ox) <= 0 THEN kolll = 1 ELSE kolll = 3 - IF zz > 2 THEN kolll = kolll + 1: IF zz = 3 THEN kollal(ox) = kollal(ox) + 1 - PUT (kolla(ox), kollb(ox)), koll1(202, kolll) -END IF -NEXT ox -SOUND 0, .5 -z = z + 1 -IF z > 3 THEN z = 1 -IF z = 1 THEN -zz = zz + 1 -IF zz > 5 THEN zz = 0 -alla = alla + 1 -IF edasi > 0 THEN edasi = edasi - 1: zy = zy + 1 -IF edasi < 0 THEN edasi = edasi + 1: zy = zy + 1 -IF zy > 2 THEN zy = 1 -IF zy = 2 THEN ov1 = 1: ov2 = 2 -IF zy = 1 THEN ov1 = 3: ov2 = 4 - -FOR ox = 1 TO 10 -IF kollb(ox) < 170 THEN -IF ruum((kolla(ox) + 20) / 20, (kollb(ox) + 9) / 20) = "m" THEN kollal(ox) = -1 -IF kolla(ox) > 270 THEN kolled(ox) = -1 -IF kolla(ox) < 2 THEN kolled(ox) = 1 -IF ruum((kolla(ox) + 28) / 20, kollb(ox) / 20) = "m" THEN kolled(ox) = -1 -IF ruum((kolla(ox) + 10) / 20, kollb(ox) / 20) = "m" THEN kolled(ox) = 1 -IF kolla(ox) - 20 < a1 AND kolla(ox) + 20 > a1 AND kollb(ox) - 5 < b1 AND kollb(ox) + 20 > b1 THEN aargh: dead: GOTO 12 -END IF -NEXT ox -END IF - -IF ruum((a1 + 15) / 20, (b1 + 9) / 20) = "m" THEN alla = -1: ao = 0 -IF ruum((a1 + 25) / 20, (b1 + 9) / 20) = "m" THEN alla = -1: ao = 0 -IF ruum((a1 + 20) / 20, (b1 - 8) / 20) = "m" THEN alla = 1: ao = 20 -IF ruum((a1 + 28) / 20, (b1) / 20) = "m" THEN edasi = -1: qa = 1 -IF ruum((a1 + 10) / 20, (b1) / 20) = "m" THEN edasi = 1: qa = 1 - -IF ruum1((a1 + 20) / 20, (b1 - 8) / 20) = "o" THEN alla = 1: ruum1((a1 + 20) / 20, (b1 - 8) / 20) = "": ruum((a1 + 20) / 20, (b1 - 8) / 20) = "2": clra = ((a1 + 20) / 20) - 1: clrb = (b1 - 8) / 20: clr = 1: SOUND 50, .5 -IF ruum((a1 + 20) / 20, (b1) / 20) = "1" THEN ruum((a1 + 20) / 20, (b1) / 20) = "2": clra = ((a1 + 21) / 20) - 1: clrb = (b1) / 20: clr = 1: raha = raha + 1: nait 1: SOUND 1000, 1: SOUND 2000, 1 -ao = ao + 1 -a$ = INKEY$ -IF a$ = CHR$(0) + "H" AND ao < 10 THEN alla = -6 -IF a$ = CHR$(0) + "M" AND qa = 0 THEN edasi = edasi + 3: liig = ov1 -IF a$ = CHR$(0) + "K" AND qa = 0 THEN edasi = edasi - 3: liig = ov2 -IF a$ = CHR$(27) THEN esc -IF a$ = "+" AND qa = 0 THEN maailm = maailm + 1: level: GOTO 12 -IF qa <> 0 THEN qa = 0 -IF edasi > 5 THEN edasi = 3 -IF edasi < -5 THEN edasi = -3 -IF alla > 3 THEN alla = 3 - -IF b1 > 0 THEN PUT (a1, b1), mari0, PSET - -IF z = 1 THEN -FOR ox = 10 TO 1 STEP -1 -IF kollb(ox) < 170 THEN PUT (kolla(ox), kollb(ox)), koll(202, ox), PSET -NEXT ox -END IF - - -b1 = b1 + alla -a1 = a1 + edasi -IF clr > 0 THEN clr = 0: PUT (clra * 20, clrb * 20), tuhi, PSET -IF a1 > 280 THEN maailm = maailm + 1: level: a1 = 3 -IF a1 < 2 THEN maailm = maailm - 1: level: a1 = 279 -IF b1 > 170 THEN FOR a = 3000 TO 500 STEP -100: SOUND a, .3: NEXT a: dead -GOTO 12 - -SUB aargh -a = 1700 -b = 1900 -FOR c = 1 TO 50 -a = a + 3 -b = b - 5 -SOUND a, .2 -SOUND b, .2 -NEXT c -END SUB - -SUB CL -LINE (0, 0)-(319, 150), 0, BF -LOCATE 20, 10 + prog -prog = prog + 1 -PRINT "." -END SUB - -SUB dead -IF maailm > 1 THEN maailm = maailm - 1 - -level -a1 = 20 -b1 = 100 -elud = elud - 1 -nait 0 -END SUB - -SUB die -DIM diep(1 TO 2000) -GET (0, 0)-(150, 20), diep -LOCATE 1, 1 -PRINT "You are " -LOCATE 2, 1 -PRINT " killed! " - -FOR x = 0 TO 80 -FOR y = 0 TO 16 -IF POINT(x, y) > 0 THEN LINE (x * 5, y * 5 + 50)-(x * 5 + 4, y * 5 + 54), 4, BF -NEXT y -NEXT x -PUT (0, 0), diep, PSET - -FOR a = 1 TO 100 -x = RND * 290 + 4 -y = RND * 170 + 4 -GET (x, y)-(x + 20, y + 20), diep -x = x + RND * 4 - 2 -y = y + RND * 4 - 1 -PUT (x, y), diep, PSET -NEXT a -FOR a = 1 TO 50 -a$ = INKEY$ -NEXT a -a$ = INPUT$(1) - -FOR a = 0 TO 100 -SOUND 0, .05 -LINE (0, a)-(320, a), 4 -LINE (0, 200 - a)-(320, 200 - a), 4 -NEXT a -FOR a = 32 TO 0 STEP -1 -SOUND 0, .5 -OUT &H3C8, 4 -OUT &H3C9, a -OUT &H3C9, 0 -OUT &H3C9, 0 -NEXT a -END - -END SUB - -SUB esc -FOR b = 0 TO 20 -FOR a = b TO 200 STEP 20 -LINE (0, a)-(320, a), 0 -NEXT a -SOUND 0, .5 -NEXT b -SYSTEM - -END SUB - -SUB inpur -sj$ = "" -WHILE sj$ = "" -sj$ = INKEY$ -WEND -END SUB - -SUB intro -CLS -wiew 2, 2, 10, 1, "win.i01" -END SUB - -SUB level -IF maailm > 10 THEN -CLS -PRINT "Mission complete!" -PRINT "Game over" -END -END IF - -FOR a = 1 TO 10 -text5(a + 1) = maa(a, maailm) -NEXT a - -FOR a = 1 TO 10 -FOR b = 1 TO 15 -IF ruum(b, a - 2) = "2" THEN MID$(maa(a, maailm1), b) = " " -NEXT b -NEXT a -maailm1 = maailm - -FOR a = -3 TO 20 -FOR b = -3 TO 20 -ruum(a, b) = "" -ruum1(a, b) = "" -NEXT b -NEXT a - -FOR a = 1 TO 10 -kollb(a) = 1000 -kolled(a) = 1 -kollal(a) = 0 -NEXT a - -CLS -PAINT (1, 1), maa1(maailm) -GET (1, 2)-(20, 21), tuhi -FOR a = 2 TO 10 -FOR b = 1 TO 15 -c$ = RIGHT$(LEFT$(text5(a), b), 1) -IF c$ = "-" THEN PUT ((b - 1) * 20, (a - 2) * 20), pilv, OR -IF c$ = "." THEN PUT ((b - 1) * 20, (a - 2) * 20), poosas, OR -IF c$ = "+" THEN PUT ((b - 1) * 20, (a - 2) * 20), puu, OR -IF c$ = "$" THEN PUT ((b - 1) * 20, (a - 2) * 20), munt, OR: ruum(b, a - 2) = "1" -IF c$ = "m" THEN PUT ((b - 1) * 20, (a - 2) * 20), kast, PSET: ruum(b, a - 2) = "m" -IF c$ = "o" THEN PUT ((b - 1) * 20, (a - 2) * 20), tellis, PSET: ruum(b, a - 2) = "m": ruum1(b, a - 2) = "o" -IF c$ = " " THEN ruum(b, a) = " " - -IF c$ = "1" THEN kolla(1) = (b - 1) * 20: kollb(1) = (a - 2) * 20: GET (kolla(1), kollb(1))-(kolla(1) + 20, kollb(1) + 20), koll(202, 1) -IF c$ = "2" THEN kolla(2) = (b - 1) * 20: kollb(2) = (a - 2) * 20: GET (kolla(2), kollb(2))-(kolla(2) + 20, kollb(2) + 20), koll(202, 2) -IF c$ = "3" THEN kolla(3) = (b - 1) * 20: kollb(3) = (a - 2) * 20: GET (kolla(3), kollb(3))-(kolla(3) + 20, kollb(3) + 20), koll(202, 3) -IF c$ = "4" THEN kolla(4) = (b - 1) * 20: kollb(4) = (a - 2) * 20: GET (kolla(4), kollb(4))-(kolla(4) + 20, kollb(4) + 20), koll(202, 4) -IF c$ = "5" THEN kolla(5) = (b - 1) * 20: kollb(5) = (a - 2) * 20: GET (kolla(5), kollb(5))-(kolla(5) + 20, kollb(5) + 20), koll(202, 5) -IF c$ = "6" THEN kolla(6) = (b - 1) * 20: kollb(6) = (a - 2) * 20: GET (kolla(6), kollb(6))-(kolla(6) + 20, kollb(6) + 20), koll(202, 6) -IF c$ = "7" THEN kolla(7) = (b - 1) * 20: kollb(7) = (a - 2) * 20: GET (kolla(7), kollb(7))-(kolla(7) + 20, kollb(7) + 20), koll(202, 7) -IF c$ = "8" THEN kolla(8) = (b - 1) * 20: kollb(8) = (a - 2) * 20: GET (kolla(8), kollb(8))-(kolla(8) + 20, kollb(8) + 20), koll(202, 8) -IF c$ = "9" THEN kolla(9) = (b - 1) * 20: kollb(9) = (a - 2) * 20: GET (kolla(9), kollb(9))-(kolla(9) + 20, kollb(9) + 20), koll(202, 9) -IF c$ = "0" THEN kolla(10) = (b - 1) * 20: kollb(10) = (a - 2) * 20: GET (kolla(10), kollb(10))-(kolla(10) + 20, kollb(10) + 20), koll(202, 10) -NEXT b -NEXT a -nait 0 -END SUB - -SUB level1 -maa1(1) = 1 -maa(1, 1) = "m " -maa(2, 1) = "m - - " -maa(3, 1) = "m " -maa(4, 1) = "m $ $ $ $ " -maa(5, 1) = "m $ $ $ $ " -maa(6, 1) = "m + momom " -maa(7, 1) = "m " -maa(8, 1) = "m . . " -maa(9, 1) = "mmmmmmmmmmmmmmm" - -maa1(2) = 1 -maa(1, 2) = " $2- " -maa(2, 2) = " o$ " -maa(3, 2) = " o$ - " -maa(4, 2) = " o$ 3 " -maa(5, 2) = " o o1 " -maa(6, 2) = " + mmom" -maa(7, 2) = " omom m " -maa(8, 2) = " $ $ $ $ m " -maa(9, 2) = "mmmm mm" - -maa1(3) = 1 -maa(1, 3) = " mmmmm" -maa(2, 3) = "- $ $ mmmmm" -maa(3, 3) = " $ $ $ mmmmm" -maa(4, 3) = " $ $ mmmmm" -maa(5, 3) = " . mmmmm" -maa(6, 3) = "mmmm 1 mmmm" -maa(7, 3) = " mm m" -maa(8, 3) = " mmm " -maa(9, 3) = "mmm mmmmm" - -maa1(4) = 0 -maa(1, 4) = "mmmmmmmmmmmmmmm" -maa(2, 4) = "m$ $ $ $ $ " -maa(3, 4) = "mm $m $4$ $ $ " -maa(4, 4) = "m$m mmmmmommmm" -maa(5, 4) = "m$ 3 2 m" -maa(6, 4) = "m1 ooooooomo m" -maa(7, 4) = "mooo$$$$$$$m m" -maa(8, 4) = " m" -maa(9, 4) = "mmmmmmmmmmmmmmm" - -maa1(5) = 0 -maa(1, 5) = "mmmmmmmmmmmmmmm" -maa(2, 5) = " m " -maa(3, 5) = "m m 1 3 mmmm" -maa(4, 5) = "m m mmm o m" -maa(5, 5) = "m m4567892o m" -maa(6, 5) = "m mooooommo m" -maa(7, 5) = "m mm" -maa(8, 5) = "m mmm" -maa(9, 5) = "mmmm mmm mmmm" - -maa1(6) = 1 -maa(1, 6) = "m " -maa(2, 6) = " - $ - " -maa(3, 6) = "m $ $ " -maa(4, 6) = "m o o $ " -maa(5, 6) = "m o o " -maa(6, 6) = "m + " -maa(7, 6) = "m " -maa(8, 6) = "mm 1 m 2 m " -maa(9, 6) = "mmmmmmmmmmmmmmm" - -maa1(7) = 1 -maa(1, 7) = " - " -maa(2, 7) = " - " -maa(3, 7) = " 1m" -maa(4, 7) = " 2mm" -maa(5, 7) = " 3mmm" -maa(6, 7) = " o + 4mmmm" -maa(7, 7) = " ooo 5mmmmm" -maa(8, 7) = " 6mmmmmm" -maa(9, 7) = "mmmmmmmmmmmmmmm" - -maa1(8) = 1 -maa(1, 8) = " mmmmmmmmmmmmm" -maa(2, 8) = " m123m456m789 " -maa(3, 8) = " mm$mmm$mmm$mm" -maa(4, 8) = " mm$$$$$$$$$$m" -maa(5, 8) = " mmom$mmm$mmmm" -maa(6, 8) = " o$$$$$$$$$ o" -maa(7, 8) = " omooooooo o" -maa(8, 8) = " - m " -maa(9, 8) = "mmmmmmmmmmmmmmm" - -maa1(9) = 0 -maa(1, 9) = " 12345" -maa(2, 9) = " 6789 " -maa(3, 9) = " mm" -maa(4, 9) = " m " -maa(5, 9) = " m " -maa(6, 9) = " m " -maa(7, 9) = " m " -maa(8, 9) = " m " -maa(9, 9) = "mm " - -maa1(10) = 1 -maa(1, 10) = "m " -maa(2, 10) = " - " -maa(3, 10) = "m - " -maa(4, 10) = "m + " -maa(5, 10) = "m " -maa(6, 10) = "m + 2 " -maa(7, 10) = "m mmm " -maa(8, 10) = "m . 1 " -maa(9, 10) = "mmmmmmmmmmm mm" -END SUB - -SUB load (a$) -OPEN a$ FOR INPUT AS #2 -INPUT #2, pikkus -FOR a = 1 TO pikkus -LINE INPUT #2, text$(a) -NEXT a -CLOSE -END SUB - -SUB nait (zaz) -IF elud < 0 THEN die -PUT (0, 180), munt1, PSET -rahaz(1) = rahaz(1) + zaz -FOR b = 1 TO 3 -IF rahaz(1) > 9 THEN rahaz(1) = rahaz(1) - 10: rahaz(2) = rahaz(2) + 1 -IF rahaz(2) > 9 THEN rahaz(1) = 0: rahaz(2) = 0: elud = elud + 1 -NEXT b -LOCATE 1, 1 -r = 3 -FOR a = 1 TO 2 -r = r - 1 -PUT ((a * 11) + 10, 180), number(100, rahaz(r)), PSET -NEXT a -IF elud > 10 THEN elud = 10 -PUT (43, 180), number(100, 10), PSET -PUT (53, 180), munt2, PSET -PUT (73, 180), number(100, elud), PSET -END SUB - -SUB save (a$) -OPEN a$ FOR OUTPUT AS #2 -PRINT #2, pikkus -FOR a = 1 TO pikkus -PRINT #2, text$(a) -NEXT a -CLOSE -END SUB - -DEFSNG A-Z -SUB tahed -CLS -t = 13 -FOR a = 1 TO 80 STEP 8 -FOR b = 1 TO 20 -t = t + 1 -LOCATE b, a -PRINT CHR$(t); t -NEXT b -NEXT a - -END SUB - -DEFINT A-Z -SUB wiew (a1, b1, c1, d1, a$) -laius1 = c1 - a1 -pikkus1 = d1 - b1 -OPEN a$ + ".i01" FOR INPUT AS #1 -INPUT #1, pikkus -FOR a = 1 TO pikkus -LINE INPUT #1, z$ -FOR b = 1 TO LEN(z$) -LINE (a1 + (b * c1), (b1 + (a * d1)) + 1)-(a1 + ((b + 1) * c1) - 1, b1 + ((a + 1) * d1)), ASC(RIGHT$(LEFT$(z$, b), 1)) - 40, BF -NEXT b -NEXT a -CLOSE -END SUB - -SUB wiew1 (a1, b1, c1, d1, a$) -a1 = a1 * 8 -b1 = b1 * 8 -laius1 = c1 - a1 -pikkus1 = d1 - b1 -OPEN a$ + ".i01" FOR INPUT AS #1 -INPUT #1, pikkus -FOR a = 1 TO pikkus -LINE INPUT #1, z$ -FOR b = LEN(z$) TO 1 STEP -1 -LINE (a1 + (b * c1), (b1 + (a * d1)) + 1)-(a1 + ((b + 1) * c1), b1 + ((a + 1) * d1)), ASC(LEFT$(RIGHT$(z$, b), 1)) - 40, BF -NEXT b -NEXT a -CLOSE -END SUB diff --git a/games/mario/sshot.png b/games/mario/sshot.png deleted file mode 100644 index b0f541e..0000000 Binary files a/games/mario/sshot.png and /dev/null differ diff --git a/games/mario/tellis.i01 b/games/mario/tellis.i01 deleted file mode 100755 index f4f610b..0000000 --- a/games/mario/tellis.i01 +++ /dev/null @@ -1,21 +0,0 @@ - 20 -00000000000000000000 -0@@//@/////////////0 -0@//////////@//////0 -0//@///////////////0 -0@//@//////////////0 -00000000000000000000 -/////////00@/@/@//// -/@///////00@//////// -@@///////00//@////// -@////////00///////// -00000000000000000000 -0@@////////////////0 -0/////@///@////////0 -0@///////////@/////0 -0//@/////////@@////0 -00000000000000000000 -/////////00@@/////// -/////////00@//////// -/////////00///////// -/////////00///////// diff --git a/games/mario/tigu.i01 b/games/mario/tigu.i01 deleted file mode 100755 index d424018..0000000 --- a/games/mario/tigu.i01 +++ /dev/null @@ -1,21 +0,0 @@ - 20 -(((((((((((((((((((( -(((((((((((((((((((( -<((((((((((((((((((( -?((((((((<(((((((((( -??((((((??(((((((((( -(?(((((??((((((((((( -(??((???(((((((((((( -((????(((((((((((((( -(((??((((((((((((((( -((<<<((((((((((((((( -<= +DEE@@@@@@@@@@@@@@?>= +DEE@???????????D@?>= +DEE@??CCCCCCCCCD@?>= +DEE@?CCCCCCCCCCD@?>= +DEE@?CCCCCCCCCCD@?>= +DEE@?CCCCCCCCCCD@?>= +DEE@?CCCCCCCCCCD@?>= +DEE@?CCCCCCCCCCD@?>= +DEE@?CCCCCCCCCCD@?>= +DEE@?CCCCCCCCCCD@?>= +DEE@?CCCCCCCCCCD@?>= +DEE@?CCCCCCCCCCD@?>= +DEE@DDDDDDDDDDDD@?>= +DEE@@@@@@@@@@@@@@?>= +DE=??????????????(>= +D(>>>>>>>>>>>>>>>>(= +(==================( diff --git a/games/platform/mario1.i01 b/games/platform/mario1.i01 new file mode 100644 index 0000000..d24dc33 --- /dev/null +++ b/games/platform/mario1.i01 @@ -0,0 +1,21 @@ + 20 +(RRRRRQQQQ(((((((((( +RRQQQQQQQQQ(RRRR(((( +RQQQQQQQQQQRRQQQQ((( +RQQQQQQQQQQQQQQQ(((( +QQQQQQQQQQQQQ((((((( +QQQQQQQQQ(((((((((( +(QQQQQQQ(((((( +((((((( +(((((((( +((((((((((((( +((((((((((((((( +((((((JJJJJ((((((((( +((((((JJJJJJ(((((((( +(((((JJJJJIJ(((((((( +(((((JIIIIJJ(((((((( +((((IIIIIIIJ(((((((( +((((IIIIIIJJJ((((((( +((XXXIII(JJJJXXX(((( +(XXXXXXX((JXXXXXXX(( +((XXXXX((((XXXXXX((( diff --git a/games/platform/mario2.i01 b/games/platform/mario2.i01 new file mode 100644 index 0000000..0a0a944 --- /dev/null +++ b/games/platform/mario2.i01 @@ -0,0 +1,21 @@ + 20 +(RRRRQQQQ((((((((((( +RQQQQQQQQQ(((((((((( +QQQQQQQQQQRRRRR((((( +QQQQQQQQQQQQQQQQ(((( +QQQQQQQQQQQQQQQ((((( +QQQQQQQQ((((((((((( +QQQQQQQ((((((( +((((((( +(((((((( +((((((((((((( +((((((((((((((( +(((((JJJJJ(((((((((( +(((((JJJJJJ((((((((( +((((JJJJJIJ((((((((( +((((JIIIIJJ((((((((( +(((((IIIIIJ((((((((( +(((((IIIII(((((((((( +((((XXXXXXXX(((((((( +(((XXXXXXXXXX((((((( +((((XXXXXXXX(((((((( diff --git a/games/platform/munt.i01 b/games/platform/munt.i01 new file mode 100644 index 0000000..4b3089c --- /dev/null +++ b/games/platform/munt.i01 @@ -0,0 +1,11 @@ + 10 +(((TTTT((( +(TTTSSSSR( +TTSSSSSSSR +TSSS\\SSSR +TSSS\]SSSR +TSSS\]SSSR +TSSS\]SSSR +TSSS\]SSSR +(SRSSSSRR( +(((RRRR((( diff --git a/games/platform/munt1.i01 b/games/platform/munt1.i01 new file mode 100644 index 0000000..6b2db3b --- /dev/null +++ b/games/platform/munt1.i01 @@ -0,0 +1,11 @@ + 10 +(((TTTT((((((((((((( +(TTTSSSSR((FF((((FC( +TTSSSSSSSR(FCC((FC@( +TSSS\\SSSR((CCCFC@(( +TSSS\]SSSR(((CCC@((( +TSSS\]SSSR(((FCC@((( +TSSS\]SSSR((FCC@C@(( +TSSS\]SSSR(FC@((@C@( +(SRSSSSRR((C@((((@@( +(((RRRR((((((((((((( diff --git a/games/platform/munt2.i01 b/games/platform/munt2.i01 new file mode 100644 index 0000000..f064124 --- /dev/null +++ b/games/platform/munt2.i01 @@ -0,0 +1,11 @@ + 10 +((QQQQ(((((((((((((( +(QQQQQQ((((FF((((FC( +((jjjj(((((FCC((FC@( +((jjjj((((((CCCFC@(( +(c(jj(c((((((CCC@((( +c]]]]]]c(((((FCC@((( +((]]]]((((((FCC@C@(( +(]]]]]]((((FC@((@C@( +XX]((]XX(((C@((((@@( +XXX((XXX(((((((((((( diff --git a/games/platform/pilv.i01 b/games/platform/pilv.i01 new file mode 100644 index 0000000..7ec44e0 --- /dev/null +++ b/games/platform/pilv.i01 @@ -0,0 +1,31 @@ + 30 +(((((((((((((((((((((((((\\(\((((((((((((((((((((((((](((((((((]((((]((((]]((((((((((((((((((((((((( +((((((((((((((((((((((((\((((((((\\(((((((((\(((((((((]]((\(((\(((\((]](]](((((((((((((((((((((((((( +((((((((((((((((\((\((\(\]\\((\(\(((((((]((((((((](((\((\]((((\(]\(\(]]]]]]((((((((((((((((((((((((( +(((((((((((((((((((]t\\(]]]\\\](](((\((]((](](((((((]((((\(\]](\((]\(((((\\(](](\]\(((((((((]((((((( +((((((((((t((wt\\\t](tt\(]\\((\(](\\t\t((((]\t(](((\((\]\](\(\]](]]((]\(]](((]`\`\(\\]((((((((((( +(((((t((((((ttttttt(t\\(\\((\(]]]\t((\\]\]((((\(](\((\\(]\(](`\\`]](\]\\]\(t\\\`\\t(t\]((]((((((((( +((((t(tt(t((tttttt]t\\(](\\(t(t\\ttt\]tt]t\\(]\tt]](\((t]\](\t]((t]\t(]`\t(]]tt\\(tt\\]](](((((((( +((((((\(ttt(ttt\tt]tt\\\\t\]\tt\(\t]((\\\tt\((]](\\t]tt(\\\(tt(t\(`]\`]]\\\\\(\`tt``^```(`(((((( +((((tt(tttttttttt\\t]\tt]ttt(]\\\\\t\\t(\\((\\t\]t\\]]`\\\](\`]\\(\\]\`(t\\\t\\tt\\^(``]\(\]((]`(( +(((t\(t\ttt\]ttt\tt]]]\\t]ttt]]t\t\\]ttt\]](tt\(]t\\\]t\t`t\\]\\tt]\^\t]\\\\\tt\\`t\t`^`(\`\]]](( +(((((tt]]t\\twt\\\t\]tt]]t(]\t\tt]\tttt\tt]\((t(\\\t\`]t(\]t\\`\t\\(\\\t\t]^\\t\\\tt\t\\^```(`(](( +((t(](\ttttwttw]t\\tt(^t\(t]\]tt\(\t]t\\t(]]\]ttt\\tttt\]\^]\tt\]``\t`(\tt\`^\\\\\ttt\tt\\`]\\^((\(( +]t(]]]]tt]t\t^t\tt\t(\](tt]\tt]\t\\\\\]t\tt`t\\`^]\]t\]]]tt\`(`(]`\tt\\`\t\t]\\tt\ttt^t\\`\`]``(\](( +(]t]t\\t\\t\^t\^t\](\]]\]]t\(ttttt\]t\t\`\t\t\t\\\\`^t`(t(]]t]t`]]t]\\\^tt\]`\t\\t\\``t\\`\``\]t``\( +(]t(tt\\\\\\\\\]^t]]t^t]tt\t^\\]]]]`t\]\t`]\t^```\^^]`\tt^t]`\`]^^\\\\\\\\]^(`\^`\\\\\\^``\```]`\`(] +(](t^^]\\]\\\]t^\]]^]]\^^\]]t\`\^^``]t`^\\`\\`^`]\^\`t]\^^^`^]\\^^^\\\\\]]\`\^````\\]^`\`^`\```]``]( +]]]]](t]`t]^\]^]]^]^]^^]^^]`\^\]`]\]`\\\\``]`\`t\\`^]```^`]^^^^^]\^^\t\``]`\\``]\\^\^^^\\\```````]]] +((^((]](`]]`]^^`^^]^`]]\]``\\(\(\`]``\```]`^^^````^````t(]`^t]^^t`\\]^^\^\^`^\^``\]\\````^`\`]```(]( +](^]((]\`(``]]]^``^t]^^]]t]``t`]``(`````\``\``\\`\```t`^t^(^^^^^]]t^`(\\^\^`(`^^^`\^```\````\]````]( +]((^^]]`]^]^\`]``t^```````\`^`\`\``\^t```````]`````]^`^]]^^t^(^(^]``^```\\\`^]]]^^^^]``^````t]``]``( +(((^((]``^^`^^``^^^^^^]]t`t````^`^`^`^\^`]````````````^`````^^^`]`]^^^^^((]``^^`^]]^^`````]``^^(t`(] +(]^(^(`(`^]]`]`^^^`]^```^^`````t`\^`^`````````^`(`^t^`t^`^^^(```t(`^]]^^^^```^]`]``]^`(```(^(`tttt(( +^(^(^(((t](((`]]`^`t``t```^``^``````^````(^`(````^^^``^`(```^]``]^(]`^```]````````(]^``]t]`^`](^(`(( +(((tt^(^((((]`^`^```t````^```^^^]``````](`tt``]``^```(^^`]``(``t````t```(``]`^]^t`]^`(`^^^^``tt]`((( +(((((((]^](((``]`(`^`]^^^``]`]]((```(`(^```]((]^`^`````````(`((t``^`````]`^(^^```(`^`](`t]^((^(`(((( +(((((((((]((t(^`(`^``((``(^(``^(((((((((``((^``````^(^`t`(`^t``````^]((^^^`](^```((`]((`(]^`((^](((( +(((((((((((t(^``(`(t^(^(`^(^^^((^(`((^(`]((((](((````^(`((((``((``((``(^`]`(]]]]``]``]````(`(``(`((( +(((((((((((((^(^((((((^^(((^(((^(((^^`((`((]`((((^`((`(^``((```^`((((^(((t`(^`((`^(`(]`^`(((`^(((((( +((((((((((((((((((((^(((^(((((^(((((((((((((((((^(`^^`^(((^((^((``(((`((((`](((((((^(``(((`((((((((( +(((((((((((((((((((^(((((((^((^(((((((((((((((((((((^(`(^^(`((((((^^(^((`((((](`(((((((((((((((((((( diff --git a/games/platform/platform.bas b/games/platform/platform.bas new file mode 100755 index 0000000..b4e1432 --- /dev/null +++ b/games/platform/platform.bas @@ -0,0 +1,607 @@ +' Super Mario style game +' by Svjatoslav Agejenko 1999 + +DECLARE SUB CL () +DECLARE SUB esc () +DECLARE SUB aargh () +DECLARE SUB die () + + +DECLARE SUB dead () +DEFINT A-Z +DECLARE SUB level1 () +DECLARE SUB nait (zaz%) +DECLARE SUB wiew1 (a1%, b1%, c1%, d1%, a$) +DECLARE SUB level () +DECLARE SUB save (a$) +DECLARE SUB picedit () +DECLARE SUB wiew (a1%, b1%, c1%, d1%, a$) +DECLARE SUB intro () +DECLARE SUB inpur () +DECLARE SUB mousedriver (AX%, bx%, cx%, dx%, lb%, rb%, EX%) +DECLARE SUB tahed () + +DIM SHARED sj$ +DIM SHARED ekraan +DIM SHARED text$(1 TO 500) +DIM SHARED pikkus + + +DIM SHARED ruum(-5 TO 20, -5 TO 20) AS STRING +DIM SHARED ruum1(-5 TO 20, -5 TO 20) AS STRING +DIM SHARED maa(1 TO 11, 1 TO 10) AS STRING * 15 +DIM SHARED maa1(1 TO 10) AS INTEGER +DIM SHARED maailm AS INTEGER +DIM SHARED maailm1 AS INTEGER +DIM SHARED text5(1 TO 15) AS STRING * 15 +DIM SHARED pilv(2100) +DIM SHARED kast(202) +DIM SHARED tellis(202) +DIM SHARED poosas(1000) +DIM SHARED puu(2000) +DIM SHARED tuhi(202) +DIM SHARED munt(202) +DIM SHARED munt1(400) +DIM SHARED munt2(200) +DIM SHARED mari0(402) +DIM SHARED mari(202, 1 TO 5) +DIM SHARED koll(1 TO 230, 1 TO 10) +DIM SHARED koll1(1 TO 202, 1 TO 5) +DIM SHARED kolla(1 TO 10) +DIM SHARED kollb(1 TO 10) +DIM SHARED kollal(1 TO 10) +DIM SHARED kolled(1 TO 10) + +DIM SHARED rahaz(1 TO 5) +DIM SHARED number(100, 0 TO 11) +DIM SHARED elud + +DIM SHARED raha +DIM SHARED clra, clrb +DIM SHARED a1, b1 + +DIM SHARED prog +prog = 1 +SCREEN 13 +maailm = 1 +maailm1 = 1 +level1 +1 +ekraan = 13: zpqf = 4 + +FOR a = 0 TO 254 +OUT &H3C8, a +OUT &H3C9, 0 +OUT &H3C9, 0 +OUT &H3C9, 0 +NEXT a +OUT &H3C8, 255 +OUT &H3C9, 60 +OUT &H3C9, 60 +OUT &H3C9, 60 +LOCATE 20, 3 +COLOR 255 +PRINT "LOADING " + + +CL +wiew 0, 0, 1, 1, "pilv" +GET (1, 1)-(109, 35), pilv +CL +wiew 0, 0, 1, 1, "kast" +GET (1, 2)-(20, 21), kast +CL +wiew 0, 0, 1, 1, "tellis" +GET (1, 2)-(20, 21), tellis +CL +GET (1, 2)-(20, 21), tuhi +wiew 0, 0, 1, 1, "mario1" +GET (1, 2)-(20, 21), mari(202, 1) +CL +wiew1 0, 0, 1, 1, "mario1" +GET (3, 2)-(22, 21), mari(202, 2) +CL +wiew 0, 0, 1, 1, "mario2" +GET (1, 2)-(20, 21), mari(202, 3) +CL +wiew1 0, 0, 1, 1, "mario2" +GET (3, 2)-(22, 21), mari(202, 4) +CL +wiew 0, 0, 1, 1, "poosas" +GET (1, 1)-(60, 21), poosas +CL +wiew 0, 0, 1, 1, "puu" +GET (1, 1)-(40, 60), puu +CL +wiew 0, 0, 1, 1, "munt" +GET (1, 1)-(10, 11), munt +CL +wiew 0, 0, 1, 1, "munt1" +GET (0, 2)-(20, 11), munt1 +CL +wiew 0, 0, 1, 1, "munt2" +GET (0, 2)-(20, 11), munt2 + +CL +wiew 0, 0, 1, 1, "0" +GET (0, 2)-(10, 11), number(100, 0) +CL +wiew 0, 0, 1, 1, "1" +GET (0, 2)-(10, 11), number(100, 1) +CL +wiew 0, 0, 1, 1, "2" +GET (0, 2)-(10, 11), number(100, 2) +CL +wiew 0, 0, 1, 1, "3" +GET (0, 2)-(10, 11), number(100, 3) +CL +wiew 0, 0, 1, 1, "4" +GET (0, 2)-(10, 11), number(100, 4) +CL +wiew 0, 0, 1, 1, "5" +GET (0, 2)-(10, 11), number(100, 5) +CL +wiew 0, 0, 1, 1, "6" +GET (0, 2)-(10, 11), number(100, 6) +CL +wiew 0, 0, 1, 1, "7" +GET (0, 2)-(10, 11), number(100, 7) +CL +wiew 0, 0, 1, 1, "8" +GET (0, 2)-(10, 11), number(100, 8) +CL +GET (0, 2)-(10, 11), number(100, 10) +wiew 0, 0, 1, 1, "9" +GET (0, 2)-(10, 11), number(100, 9) + +CL +wiew 0, 0, 1, 1, "tigu" +GET (1, 2)-(20, 21), koll1(202, 1) +CL +wiew 0, 0, 1, 1, "tigu1" +GET (3, 2)-(22, 21), koll1(202, 2) +CL +wiew1 0, 0, 1, 1, "tigu" +GET (1, 2)-(20, 21), koll1(202, 3) +CL +wiew1 0, 0, 1, 1, "tigu1" +GET (3, 2)-(22, 21), koll1(202, 4) + +SCREEN 0 +SCREEN 13 +level +a1 = 50 +b1 = 50 +edasi = 0 +liig = 1 +ov1 = 1 +ov2 = 2 +raha = 0 +elud = 3 +z = 1 +nait 0 +12 +IF b1 > 0 THEN GET (a1, b1)-(a1 + 20, b1 + 20), mari0: PUT (a1, b1), mari(202, liig), OR + +FOR ox = 1 TO 10 +IF kollb(ox) < 170 AND z = 1 THEN + kollb(ox) = kollb(ox) + kollal(ox) + kolla(ox) = kolla(ox) + kolled(ox) + GET (kolla(ox), kollb(ox))-(kolla(ox) + 20, kollb(ox) + 20), koll(202, ox) + IF kolled(ox) <= 0 THEN kolll = 1 ELSE kolll = 3 + IF zz > 2 THEN kolll = kolll + 1: IF zz = 3 THEN kollal(ox) = kollal(ox) + 1 + PUT (kolla(ox), kollb(ox)), koll1(202, kolll) +END IF +NEXT ox +SOUND 0, .5 +z = z + 1 +IF z > 3 THEN z = 1 +IF z = 1 THEN +zz = zz + 1 +IF zz > 5 THEN zz = 0 +alla = alla + 1 +IF edasi > 0 THEN edasi = edasi - 1: zy = zy + 1 +IF edasi < 0 THEN edasi = edasi + 1: zy = zy + 1 +IF zy > 2 THEN zy = 1 +IF zy = 2 THEN ov1 = 1: ov2 = 2 +IF zy = 1 THEN ov1 = 3: ov2 = 4 + +FOR ox = 1 TO 10 +IF kollb(ox) < 170 THEN +IF ruum((kolla(ox) + 20) / 20, (kollb(ox) + 9) / 20) = "m" THEN kollal(ox) = -1 +IF kolla(ox) > 270 THEN kolled(ox) = -1 +IF kolla(ox) < 2 THEN kolled(ox) = 1 +IF ruum((kolla(ox) + 28) / 20, kollb(ox) / 20) = "m" THEN kolled(ox) = -1 +IF ruum((kolla(ox) + 10) / 20, kollb(ox) / 20) = "m" THEN kolled(ox) = 1 +IF kolla(ox) - 20 < a1 AND kolla(ox) + 20 > a1 AND kollb(ox) - 5 < b1 AND kollb(ox) + 20 > b1 THEN aargh: dead: GOTO 12 +END IF +NEXT ox +END IF + +IF ruum((a1 + 15) / 20, (b1 + 9) / 20) = "m" THEN alla = -1: ao = 0 +IF ruum((a1 + 25) / 20, (b1 + 9) / 20) = "m" THEN alla = -1: ao = 0 +IF ruum((a1 + 20) / 20, (b1 - 8) / 20) = "m" THEN alla = 1: ao = 20 +IF ruum((a1 + 28) / 20, (b1) / 20) = "m" THEN edasi = -1: qa = 1 +IF ruum((a1 + 10) / 20, (b1) / 20) = "m" THEN edasi = 1: qa = 1 + +IF ruum1((a1 + 20) / 20, (b1 - 8) / 20) = "o" THEN alla = 1: ruum1((a1 + 20) / 20, (b1 - 8) / 20) = "": ruum((a1 + 20) / 20, (b1 - 8) / 20) = "2": clra = ((a1 + 20) / 20) - 1: clrb = (b1 - 8) / 20: clr = 1: SOUND 50, .5 +IF ruum((a1 + 20) / 20, (b1) / 20) = "1" THEN ruum((a1 + 20) / 20, (b1) / 20) = "2": clra = ((a1 + 21) / 20) - 1: clrb = (b1) / 20: clr = 1: raha = raha + 1: nait 1: SOUND 1000, 1: SOUND 2000, 1 +ao = ao + 1 +a$ = INKEY$ +IF a$ = CHR$(0) + "H" AND ao < 10 THEN alla = -6 +IF a$ = CHR$(0) + "M" AND qa = 0 THEN edasi = edasi + 3: liig = ov1 +IF a$ = CHR$(0) + "K" AND qa = 0 THEN edasi = edasi - 3: liig = ov2 +IF a$ = CHR$(27) THEN esc +IF a$ = "+" AND qa = 0 THEN maailm = maailm + 1: level: GOTO 12 +IF qa <> 0 THEN qa = 0 +IF edasi > 5 THEN edasi = 3 +IF edasi < -5 THEN edasi = -3 +IF alla > 3 THEN alla = 3 + +IF b1 > 0 THEN PUT (a1, b1), mari0, PSET + +IF z = 1 THEN +FOR ox = 10 TO 1 STEP -1 +IF kollb(ox) < 170 THEN PUT (kolla(ox), kollb(ox)), koll(202, ox), PSET +NEXT ox +END IF + + +b1 = b1 + alla +a1 = a1 + edasi +IF clr > 0 THEN clr = 0: PUT (clra * 20, clrb * 20), tuhi, PSET +IF a1 > 280 THEN maailm = maailm + 1: level: a1 = 3 +IF a1 < 2 THEN maailm = maailm - 1: level: a1 = 279 +IF b1 > 170 THEN FOR a = 3000 TO 500 STEP -100: SOUND a, .3: NEXT a: dead +GOTO 12 + +SUB aargh +a = 1700 +b = 1900 +FOR c = 1 TO 50 +a = a + 3 +b = b - 5 +SOUND a, .2 +SOUND b, .2 +NEXT c +END SUB + +SUB CL +LINE (0, 0)-(319, 150), 0, BF +LOCATE 20, 10 + prog +prog = prog + 1 +PRINT "." +END SUB + +SUB dead +IF maailm > 1 THEN maailm = maailm - 1 + +level +a1 = 20 +b1 = 100 +elud = elud - 1 +nait 0 +END SUB + +SUB die +DIM diep(1 TO 2000) +GET (0, 0)-(150, 20), diep +LOCATE 1, 1 +PRINT "You are " +LOCATE 2, 1 +PRINT " killed! " + +FOR x = 0 TO 80 +FOR y = 0 TO 16 +IF POINT(x, y) > 0 THEN LINE (x * 5, y * 5 + 50)-(x * 5 + 4, y * 5 + 54), 4, BF +NEXT y +NEXT x +PUT (0, 0), diep, PSET + +FOR a = 1 TO 100 +x = RND * 290 + 4 +y = RND * 170 + 4 +GET (x, y)-(x + 20, y + 20), diep +x = x + RND * 4 - 2 +y = y + RND * 4 - 1 +PUT (x, y), diep, PSET +NEXT a +FOR a = 1 TO 50 +a$ = INKEY$ +NEXT a +a$ = INPUT$(1) + +FOR a = 0 TO 100 +SOUND 0, .05 +LINE (0, a)-(320, a), 4 +LINE (0, 200 - a)-(320, 200 - a), 4 +NEXT a +FOR a = 32 TO 0 STEP -1 +SOUND 0, .5 +OUT &H3C8, 4 +OUT &H3C9, a +OUT &H3C9, 0 +OUT &H3C9, 0 +NEXT a +END + +END SUB + +SUB esc +FOR b = 0 TO 20 +FOR a = b TO 200 STEP 20 +LINE (0, a)-(320, a), 0 +NEXT a +SOUND 0, .5 +NEXT b +SYSTEM + +END SUB + +SUB inpur +sj$ = "" +WHILE sj$ = "" +sj$ = INKEY$ +WEND +END SUB + +SUB intro +CLS +wiew 2, 2, 10, 1, "win.i01" +END SUB + +SUB level +IF maailm > 10 THEN +CLS +PRINT "Mission complete!" +PRINT "Game over" +END +END IF + +FOR a = 1 TO 10 +text5(a + 1) = maa(a, maailm) +NEXT a + +FOR a = 1 TO 10 +FOR b = 1 TO 15 +IF ruum(b, a - 2) = "2" THEN MID$(maa(a, maailm1), b) = " " +NEXT b +NEXT a +maailm1 = maailm + +FOR a = -3 TO 20 +FOR b = -3 TO 20 +ruum(a, b) = "" +ruum1(a, b) = "" +NEXT b +NEXT a + +FOR a = 1 TO 10 +kollb(a) = 1000 +kolled(a) = 1 +kollal(a) = 0 +NEXT a + +CLS +PAINT (1, 1), maa1(maailm) +GET (1, 2)-(20, 21), tuhi +FOR a = 2 TO 10 +FOR b = 1 TO 15 +c$ = RIGHT$(LEFT$(text5(a), b), 1) +IF c$ = "-" THEN PUT ((b - 1) * 20, (a - 2) * 20), pilv, OR +IF c$ = "." THEN PUT ((b - 1) * 20, (a - 2) * 20), poosas, OR +IF c$ = "+" THEN PUT ((b - 1) * 20, (a - 2) * 20), puu, OR +IF c$ = "$" THEN PUT ((b - 1) * 20, (a - 2) * 20), munt, OR: ruum(b, a - 2) = "1" +IF c$ = "m" THEN PUT ((b - 1) * 20, (a - 2) * 20), kast, PSET: ruum(b, a - 2) = "m" +IF c$ = "o" THEN PUT ((b - 1) * 20, (a - 2) * 20), tellis, PSET: ruum(b, a - 2) = "m": ruum1(b, a - 2) = "o" +IF c$ = " " THEN ruum(b, a) = " " + +IF c$ = "1" THEN kolla(1) = (b - 1) * 20: kollb(1) = (a - 2) * 20: GET (kolla(1), kollb(1))-(kolla(1) + 20, kollb(1) + 20), koll(202, 1) +IF c$ = "2" THEN kolla(2) = (b - 1) * 20: kollb(2) = (a - 2) * 20: GET (kolla(2), kollb(2))-(kolla(2) + 20, kollb(2) + 20), koll(202, 2) +IF c$ = "3" THEN kolla(3) = (b - 1) * 20: kollb(3) = (a - 2) * 20: GET (kolla(3), kollb(3))-(kolla(3) + 20, kollb(3) + 20), koll(202, 3) +IF c$ = "4" THEN kolla(4) = (b - 1) * 20: kollb(4) = (a - 2) * 20: GET (kolla(4), kollb(4))-(kolla(4) + 20, kollb(4) + 20), koll(202, 4) +IF c$ = "5" THEN kolla(5) = (b - 1) * 20: kollb(5) = (a - 2) * 20: GET (kolla(5), kollb(5))-(kolla(5) + 20, kollb(5) + 20), koll(202, 5) +IF c$ = "6" THEN kolla(6) = (b - 1) * 20: kollb(6) = (a - 2) * 20: GET (kolla(6), kollb(6))-(kolla(6) + 20, kollb(6) + 20), koll(202, 6) +IF c$ = "7" THEN kolla(7) = (b - 1) * 20: kollb(7) = (a - 2) * 20: GET (kolla(7), kollb(7))-(kolla(7) + 20, kollb(7) + 20), koll(202, 7) +IF c$ = "8" THEN kolla(8) = (b - 1) * 20: kollb(8) = (a - 2) * 20: GET (kolla(8), kollb(8))-(kolla(8) + 20, kollb(8) + 20), koll(202, 8) +IF c$ = "9" THEN kolla(9) = (b - 1) * 20: kollb(9) = (a - 2) * 20: GET (kolla(9), kollb(9))-(kolla(9) + 20, kollb(9) + 20), koll(202, 9) +IF c$ = "0" THEN kolla(10) = (b - 1) * 20: kollb(10) = (a - 2) * 20: GET (kolla(10), kollb(10))-(kolla(10) + 20, kollb(10) + 20), koll(202, 10) +NEXT b +NEXT a +nait 0 +END SUB + +SUB level1 +maa1(1) = 1 +maa(1, 1) = "m " +maa(2, 1) = "m - - " +maa(3, 1) = "m " +maa(4, 1) = "m $ $ $ $ " +maa(5, 1) = "m $ $ $ $ " +maa(6, 1) = "m + momom " +maa(7, 1) = "m " +maa(8, 1) = "m . . " +maa(9, 1) = "mmmmmmmmmmmmmmm" + +maa1(2) = 1 +maa(1, 2) = " $2- " +maa(2, 2) = " o$ " +maa(3, 2) = " o$ - " +maa(4, 2) = " o$ 3 " +maa(5, 2) = " o o1 " +maa(6, 2) = " + mmom" +maa(7, 2) = " omom m " +maa(8, 2) = " $ $ $ $ m " +maa(9, 2) = "mmmm mm" + +maa1(3) = 1 +maa(1, 3) = " mmmmm" +maa(2, 3) = "- $ $ mmmmm" +maa(3, 3) = " $ $ $ mmmmm" +maa(4, 3) = " $ $ mmmmm" +maa(5, 3) = " . mmmmm" +maa(6, 3) = "mmmm 1 mmmm" +maa(7, 3) = " mm m" +maa(8, 3) = " mmm " +maa(9, 3) = "mmm mmmmm" + +maa1(4) = 0 +maa(1, 4) = "mmmmmmmmmmmmmmm" +maa(2, 4) = "m$ $ $ $ $ " +maa(3, 4) = "mm $m $4$ $ $ " +maa(4, 4) = "m$m mmmmmommmm" +maa(5, 4) = "m$ 3 2 m" +maa(6, 4) = "m1 ooooooomo m" +maa(7, 4) = "mooo$$$$$$$m m" +maa(8, 4) = " m" +maa(9, 4) = "mmmmmmmmmmmmmmm" + +maa1(5) = 0 +maa(1, 5) = "mmmmmmmmmmmmmmm" +maa(2, 5) = " m " +maa(3, 5) = "m m 1 3 mmmm" +maa(4, 5) = "m m mmm o m" +maa(5, 5) = "m m4567892o m" +maa(6, 5) = "m mooooommo m" +maa(7, 5) = "m mm" +maa(8, 5) = "m mmm" +maa(9, 5) = "mmmm mmm mmmm" + +maa1(6) = 1 +maa(1, 6) = "m " +maa(2, 6) = " - $ - " +maa(3, 6) = "m $ $ " +maa(4, 6) = "m o o $ " +maa(5, 6) = "m o o " +maa(6, 6) = "m + " +maa(7, 6) = "m " +maa(8, 6) = "mm 1 m 2 m " +maa(9, 6) = "mmmmmmmmmmmmmmm" + +maa1(7) = 1 +maa(1, 7) = " - " +maa(2, 7) = " - " +maa(3, 7) = " 1m" +maa(4, 7) = " 2mm" +maa(5, 7) = " 3mmm" +maa(6, 7) = " o + 4mmmm" +maa(7, 7) = " ooo 5mmmmm" +maa(8, 7) = " 6mmmmmm" +maa(9, 7) = "mmmmmmmmmmmmmmm" + +maa1(8) = 1 +maa(1, 8) = " mmmmmmmmmmmmm" +maa(2, 8) = " m123m456m789 " +maa(3, 8) = " mm$mmm$mmm$mm" +maa(4, 8) = " mm$$$$$$$$$$m" +maa(5, 8) = " mmom$mmm$mmmm" +maa(6, 8) = " o$$$$$$$$$ o" +maa(7, 8) = " omooooooo o" +maa(8, 8) = " - m " +maa(9, 8) = "mmmmmmmmmmmmmmm" + +maa1(9) = 0 +maa(1, 9) = " 12345" +maa(2, 9) = " 6789 " +maa(3, 9) = " mm" +maa(4, 9) = " m " +maa(5, 9) = " m " +maa(6, 9) = " m " +maa(7, 9) = " m " +maa(8, 9) = " m " +maa(9, 9) = "mm " + +maa1(10) = 1 +maa(1, 10) = "m " +maa(2, 10) = " - " +maa(3, 10) = "m - " +maa(4, 10) = "m + " +maa(5, 10) = "m " +maa(6, 10) = "m + 2 " +maa(7, 10) = "m mmm " +maa(8, 10) = "m . 1 " +maa(9, 10) = "mmmmmmmmmmm mm" +END SUB + +SUB load (a$) +OPEN a$ FOR INPUT AS #2 +INPUT #2, pikkus +FOR a = 1 TO pikkus +LINE INPUT #2, text$(a) +NEXT a +CLOSE +END SUB + +SUB nait (zaz) +IF elud < 0 THEN die +PUT (0, 180), munt1, PSET +rahaz(1) = rahaz(1) + zaz +FOR b = 1 TO 3 +IF rahaz(1) > 9 THEN rahaz(1) = rahaz(1) - 10: rahaz(2) = rahaz(2) + 1 +IF rahaz(2) > 9 THEN rahaz(1) = 0: rahaz(2) = 0: elud = elud + 1 +NEXT b +LOCATE 1, 1 +r = 3 +FOR a = 1 TO 2 +r = r - 1 +PUT ((a * 11) + 10, 180), number(100, rahaz(r)), PSET +NEXT a +IF elud > 10 THEN elud = 10 +PUT (43, 180), number(100, 10), PSET +PUT (53, 180), munt2, PSET +PUT (73, 180), number(100, elud), PSET +END SUB + +SUB save (a$) +OPEN a$ FOR OUTPUT AS #2 +PRINT #2, pikkus +FOR a = 1 TO pikkus +PRINT #2, text$(a) +NEXT a +CLOSE +END SUB + +DEFSNG A-Z +SUB tahed +CLS +t = 13 +FOR a = 1 TO 80 STEP 8 +FOR b = 1 TO 20 +t = t + 1 +LOCATE b, a +PRINT CHR$(t); t +NEXT b +NEXT a + +END SUB + +DEFINT A-Z +SUB wiew (a1, b1, c1, d1, a$) +laius1 = c1 - a1 +pikkus1 = d1 - b1 +OPEN a$ + ".i01" FOR INPUT AS #1 +INPUT #1, pikkus +FOR a = 1 TO pikkus +LINE INPUT #1, z$ +FOR b = 1 TO LEN(z$) +LINE (a1 + (b * c1), (b1 + (a * d1)) + 1)-(a1 + ((b + 1) * c1) - 1, b1 + ((a + 1) * d1)), ASC(RIGHT$(LEFT$(z$, b), 1)) - 40, BF +NEXT b +NEXT a +CLOSE +END SUB + +SUB wiew1 (a1, b1, c1, d1, a$) +a1 = a1 * 8 +b1 = b1 * 8 +laius1 = c1 - a1 +pikkus1 = d1 - b1 +OPEN a$ + ".i01" FOR INPUT AS #1 +INPUT #1, pikkus +FOR a = 1 TO pikkus +LINE INPUT #1, z$ +FOR b = LEN(z$) TO 1 STEP -1 +LINE (a1 + (b * c1), (b1 + (a * d1)) + 1)-(a1 + ((b + 1) * c1), b1 + ((a + 1) * d1)), ASC(LEFT$(RIGHT$(z$, b), 1)) - 40, BF +NEXT b +NEXT a +CLOSE +END SUB diff --git a/games/platform/poosas.i01 b/games/platform/poosas.i01 new file mode 100644 index 0000000..e48b7dc --- /dev/null +++ b/games/platform/poosas.i01 @@ -0,0 +1,21 @@ + 20 +((((((((((((((((((((((((((((((q((((q(q(((((((((((((((((((((( +((((((((((q((q(((q(((qq(((((((qqŠqqqq(((((((qq(((((((((((((( +((((((((((q(q(((q(qq((qq((q((qqq(((q(qq(qq;(qq(q(((((((((((( +(((((((((qq(q(Š(((q(q(q(q((((q2qqq(qqq(q(;((;q(q(((((((((((( +(((((qqq(q(q(((222Šqqq(((Šq(qqqqŠq2qqqq2((;Š((q(((q?q((((((( +((((qq(nq(((q((2(qq2q2q(((nn(Šq(qqq(nqq2n2;(qnq?(;???((((((( +((((((qqqq2q(qqq2Š(22Š(qqq(Šqq2n(2nqq2qqq(nq?q?Š2;;;?((((((( +(((((qn(qqqqŠ(Š(qXn22XŠ(nqŠŠq2(22qq22(22(2?Y??2q;?q;22(((((( +((((q((qq2qqŠqqnq2nXŠXŠqq2ŠŠqqŠqX2q22((qq;(Yq???;;2;;2q((((( +((((((q(22(2q2(((nqqXXŠ(XX2Xq(q2Š22nq22q?qY((?(?qqqq;???(((( +(((q(qq(qqqYYXq((YXXYŠX2Š2ŠX2Šq;?2???2q;;q;X?2???;?;Y;??q((( +(((q(q(q22222YYX2(XX?X2q2?qX2q?YYYn2q;Y;X2???X?;?;;;??;;(((( +(((n(qq(Š2Š22XYqXY?XY;2;???qq?;?Y;?2Y;2;;Y;?XX9X9;;(9;??;((( +((((qnXŠ?YY22ŸŸ???YYqqX?;qXqqq;;???;@;;;;??X;;?X?q;;;9?;(?( +(nnnŠX2?2??YXŸŸX2q?X;2;;?qq;;;q;?;;;;;;;Ÿ;X;9;?X;;@;@;;?99( +qqqnqŠq222ŠXŸŸ?Y(ŸY??;qq?2;?;q?;?;;?@X;;;?Ÿ;9999;9@;;;;;9n?9 +nqnqqn2??Y??(X?YŸŸX?;?;?X?;Xq;;ŸX;nŸ@;Ÿ;;;;Ÿ9;;2;;@;;?;;9((9 +nnqqq2(?Ÿn?nŸŸŸ?ŸY22X;X?q;;;;;qqq;;q;Ÿ;;;q9X;;99;@;;9;;;?? +qnq(qqnqq???ŸŸX(?nŸqX(XXqq2;nqq;;;ŸŸqŸŸ;ŸŸ;Xq;q;9n;;??n?9 +((nn((qŸ(ŸnXnŸ(nŸXnŸn(XqqX2ŸŸ;qŸ(qq;(ŸŸqŸ(99Ÿq?;ŸŸ????? diff --git a/games/platform/puu.i01 b/games/platform/puu.i01 new file mode 100644 index 0000000..5a8ca34 --- /dev/null +++ b/games/platform/puu.i01 @@ -0,0 +1,61 @@ + 60 +(((((((((((((((X(((((X((T((((((((((((((( +(((((((((((((((X((T((X(X(((((((((((((((( +((((((((((((X(((((X(X((((((X(X(((((((((( +(((((((((((((XX((X(((((((((T(((((((((((( +((((((XX((((XX(XTT(X(TXXT(((((X((((((((( +((((((((((((((X((X(TXXTŸŸ(XXXX(((((((((( +((((((X(X((XXX(XXXTTT(XXXTX(X((((((((((( +(((((((XX((X(XX((T((XXXX(T((XXX(X(X((((( +((((X(X((XXXT((XX(XXX(TXXTŸXX(XŸ(X(((((( +((((XXX((((XT(X(XXXTTT(XXŸXŸŸŸŸX((X((((( +(((((X((((XT((XX((XT(XTX((XX(ŸX((((ŸŸ((( +(((X((X(((TX((XXXXTXX(TTŸ(((((ŸXŸ((ŸX((( +((((X(XX((X(XX(X(TX(((TTTŸXŸ(ŸXXŸ((((((( +((((X(XXXXXX((XXTTXX(TXTTT(T(XŸX(Ÿ(XX((( +(((((X(XX(TXXTTT(TXXT(X((X((((XŸ(X(XX((( +((((((X((X(XXXXXT(XXX(TT((T(X(((((((X((( +(((XX((XX(((X(TXXX(TX(TTTTXT(Ÿ(((Ÿ((Ÿ((( +(X(((X(((X(T((X(X(XX(T(XXTX(TŸX((ŸŸX(((( +((XX(X((((((XTX(TTTXTXT(XX((XX(Ÿ(ŸŸ(((X( +((((((XXXX((X(XXTTXT(XXŸTT(T(((XŸ((XX((( +(((XXXX(X(((X(T(TTTTXXXXTX(X(XXXX(X(Ÿ(X( +(((((((((X(XXXXX(XT(X(X((X(XXX(XXX((Ÿ((( +X(((((X((X(X(X((XTT(((((XXŸ(XXXXŸ(Ÿ((XŸ( +(((XXX(XXX((X(((XTXX(T(X((Ÿ(((ŸX(XXXX(X( +(((X(((TTX((TTXTT(XXXT(XŸŸ(XXX((XXŸ((X(Ÿ +((X((((XTX(((X(XX(XTT(XXXX((XX(XXŸ(X((ŸX +(((((TX(((X((T(XTTXXXTXX(XXŸX(X((Ÿ(((((( +((X(X(TXTX(XX((XTTXX(X(XŸXXŸTŸXXXX(Ÿ(Ÿ(( +((((X(X(X((TXTTT(((XŸŸX(XT((XXXXX(Ÿ(((Ÿ( +((((X((X((T((X(TXXXXXXXŸ(TŸX(XXŸŸ((ŸŸ((( +((((X(((TXTXX(XXX(((XXX(ŸXŸŸ(XŸŸ(ŸŸŸŸŸ(( +((XX((XXXX((XX(((XX(XXX(TŸŸŸXŸ(XXXŸŸ(((( +((((((X((XTXXTTTXXXXXXšššŸ(TXTŸ(Ÿ((((X(( +(((X(((XXXTTXTT(T(TX(ŸšŸšXŸŸŸ(X(ŸŸ(X(((( +((X(((((XXT(TTT(X((T(šXšXXTŸŸŸ(ŸŸŸ(((((( +(X(XXXX(X((X((TXTT(TTŸšXXŸŸŸXX(X(Ÿ(XX((( +((((X(((XXXXTXXX(((TŸšŸXXŸXŸXŸXŸ(ŸX((((( +(((((((XX(XXX(XXTX((ŸšššTŸŸ(ŸTXX(TX(Ÿ((( +(((((XXXXXXX((X(X(ŸŸŸšššŸXŸŸŸXT(X((X(((( +(((X(((XXXXX(XT(TT(XŸšššXŸŸŸTTŸXŸ((((Ÿ(( +((((((XX(XX((X(XTXŸŸšššX((XXXXTX(((Ÿ(((( +(((((X(XXXXXXXXXŸ(Ÿ(ŸšXš(XŸXTXX((X(((((( +(((((((X(XŸX(XX((TŸŸŸXXŸŸ(XXŸXXXX(((((Ÿ( +((((((XX(XX((XXTX(X(šššŸX(XXXX(XXX(X(((( +((((((((((XXXŸXššŸ(šššXŸ(X(TXXX((X(((((( +((((((((((X(ŸX(šŸšXŸššXX(X(XXX(X(((((((( +(((((((((XXX(XŸššŸXŸšXXŸŸX(((X(((((Ÿ(((( +(((((((((((X((XššŸŸŸŸšXXX(X(ŸX(ŸŸ((((((( +((((((((((XXXŸ(ššŸŸŸŸŸXŸŸ(X(((Ÿ(ŸŸ(((((( +(((((((((((((XXX(ššŸššXX(((((X(((((((((( +(((((((((((Ÿ(X((TšŸšXXŸŸ((((X(Ÿ((((((((( +((((((((((X(((XX(ššXššŸŸ(((((((((((((((( +((((((((((((((((ŸXšXXšX(Ÿ(((((Ÿ((((((((( +((((((((((((((X(XXšŸŸŸ((Ÿ((((((((((((((( +(((((((((((Ÿ(((XX(šššš(Ÿ(((((((((((((((( +((((((((((((((((((ššššX(((Ÿ((((((((((((( +((((((((((((((Ÿ(((šššš(((((((((((((((((( +((((((((((((((((((šššš(((((((((((((((((( +(((((((((((((((Ÿ((šššš(((((((((((((((((( +((((((((((((((((((ššš((((((((((((((((((( diff --git a/games/platform/screenshot.png b/games/platform/screenshot.png new file mode 100644 index 0000000..b0f541e Binary files /dev/null and b/games/platform/screenshot.png differ diff --git a/games/platform/tellis.i01 b/games/platform/tellis.i01 new file mode 100755 index 0000000..f4f610b --- /dev/null +++ b/games/platform/tellis.i01 @@ -0,0 +1,21 @@ + 20 +00000000000000000000 +0@@//@/////////////0 +0@//////////@//////0 +0//@///////////////0 +0@//@//////////////0 +00000000000000000000 +/////////00@/@/@//// +/@///////00@//////// +@@///////00//@////// +@////////00///////// +00000000000000000000 +0@@////////////////0 +0/////@///@////////0 +0@///////////@/////0 +0//@/////////@@////0 +00000000000000000000 +/////////00@@/////// +/////////00@//////// +/////////00///////// +/////////00///////// diff --git a/games/platform/tigu.i01 b/games/platform/tigu.i01 new file mode 100755 index 0000000..d424018 --- /dev/null +++ b/games/platform/tigu.i01 @@ -0,0 +1,21 @@ + 20 +(((((((((((((((((((( +(((((((((((((((((((( +<((((((((((((((((((( +?((((((((<(((((((((( +??((((((??(((((((((( +(?(((((??((((((((((( +(??((???(((((((((((( +((????(((((((((((((( +(((??((((((((((((((( +((<<<((((((((((((((( +< + + 3dSynthezier + + + + + + + + diff --git a/graphics/3D/3D Synthezier/bin/3dparse.bas b/graphics/3D/3D Synthezier/bin/3dparse.bas new file mode 100755 index 0000000..0f6c09a --- /dev/null +++ b/graphics/3D/3D Synthezier/bin/3dparse.bas @@ -0,0 +1,444 @@ +' by Svjatoslav Agejenko +' homeage: http://svjatoslav.eu +' e-mail: svjatoslav@svjatoslav.eu + +' Before running, make sure include path is correct. See below. + +DECLARE SUB parsel (a$) +DECLARE SUB stat2 (b!) +DECLARE SUB stat () +DECLARE SUB getchc (a$, b!) +DECLARE SUB start () +DECLARE SUB qui () +DECLARE SUB flushpoly (a!) +DECLARE SUB usemtl (a$) +DECLARE SUB flushp () +DECLARE SUB parse (a$) +DECLARE SUB geth (b!) +DECLARE SUB cmd (a$) +DECLARE SUB getson (a$) +DIM SHARED px(1 TO 1000) +DIM SHARED py(1 TO 1000) +DIM SHARED pz(1 TO 1000) +DIM SHARED nump +DIM SHARED numpa +DIM SHARED numpo + +DIM SHARED fil(1 TO 100) +DIM SHARED mitus +DIM SHARED sona$(1 TO 20) +DIM SHARED res + +DIM SHARED mtlm +DIM SHARED mtl$(1 TO 50) +DIM SHARED mtlp1(1 TO 50, 1 TO 100) +DIM SHARED mtlp2(1 TO 50, 1 TO 100) +DIM SHARED mtlp3(1 TO 50, 1 TO 100) +DIM SHARED mtlp4(1 TO 50, 1 TO 100) +DIM SHARED mtll(1 TO 50) +DIM SHARED cmtl + +DIM SHARED stkf(1 TO 500) +DIM SHARED stks(1 TO 500) +DIM SHARED stkp, fc, ipath$ + +DIM SHARED chc$(1 TO 10, 1 TO 500) +DIM SHARED chcl(1 TO 10) +DIM SHARED chcf$(1 TO 10) +DIM SHARED chct(1 TO 10) +DIM SHARED chctim +DIM SHARED mtmprs +DIM SHARED tmr + +DIM SHARED var$(0 TO 100) +DIM SHARED flag(1 TO 50, 0 TO 9) +DIM SHARED cstatt, cstatm + + +ipath$ = "c:\3dgen\include\" ' include path + + + +start + +IF COMMAND$ = "" THEN END +CLS + +cmd "obj ~" + COMMAND$ +qui +CLOSE #res +fil(res) = 0 + +PRINT "done" +SYSTEM + +SUB cmd (z$) +a$ = z$ +IF LEFT$(a$, 1) = "?" THEN +IF flag(mtmprs, VAL(RIGHT$(LEFT$(a$, 2), 1))) = 1 THEN a$ = RIGHT$(a$, LEN(a$) - 3) ELSE GOTO 10 +END IF +getson a$ +SELECT CASE sona$(1) +CASE "end" +qui +PRINT "terminated from file" +SYSTEM + +CASE "warn" +COLOR 12 +PRINT sona$(2) +COLOR 7 +b$ = INPUT$(1) + +CASE "p" +nump = nump + 1 +numpa = numpa + 1 +x = VAL(sona$(2)) +y = VAL(sona$(3)) +z = VAL(sona$(4)) + +FOR b = stkp TO 1 STEP -1 +SELECT CASE stkf(b) +CASE 1 +c1 = SIN(stks(b) / fc) +s1 = COS(stks(b) / fc) +z1 = x * c1 + z * s1 +x1 = x * s1 - z * c1 +x = x1 +z = z1 + +CASE 2 +c1 = SIN(stks(b) / fc) +s1 = COS(stks(b) / fc) +z1 = y * c1 + z * s1 +y1 = y * s1 - z * c1 +y = y1 +z = z1 + +CASE 3 +s1 = SIN(stks(b) / fc) +c1 = COS(stks(b) / fc) +y1 = y * c1 + x * s1 +x1 = y * s1 - x * c1 +x = x1 +y = y1 + +CASE 10 +x = x + stks(b) +CASE 11 +y = y + stks(b) +CASE 12 +z = z + stks(b) +CASE 20 +x = x - stks(b) +CASE 21 +y = y - stks(b) +CASE 22 +z = z - stks(b) +CASE 30 +x = x * stks(b) +CASE 31 +y = y * stks(b) +CASE 32 +z = z * stks(b) +END SELECT +NEXT b + +px(nump) = x +py(nump) = y +pz(nump) = z +IF nump > 900 THEN flushp + +CASE "here" +numpo = numpa + +CASE "mtl" +usemtl sona$(2) + +CASE "mtlrnd" +b = INT(RND * (mitus - 1)) + 2 +usemtl sona$(b) + +CASE "f" +IF mtll(cmtl) > 90 THEN flushpoly cmtl +b = mtll(cmtl) +b = b + 1 +mtll(cmtl) = b +mtlp1(cmtl, b) = VAL(sona$(2)) + numpo +mtlp2(cmtl, b) = VAL(sona$(3)) + numpo +mtlp3(cmtl, b) = VAL(sona$(4)) + numpo +IF sona$(5) = "" THEN mtlp4(cmtl, b) = -32000 ELSE mtlp4(cmtl, b) = VAL(sona$(5)) + numpo + +CASE "obj" +d = stkp +FOR a = mitus TO 3 STEP -1 +b$ = LEFT$(sona$(a), 2) +c = VAL(RIGHT$(sona$(a), LEN(sona$(a)) - 2)) +stkp = stkp + 1 +stks(stkp) = c +SELECT CASE b$ +CASE "xz" +stkf(stkp) = 1 +CASE "yz" +stkf(stkp) = 2 +CASE "xy" +stkf(stkp) = 3 +CASE "x+" +stkf(stkp) = 10 +CASE "y+" +stkf(stkp) = 11 +CASE "z+" +stkf(stkp) = 12 +CASE "x-" +stkf(stkp) = 20 +CASE "y-" +stkf(stkp) = 21 +CASE "z-" +stkf(stkp) = 22 +CASE "x*" +stkf(stkp) = 30 +CASE "y*" +stkf(stkp) = 31 +CASE "z*" +stkf(stkp) = 32 +END SELECT +NEXT a + +a$ = sona$(2) +mtmprs = mtmprs + 1 +cstatt = cstatt + 1 +LOCATE 10 + mtmprs, 1 +PRINT a$ +getchc a$, b +c = 1 +2 +d$ = chc$(b, c) +cmd d$ +IF chcf$(b) <> a$ THEN getchc a$, b +c = c + 1 +IF c <= chcl(b) THEN GOTO 2 +tmr = tmr + 1 +IF tmr > 20 THEN tmr = 0: stat +LOCATE 10 + mtmprs, 1 +PRINT SPACE$(LEN(a$)) +mtmprs = mtmprs - 1 + +stkp = d + +CASE "#" + +CASE "out" +geth res +OPEN sona$(2) + ".obj" FOR OUTPUT AS #res +PRINT #res, "mtllib result.mtl" + +CASE "rnd" +b = INT(RND * (mitus - 1)) + 2 +c$ = sona$(b) +f$ = "" +FOR d = 1 TO LEN(c$) +e$ = RIGHT$(LEFT$(c$, d), 1) +IF e$ = "^" THEN e$ = " " +f$ = f$ + e$ +NEXT d +cmd f$ + +CASE "set" +var$(VAL(sona$(2))) = sona$(3) + +CASE "cmp" +IF sona$(3) = sona$(4) THEN b = 1 ELSE b = 0 +flag(mtmprs, VAL(sona$(2))) = b +END SELECT + +10 +END SUB + +SUB flushp + +FOR a = 1 TO nump +PRINT #res, "v " + STR$(px(a)) + " " + STR$(py(a)) + " " + STR$(-pz(a)) +NEXT a +nump = 0 + +END SUB + +SUB flushpoly (a) +IF mtll(a) = 0 THEN GOTO 5 + +PRINT #res, "usemtl " + mtl$(a) +FOR b = 1 TO mtll(a) +c$ = "f " + STR$(mtlp1(a, b) + 1) + STR$(mtlp2(a, b) + 1) + STR$(mtlp3(a, b) + 1) +IF mtlp4(a, b) <> -32000 THEN c$ = c$ + STR$(mtlp4(a, b) + 1) +PRINT #res, c$ +NEXT b +mtll(a) = 0 + +5 +END SUB + +SUB getchc (a$, b) +'DIM SHARED cstatt, cstatm +FOR c = 1 TO 10 +IF chcf$(c) = a$ THEN b = c: GOTO 6 +NEXT c + +d = 32000 +FOR c = 1 TO 10 +IF chct(c) < d THEN d = chct(c): e = c +NEXT c +g = 0 +geth f +'PRINT "file " + a$ + " loaded" +cstatm = cstatm + 1 +b$ = a$ +IF LEFT$(b$, 1) = "~" THEN b$ = RIGHT$(b$, LEN(b$) - 1) ELSE b$ = ipath$ + b$ +OPEN b$ + ".3d" FOR INPUT AS #f +8 +IF EOF(f) <> 0 THEN GOTO 7 +LINE INPUT #f, c$ +IF (LEFT$(c$, 1) <> "#") AND (c$ <> SPACE$(LEN(c$))) THEN g = g + 1: chc$(e, g) = c$ +GOTO 8 +7 +CLOSE #f +fil(f) = 0 +chcl(e) = g +b = e +chcf$(e) = a$ +stat +6 +chctim = chctim + 1 +chct(b) = chctim + +IF chctim > 10000 THEN +FOR c = 1 TO 10 +chct(c) = chct(c) / 2 +NEXT c +chctim = chctim / 2 +END IF +END SUB + +SUB geth (b) + +FOR a = 1 TO 100 +IF fil(a) = 0 THEN fil(a) = 1: b = a: GOTO 1 +NEXT a +1 +'PRINT "handle ", b, " allocated" + +END SUB + +SUB getson (a$) +b$ = a$ + " " + +FOR a = 1 TO 20 +sona$(a) = "" +NEXT a + +mitus = 0 +e = 1 +FOR c = 1 TO LEN(b$) +d$ = RIGHT$(LEFT$(b$, c), 1) +IF d$ = " " OR d$ = CHR$(9) THEN +e = 1 +ELSE +IF e = 1 THEN mitus = mitus + 1 +sona$(mitus) = sona$(mitus) + d$ +e = 0 +END IF +NEXT c + +FOR c = 1 TO mitus +IF LEFT$(sona$(c), 1) = "%" THEN +sona$(c) = var$(VAL(RIGHT$(sona$(c), LEN(sona$(c)) - 1))) +END IF +NEXT c +END SUB + +SUB qui + +flushp +FOR a = 1 TO mtlm +flushpoly a +NEXT a +stat +END SUB + +SUB start +RANDOMIZE TIMER + +FOR a = 1 TO 50 +FOR b = 0 TO 9 +flag(a, b) = 0 +NEXT b +NEXT a + +FOR a = 0 TO 100 +var$(a) = "" +NEXT a + +FOR a = 1 TO 10 +FOR b = 1 TO 500 +chc$(a, b) = "" +NEXT b +chcl(a) = 0 +chcf$(a) = "" +chct(a) = 0 +NEXT a + +FOR a = 1 TO 50 +mtll(a) = 0 +NEXT a + +FOR a = 1 TO 100 +fil(a) = 0 +NEXT a +nump = 0 +numpa = 0 +numpo = 0 +mtlm = 0 +stkp = 0 +fc = 180 / 3.141285 +chctim = 0 +mtmprs = 0 +cstatt = 0 +cstatm = 0 +END SUB + +SUB stat +LOCATE 1, 1 +FOR a = 1 TO 10 +PRINT a, chcf$(a), chct(a), chcl(a) +NEXT a +COLOR 10 +LOCATE 1, 50 +PRINT cstatt; "parsed" +LOCATE 2, 50 +PRINT cstatm; "chache miss" +LOCATE 3, 50 +PRINT INT(cstatm / cstatt * 100); "% chache miss " + +COLOR 7 + +END SUB + +SUB stat2 (b) +CLS +FOR a = 1 TO chcl(b) +PRINT chc$(b, a) +NEXT a + +c$ = INPUT$(1) +END SUB + +SUB usemtl (a$) +FOR b = 1 TO mtlm +IF mtl$(b) = a$ THEN cmtl = b: GOTO 4 +NEXT b + +mtlm = mtlm + 1 +mtl$(mtlm) = a$ +cmtl = mtlm +4 +END SUB + diff --git a/graphics/3D/3D Synthezier/bin/city1.3d b/graphics/3D/3D Synthezier/bin/city1.3d new file mode 100644 index 0000000..04279fa --- /dev/null +++ b/graphics/3D/3D Synthezier/bin/city1.3d @@ -0,0 +1,46 @@ +# small city block + +out city1 + +obj maja xz90 +obj maja xz90 x+48 +obj maja xz90 x+96 +obj maja x+36 z-84 + +# korgel olevad autod +obj cars x+25 +obj cars x+27 z-50 +obj cars x+26 z-25 y-10 +obj cars x+25 z-40 y-20 + +obj cars x+73 z-25 y+1 +obj cars x+75 z-50 y-2 +obj cars xz-90 z-60 +obj cars xz-90 z-62 x+50 +obj cars xz-90 z+60 x+1 +obj cars xz-90 z+61 x+52 + +obj cars x+121 z-100 y+1 +obj cars x+122 z-70 y-5 +obj cars x+123 y+2 +obj cars x+122 z-38 y-2 + +# allpool olevad autod +obj cars x+25 y-30 +obj cars x+27 z-50 y-50 +obj cars x+26 z-25 y-40 +obj cars x+25 z-40 y-50 + +obj cars x+73 z-25 y-34 +obj cars x+75 z-50 y-36 +obj cars xz-90 z-60 y-43 +obj cars xz-90 z-62 x+50 y-29 +obj cars xz-90 z+60 x+1 y-37 +obj cars xz-90 z+61 x+52 y-33 + +obj cars x+121 z-100 y-41 +obj cars x+122 z-70 y-45 +obj cars x+123 y-32 +obj cars x+122 z-38 y-34 + + diff --git a/graphics/3D/3D Synthezier/bin/city1.bat b/graphics/3D/3D Synthezier/bin/city1.bat new file mode 100755 index 0000000..d4fb06e --- /dev/null +++ b/graphics/3D/3D Synthezier/bin/city1.bat @@ -0,0 +1,6 @@ +@echo off + +rem This script will instruct generator to make "city1". +rem Note: When specifying source file, avoid extension. + +qb /RUN 3dparse.bas /CMD city1 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/bin/city2.3d b/graphics/3D/3D Synthezier/bin/city2.3d new file mode 100644 index 0000000..8215a3e --- /dev/null +++ b/graphics/3D/3D Synthezier/bin/city2.3d @@ -0,0 +1,45 @@ +# Big city, be prepared to wait ~10 min, on P133. + +out city2 +obj blk4 y-145 +obj blk4 y-116 +obj blk4 y-87 +obj blk4 y-58 +obj blk4 y-29 +obj blk4 + +mtl kivi +obj ring x*20 z*20 y+26 +mtl glass_transp +obj kuppel x*20 z*20 y*10 y+26 + +mtl kivi +obj ring x*20 z*20 y+26 z+64.6412 +mtl glass_transp +obj kuppel x*20 z*20 y*10 y+26 z+64.6412 + +mtl kivi +obj ring x*20 z*20 y+26 x+55.9809 z+32.3206 +mtl glass_transp +obj kuppel x*20 z*20 y*10 y+26 x+55.9809 z+32.3206 + +mtl kivi +obj ring x*20 z*20 y+26 x+55.9809 z-32.3206 +mtl glass_transp +obj kuppel x*20 z*20 y*10 y+26 x+55.9809 z-32.3206 + +mtl kivi +obj ring x*20 z*20 y+26 z-64.6412 +mtl glass_transp +obj kuppel x*20 z*20 y*10 y+26 z-64.6412 + +mtl kivi +obj ring x*20 z*20 y+26 x-55.9809 z-32.3206 +mtl glass_transp +obj kuppel x*20 z*20 y*10 y+26 x-55.9809 z-32.3206 + +mtl kivi +obj ring x*20 z*20 y+26 x-55.9809 z+32.3206 +mtl glass_transp +obj kuppel x*20 z*20 y*10 y+26 x-55.9809 z+32.3206 + diff --git a/graphics/3D/3D Synthezier/bin/city2.bat b/graphics/3D/3D Synthezier/bin/city2.bat new file mode 100755 index 0000000..6aa7f5a --- /dev/null +++ b/graphics/3D/3D Synthezier/bin/city2.bat @@ -0,0 +1,6 @@ +@echo off + +rem This script will instruct generator to make "city2". +rem Note: When specifying source file, avoid extension. + +qb /RUN 3dparse.bas /CMD city2 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/bin/result.mtl b/graphics/3D/3D Synthezier/bin/result.mtl new file mode 100644 index 0000000..9d689f1 --- /dev/null +++ b/graphics/3D/3D Synthezier/bin/result.mtl @@ -0,0 +1,108 @@ +# Wavefront material file +# Must be in the same directory with parsed modules. + +newmtl default + Ns 32 + d 1 + illum 2 + Kd 0.4 0.4 0.4 + Ks 0.7 0.7 0.7 + Ka 0.3 0.3 0.3 + +newmtl muld + Ns 32 + d 1 + illum 2 + Kd 0.247843 0.17098 0.158431 + Ks 0 0 0 + Ka 0.185882 0.128235 0.118824 + +newmtl kivi + Ns 32 + d 1 + illum 2 + Kd 0.24935 0.216378 0.24935 + Ks 0 0 0 + Ka 0.128955 0.111903 0.128955 + +newmtl klaastume + Ns 32 + d 1 + illum 2 + Kd 0.139608 0.0313726 0.108235 + Ks 1.6633 0.373775 1.28952 + Ka 0.104706 0.0235294 0.0811765 + +newmtl klaashele + Ns 32 + d 1 + illum 2 + Kd 0.0925798 0.104637 0.109804 + Ks 3.54381 4.00533 4.20313 + Ka 0.737332 0.833356 0.87451 + +newmtl seintellis + Ns 32 + d 1 + illum 2 + Kd 0.476309 0.432511 0.0875971 + Ks 0 0 0 + Ka 0.0642215 0.058316 0.0118108 + +newmtl pronks + Ns 4 + d 1 + illum 2 + Kd 0.238431 0.148435 0.0584391 + Ks 0.636863 0.396478 0.156094 + Ka 0.0627451 0.0390619 0.0153787 + +newmtl solar + Ns 32 + d 1 + illum 2 + Kd 0.189927 0.10519 0.745098 + Ks 1.27451 0.705882 5 + Ka 0.0609766 0.0337716 0.239216 + +newmtl metal_yellow + Ns 32 + d 1 + illum 2 + Kd 0.619608 0.619608 0 + Ks 3.01563 3.01563 0 + Ka 0.3 0.3 0 + +newmtl metal_blue + Ns 32 + d 1 + illum 2 + Kd 0.243137 0.243137 0.666667 + Ks 0.695221 0.695221 1.90625 + Ka 0.109412 0.109412 0.3 + +newmtl light_red + Ns 32 + d 1 + illum 2 + Kd 0.443137 0 0 + Ks 3.8125 0 0 + Ka 0.3 0 0 + + +newmtl light_white + Ns 32 + d 1 + illum 2 + Kd 0.497347 0.528135 0.603922 + Ks 2.35478 2.50055 2.85938 + Ka 0.247059 0.262353 0.3 + +newmtl glass_transp + Ns 39 + d 0.572549 + illum 2 + Kd 0.129412 0.427451 0.776471 + Ks 0.129412 0.427451 0.776471 + Ka 0.000985995 0.00325677 0.00591597 + diff --git a/graphics/3D/3D Synthezier/doc/hexagonal city, 1.jpeg b/graphics/3D/3D Synthezier/doc/hexagonal city, 1.jpeg new file mode 100644 index 0000000..7d724be Binary files /dev/null and b/graphics/3D/3D Synthezier/doc/hexagonal city, 1.jpeg differ diff --git a/graphics/3D/3D Synthezier/doc/hexagonal city, 2.jpeg b/graphics/3D/3D Synthezier/doc/hexagonal city, 2.jpeg new file mode 100644 index 0000000..16d56a5 Binary files /dev/null and b/graphics/3D/3D Synthezier/doc/hexagonal city, 2.jpeg differ diff --git a/graphics/3D/3D Synthezier/doc/hexagonal city, 3.jpeg b/graphics/3D/3D Synthezier/doc/hexagonal city, 3.jpeg new file mode 100644 index 0000000..0d7fb88 Binary files /dev/null and b/graphics/3D/3D Synthezier/doc/hexagonal city, 3.jpeg differ diff --git a/graphics/3D/3D Synthezier/doc/hexagonal city.blend b/graphics/3D/3D Synthezier/doc/hexagonal city.blend new file mode 100644 index 0000000..6ab7003 Binary files /dev/null and b/graphics/3D/3D Synthezier/doc/hexagonal city.blend differ diff --git a/graphics/3D/3D Synthezier/doc/index.html b/graphics/3D/3D Synthezier/doc/index.html new file mode 100644 index 0000000..615e502 --- /dev/null +++ b/graphics/3D/3D Synthezier/doc/index.html @@ -0,0 +1,584 @@ + + + +QBasicApps - collection of applications mostly written in MS QBasic for DOS environment + + + + + + + +" + + + + + +
+

QBasicApps - collection of applications mostly written in MS QBasic for DOS environment

+
+ + + + +

+Parses scene definition language and creates 3D world based on +it. Result will be in a wavefront obj file, witch can be then +visualized using external renderer. +

+ +

+Basic concept of defining scene is: +

+
    +
  • Simple and primitive objects are created on point and polygon level. +
  • +
  • More complex ones can be created my combinig already existing ones, +while applying various transformations on them. +
  • +
+ +

+Objects with all its subobjects can be rotated, mirrored or resized +omong any axis. Generator has built in cache for data input and output +to minimize file access. +

+ +
+

1 System requirements

+
+ + + +++ ++ + + + + + + + + + + + + + + + + + +
softwarepreferred version
DOS6.22
QBasic4.5
+
+
+
+

2 Installation

+
+
    +
  • Unpack ZIP file in any folder. +
  • +
  • update include path inside bin/3dparse.bas +
  • +
+
+
+

2.0.1 Directory layout

+
+
    +
  • bin +
      +
    • 3dparse.bas - 3D generator main executable +
    • +
    • city1.3d - city with square-like buildings +
    • +
    • city2.3d - city with hexangular buildings +
    • +
    • result.mtl - shared material library +
    • +
    • *.bat - quick launch scripts +
    • +
    +
  • + +
  • include - 3D objects used to compose the scene +
  • +
+
+
+
+
+

3 Scene description language

+
+

+(read examples…) +

+ + +
+here
+
+

+defines new segment +

+ +
+p  x y z
+
+

+defines new point +

+ +
+f  p1 p2 p3 p4
+
+

+defines new polygon, p4 may be unused +

+ + +
+warn  <message>
+
+

+displays warning message, and wait for key +

+ +
+end
+
+

+terminates parser +

+ +
+mtl  material
+
+

+selects material +

+ +
+mtlrnd  material ...
+
+

+selects random material from list +

+ +
+obj  object xz45 xy20 x+3 y*2
+
+

+includes sub object, can be rotated moved or resized, across X Y Z. If +object name begin vith ~ then it will be loaded from current +directory. if object name ends with ~ then object will be parsed +directly from file, and not chached, to allow loading of greater than +500 lines files. +

+ + +
+

rotation.png +

+
+ + +
+rnd  p^1^2^3 p^7^2^1
+
+

+select random command to execute, ^ will be converted to spaces. +

+ +
+# whatever text
+
+

+comment +

+ +
+out  file
+
+

+specify output file name, must be first command +

+ +
+set  variable  contents
+
+

+set variable contents, variable must be number, contents can be +string. max variables is 100. first is 0. +

+ +
+anycommand %1 anything
+
+

+inserts variable 1 contents info line +

+ +
+cmp  flag string1 string2
+
+

+compares strings, and inserts TRUE to flag, if they are equal, else inserts FALSE. max 9 falgs, 0 first. Each subobject has its own flags. +

+ +
+?flag anycommand
+
+

+executes command if flag is true. +

+ +

+exapmle: ?3 obj car z*2 xy45 +

+ +
+dum
+
+

+dummy function, does notheing +

+
+
+ +
+

4 Usage

+
+

+Make sure you have QB binaries in your PATH. Execute +

+
+bin/city1.bat
+
+

+or +

+
+bin/city2.bat
+
+

+to generate example cities. After parsing is finished, appropriate +*.obj files will appear in the bin directory holding generated scene. +Visualize scene with your favourite renderer. +

+
+
+
+

5 Examples

+
+

+Download Blender files: +

+ + + +++ ++ + + + + + + + + + + + + + + + + + +
filesize
rectangular city.blend3.6 MB
hexagonal city.blend21 MB
+ +

+They were produced by importing generated wavefront obj files into +Blender. +

+
+ +
+

5.1 Rectangular city

+
+ +
+

rectangular city, 1.jpeg +

+
+ + +
+

rectangular city, 2.jpeg +

+
+ + +
+

rectangular city, 3.jpeg +

+
+
+
+
+

5.2 Hexagonal city

+
+ +
+

hexagonal city, 1.jpeg +

+
+ + +
+

hexagonal city, 2.jpeg +

+
+ + +
+

hexagonal city, 3.jpeg +

+
+
+
+
+
+ + + diff --git a/graphics/3D/3D Synthezier/doc/index.org b/graphics/3D/3D Synthezier/doc/index.org new file mode 100644 index 0000000..587aaf6 --- /dev/null +++ b/graphics/3D/3D Synthezier/doc/index.org @@ -0,0 +1,151 @@ +#+TITLE: QBasicApps - collection of applications mostly written in MS QBasic for DOS environment + +----- +- [[http://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=snapshot;h=HEAD;sf=tgz][download latest snapshot]] + +- This program is free software; you can redistribute it and/or modify + it under the terms of version 3 of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public + License]] or later as published by the Free Software Foundation. + +- Program author: + - Svjatoslav Agejenko + - Homepage: http://svjatoslav.eu + - Email: mailto://svjatoslav@svjatoslav.eu + +- [[http://www.svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]] + + + +Parses scene definition language and creates 3D world based on +it. Result will be in a [[https://en.wikipedia.org/wiki/Wavefront_.obj_file][wavefront obj file]], witch can be then +visualized using external renderer. + +Basic concept of defining scene is: +- Simple and primitive objects are created on point and polygon level. +- More complex ones can be created my combinig already existing ones, + while applying various transformations on them. + +Objects with all its subobjects can be rotated, mirrored or resized +omong any axis. Generator has built in cache for data input and output +to minimize file access. + +* System requirements +| software | preferred version | +|----------+-------------------| +| DOS | 6.22 | +| QBasic | 4.5 | +* Installation ++ Unpack ZIP file in any folder. ++ update include path inside bin/3dparse.bas +*** Directory layout ++ bin + + 3dparse.bas - 3D generator main executable + + city1.3d - city with square-like buildings + + city2.3d - city with hexangular buildings + + result.mtl - shared material library + + *.bat - quick launch scripts + ++ include - 3D objects used to compose the scene +* Scene description language +(read examples...) + + +: here +defines new segment + +: p x y z +defines new point + +: f p1 p2 p3 p4 +defines new polygon, p4 may be unused + + +: warn +displays warning message, and wait for key + +: end +terminates parser + +: mtl material +selects material + +: mtlrnd material ... +selects random material from list + +: obj object xz45 xy20 x+3 y*2 +includes sub object, can be rotated moved or resized, across X Y Z. If +object name begin vith ~ then it will be loaded from current +directory. if object name ends with ~ then object will be parsed +directly from file, and not chached, to allow loading of greater than +500 lines files. + +[[file:rotation.png]] + + +: rnd p^1^2^3 p^7^2^1 +select random command to execute, ^ will be converted to spaces. + +: # whatever text +comment + +: out file +specify output file name, must be first command + +: set variable contents +set variable contents, variable must be number, contents can be +string. max variables is 100. first is 0. + +: anycommand %1 anything +inserts variable 1 contents info line + +: cmp flag string1 string2 +compares strings, and inserts TRUE to flag, if they are equal, else inserts FALSE. max 9 falgs, 0 first. Each subobject has its own flags. + +: ?flag anycommand +executes command if flag is true. + +exapmle: ?3 obj car z*2 xy45 + +: dum +dummy function, does notheing + +* Usage +Make sure you have QB binaries in your PATH. Execute +: bin/city1.bat +or +: bin/city2.bat +to generate example cities. After parsing is finished, appropriate +*.obj files will appear in the bin directory holding generated scene. +Visualize scene with your favourite renderer. +* Examples +Download Blender files: +| file | size | +|------------------------+--------| +| [[file:rectangular city.blend][rectangular city.blend]] | 3.6 MB | +| [[file:hexagonal city.blend][hexagonal city.blend]] | 21 MB | + +They were produced by importing generated [[https://en.wikipedia.org/wiki/Wavefront_.obj_file][wavefront obj files]] into +[[https://www.blender.org/][Blender]]. + +** Rectangular city +[[file:rectangular city, 1.jpeg]] + +[[file:rectangular city, 2.jpeg]] + +[[file:rectangular city, 3.jpeg]] +** Hexagonal city +[[file:hexagonal city, 1.jpeg]] + +[[file:hexagonal city, 2.jpeg]] + +[[file:hexagonal city, 3.jpeg]] + +* (document settings) :noexport: +** use dark style for TWBS-HTML exporter +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: " +#+HTML_HEAD: diff --git a/graphics/3D/3D Synthezier/doc/rectangular city, 1.jpeg b/graphics/3D/3D Synthezier/doc/rectangular city, 1.jpeg new file mode 100644 index 0000000..def4065 Binary files /dev/null and b/graphics/3D/3D Synthezier/doc/rectangular city, 1.jpeg differ diff --git a/graphics/3D/3D Synthezier/doc/rectangular city, 2.jpeg b/graphics/3D/3D Synthezier/doc/rectangular city, 2.jpeg new file mode 100644 index 0000000..0173e47 Binary files /dev/null and b/graphics/3D/3D Synthezier/doc/rectangular city, 2.jpeg differ diff --git a/graphics/3D/3D Synthezier/doc/rectangular city, 3.jpeg b/graphics/3D/3D Synthezier/doc/rectangular city, 3.jpeg new file mode 100644 index 0000000..20fc33c Binary files /dev/null and b/graphics/3D/3D Synthezier/doc/rectangular city, 3.jpeg differ diff --git a/graphics/3D/3D Synthezier/doc/rectangular city.blend b/graphics/3D/3D Synthezier/doc/rectangular city.blend new file mode 100644 index 0000000..a532224 Binary files /dev/null and b/graphics/3D/3D Synthezier/doc/rectangular city.blend differ diff --git a/graphics/3D/3D Synthezier/doc/rotation.png b/graphics/3D/3D Synthezier/doc/rotation.png new file mode 100644 index 0000000..e6281ec Binary files /dev/null and b/graphics/3D/3D Synthezier/doc/rotation.png differ diff --git a/graphics/3D/3D Synthezier/include/6nrk0s.3d b/graphics/3D/3D Synthezier/include/6nrk0s.3d new file mode 100644 index 0000000..906ff9b --- /dev/null +++ b/graphics/3D/3D Synthezier/include/6nrk0s.3d @@ -0,0 +1,6 @@ +# suur 6 nurkse maja kompleks koos korteritega + +obj blk3 +set 1 kivi +set 2 0 +obj nrk6 x*20 y*5 z*20 y+21 diff --git a/graphics/3D/3D Synthezier/include/6nrk2s.3d b/graphics/3D/3D Synthezier/include/6nrk2s.3d new file mode 100644 index 0000000..8a40ce1 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/6nrk2s.3d @@ -0,0 +1,8 @@ +# suur 6 nurkse maja kompleks koos korterite ja 2. sillaga + +obj blk3 +set 1 kivi +set 2 0 +obj nrk6 x*20 y*5 z*20 y+21 +obj bridgegl xz-90 y+22.5 x-1.5 z-17.3206 +obj bridgegl xz-30 y+22.5 x+14.25 z-9.9593 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/blk1.3d b/graphics/3D/3D Synthezier/include/blk1.3d new file mode 100644 index 0000000..661ff77 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/blk1.3d @@ -0,0 +1,15 @@ +# tavaline suur aken +here +p 0 0 0 +p 6 0 0 +p 6 -3 0 +p 0 -3 0 + +p 0.5 -0.5 -0.01 +p 5.5 -0.5 -0.01 +p 5.5 -2 -0.01 +p 0.5 -2 -0.01 +mtl seintellis +f 0 1 2 3 +mtlrnd klaashele klaastume +f 4 5 6 7 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/blk2.3d b/graphics/3D/3D Synthezier/include/blk2.3d new file mode 100644 index 0000000..b2828bf --- /dev/null +++ b/graphics/3D/3D Synthezier/include/blk2.3d @@ -0,0 +1,33 @@ +# v2ike aken koosparkimisplatsiga + +# rnd obj^car^xz90^x+4.5^z-1.7^y-2.5 # # + +here +p 0 0 0 +p 6 0 0 +p 6 -3 0 +p 0 -3 0 + +p 0.5 -0.5 -0.01 +p 2 -0.5 -0.01 +p 2 -2 -0.01 +p 0.5 -2 -0.01 + +p 2.5 -0.5 -0.01 +p 5.5 -0.5 -0.01 +p 5.5 -3 -0.01 +p 2.5 -3 -0.01 + +p 0 -3 0 +p 6 -3 0 +p 6 -3 -3 +p 0 -3 -3 + +mtl seintellis +f 0 1 2 3 +mtlrnd klaashele klaastume +f 4 5 6 7 +mtl pronks +f 8 9 10 11 +mtl kivi +f 12 13 14 15 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/blk3.3d b/graphics/3D/3D Synthezier/include/blk3.3d new file mode 100644 index 0000000..a62b82c --- /dev/null +++ b/graphics/3D/3D Synthezier/include/blk3.3d @@ -0,0 +1,34 @@ +# kuuenurkse maja korterite blokk + +obj krs2 +obj krs2 y+3 +obj krs2 y+6 +obj krs2 y+9 + +obj krs2 y+12 +obj krs2 y+15 +obj krs2 y+18 +obj krs2 y+21 + +here +p -12 -3 -20.7846 +p 12 -3 -20.7846 +p 24 -3 0 +p 12 -3 20.7846 +p -12 -3 20.7846 +p -24 -3 0 + +p -12 21 -20.7846 +p 12 21 -20.7846 +p 24 21 0 +p 12 21 20.7846 +p -12 21 20.7846 +p -24 21 0 + +mtl seintellis +f 0 1 2 3 +f 3 4 5 0 +f 6 7 8 9 +f 9 10 11 6 + + diff --git a/graphics/3D/3D Synthezier/include/blk4.3d b/graphics/3D/3D Synthezier/include/blk4.3d new file mode 100644 index 0000000..924f68a --- /dev/null +++ b/graphics/3D/3D Synthezier/include/blk4.3d @@ -0,0 +1,8 @@ +# 1 kompleks 7st, 6 nurkselt sildadega uhendatud elamu moodulitest +obj 6nrk0s +obj 6nrk2s z+64.6412 +obj 6nrk2s xz-60 x+55.9809 z+32.3206 +obj 6nrk2s xz-120 x+55.9809 z-32.3206 +obj 6nrk2s xz-180 z-64.6412 +obj 6nrk2s xz-240 x-55.9809 z-32.3206 +obj 6nrk2s xz-300 x-55.9809 z+32.3206 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/bridge.3d b/graphics/3D/3D Synthezier/include/bridge.3d new file mode 100644 index 0000000..d6dc47f --- /dev/null +++ b/graphics/3D/3D Synthezier/include/bridge.3d @@ -0,0 +1,5 @@ +obj handrail +obj handrail z+3 +set 1 kivi +set 2 0 +obj nrk4 x*3.2 y*0.2 xz-90 z+1.5 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/bridge1.3d b/graphics/3D/3D Synthezier/include/bridge1.3d new file mode 100644 index 0000000..e8563ae --- /dev/null +++ b/graphics/3D/3D Synthezier/include/bridge1.3d @@ -0,0 +1,36 @@ +obj bridge +obj bridge x+1 +obj bridge x+2 +obj bridge x+3 +obj bridge x+4 + +obj bridge x+5 +obj bridge x+6 +obj bridge x+7 +obj bridge x+8 +obj bridge x+9 + +obj bridge x+10 +obj bridge x+11 +obj bridge x+12 +obj bridge x+13 +obj bridge x+14 + +obj bridge x+15 +obj bridge x+16 +obj bridge x+17 +obj bridge x+18 +obj bridge x+19 + +obj bridge x+20 +obj bridge x+21 +obj bridge x+22 +obj bridge x+23 +obj bridge x+24 + +obj bridge x+25 +obj bridge x+26 +obj bridge x+27 +obj bridge x+28 +obj bridge x+29 + diff --git a/graphics/3D/3D Synthezier/include/bridgegl.3d b/graphics/3D/3D Synthezier/include/bridgegl.3d new file mode 100644 index 0000000..4bb43a5 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/bridgegl.3d @@ -0,0 +1,4 @@ +obj bridge1 +set 1 glass_transp +set 2 0 +obj nrk8 xz-90 x*30 z*3 z+1.5 y*2 y+1 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/bus.3d b/graphics/3D/3D Synthezier/include/bus.3d new file mode 100644 index 0000000..21f5753 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/bus.3d @@ -0,0 +1,52 @@ +obj bus_frnt +obj bus_frnt xz180 z+9 + +obj bus_wind x+2.5 y+1 z+2 +obj bus_wind x+2.5 y+1 z+3.5 +obj bus_wind x+2.5 y+1 z+5 + +obj bus_wind x*-1 x-2.5 y+1 z+2 +obj bus_wind x*-1 x-2.5 y+1 z+3.5 +obj bus_wind x*-1 x-2.5 y+1 z+5 + +obj flare_w x+1 z-0.01 +obj flare_w x*-1 x-1 z-0.01 +obj flare_r x+1 z+9.01 +obj flare_r x*-1 x-1 z+9.01 +here +p -2.5 1 0.5 +p 2.5 1 0.5 +p 2.5 -1 0.5 +p -2.5 -1 0.5 + +p -2.5 1 8.5 +p 2.5 1 8.5 +p 2.5 -1 8.5 +p -2.5 -1 8.5 + +p -2.5 1 2 +p 2.5 1 2 +p -1.5 2 2 +p 1.5 2 2 + +p -2.5 1 6.5 +p 2.5 1 6.5 +p -1.5 2 6.5 +p 1.5 2 6.5 + + +mtl metal_yellow +# f 0 1 5 4 +f 1 2 6 5 +f 2 3 7 6 +f 3 0 4 7 + +f 4 5 15 14 +f 4 12 14 +f 5 13 15 + +mtl klaashele +f 0 1 11 10 +f 0 8 10 +f 1 9 11 + diff --git a/graphics/3D/3D Synthezier/include/bus_frnt.3d b/graphics/3D/3D Synthezier/include/bus_frnt.3d new file mode 100644 index 0000000..62d4137 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/bus_frnt.3d @@ -0,0 +1,17 @@ +here +p -2 -0.5 0 +p 2 -0.5 0 +p 2 0.5 0 +p -2 0.5 0 + +p -2.5 -1 0.5 +p 2.5 -1 0.5 +p 2.5 1 0.5 +p -2.5 1 0.5 + +mtl metal_yellow +f 0 1 2 3 +f 0 1 5 4 +f 1 2 6 5 +f 2 3 7 6 +f 0 3 7 4 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/bus_wind.3d b/graphics/3D/3D Synthezier/include/bus_wind.3d new file mode 100644 index 0000000..c0f63de --- /dev/null +++ b/graphics/3D/3D Synthezier/include/bus_wind.3d @@ -0,0 +1,17 @@ +here +p 0 0 0 +p -1 1 0 +p -1 1 0.5 +p 0 0 0.5 + +p -1 1 1.5 +p 0 0 1.5 + +p -2.5 1 0 +p -2.5 1 1.5 + +mtl metal_yellow +f 0 1 2 3 +f 1 4 7 6 +mtl klaashele +f 2 3 5 4 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/car.3d b/graphics/3D/3D Synthezier/include/car.3d new file mode 100644 index 0000000..4d6258b --- /dev/null +++ b/graphics/3D/3D Synthezier/include/car.3d @@ -0,0 +1,33 @@ +obj car_frnt +obj car_frnt xz180 z+4 +obj flare_w x+0.25 z-0.01 +obj flare_w x*-1 x-0.25 z-0.01 +obj flare_r x+0.25 z+4.01 +obj flare_r x*-1 x-0.25 z+4.01 + +here +p -1 0.5 1 +p 1 0.5 1 +p 1 -0.5 1 +p -1 -0.5 1 + +p -1 0.5 3 +p 1 0.5 3 +p 1 -0.5 3 +p -1 -0.5 3 + +p -0.5 1.5 2.5 +p 0.5 1.5 2.5 + + + +mtl metal_yellow +# f 0 4 5 1 +f 1 5 6 2 +f 2 6 7 3 +f 3 7 4 0 +mtl klaashele +f 8 9 1 0 +f 8 0 4 +f 9 1 5 +f 8 9 5 4 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/car_frnt.3d b/graphics/3D/3D Synthezier/include/car_frnt.3d new file mode 100644 index 0000000..697b6f4 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/car_frnt.3d @@ -0,0 +1,17 @@ +here +p -0.5 0.25 0 +p 0.5 0.25 0 +p 0.5 -0.25 0 +p -0.5 -0.25 0 + +p -1 0.5 1 +p 1 0.5 1 +p 1 -0.5 1 +p -1 -0.5 1 + +mtl metal_yellow +f 0 1 2 3 +f 0 4 5 1 +f 1 5 6 2 +f 2 6 7 3 +f 3 7 4 0 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/cars.3d b/graphics/3D/3D Synthezier/include/cars.3d new file mode 100644 index 0000000..97e1482 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/cars.3d @@ -0,0 +1,10 @@ +obj bus xz190 y+1 +obj car xz175 z+20 y-0.5 +obj car xz182 yz10 x+5 z+50 y-0.2 +obj car xz170 yz-5 xy10 x+1 z+60 y-1.3 +obj car xz188 yz-2 xy-5 x+3 z+34 y+0.6 + +obj car xz5 yz1 xy15 x-5 z+55 y+0.23 +obj car xz-2 yz2 xy-3 x-10 z+32 y-1.1 +obj car xz-4 yz-8 xy-9 x-5 z+8 y+0.4 +rnd obj^car^xz3^yz-2^xy3^x-8^z+57^y+0.1 obj^pol^xz3^yz-2^xy3^x-8^z+57^y+0.1 diff --git a/graphics/3D/3D Synthezier/include/flare_r.3d b/graphics/3D/3D Synthezier/include/flare_r.3d new file mode 100644 index 0000000..39a35f2 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/flare_r.3d @@ -0,0 +1,9 @@ +here +p 0 0.3 0 +p 0.3 0.3 0 +p 0.3 0 0 +p 0 0 0 +p 0.4 0.15 0 +mtl light_red +f 0 1 2 3 +f 1 2 4 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/flare_w.3d b/graphics/3D/3D Synthezier/include/flare_w.3d new file mode 100644 index 0000000..65044d0 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/flare_w.3d @@ -0,0 +1,9 @@ +here +p 0 0.3 0 +p 0.3 0.3 0 +p 0.3 0 0 +p 0 0 0 +p 0.4 0.15 0 +mtl light_white +f 0 1 2 3 +f 1 2 4 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/handrail.3d b/graphics/3D/3D Synthezier/include/handrail.3d new file mode 100644 index 0000000..91f80fe --- /dev/null +++ b/graphics/3D/3D Synthezier/include/handrail.3d @@ -0,0 +1,8 @@ +# size x=1 y=1 z=0.1 + +set 1 pronks +set 2 1 +obj nrk8 xz-90 y*0.1 z*0.1 y+1 +set 2 0 +obj nrk8 x*0.07 y*0.07 yz-90 +obj nrk8 x*0.07 y*0.07 yz-90 x+0.5 diff --git a/graphics/3D/3D Synthezier/include/katus.3d b/graphics/3D/3D Synthezier/include/katus.3d new file mode 100644 index 0000000..78547d1 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/katus.3d @@ -0,0 +1,12 @@ +here +p 0 0 0 +p 96 0 0 +p 96 0 24 +p 0 0 24 + +mtl kivi +f 0 1 2 3 + +obj toru x+12 z+12 +obj toru x+36 z+12 +obj solar x+72 z+12 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/katus2.3d b/graphics/3D/3D Synthezier/include/katus2.3d new file mode 100644 index 0000000..7fb86bf --- /dev/null +++ b/graphics/3D/3D Synthezier/include/katus2.3d @@ -0,0 +1,19 @@ +here +p 0 0 0 +p 96 0 0 +p 96 0 24 +p 0 0 24 + +mtl kivi +f 0 1 2 3 + +obj toru x+12 z+12 +# obj toru x*0.2 z*0.2 y*0.5 x+36 z+12 +obj toru x*0.4 z*0.4 y*0.5 x+30 z+6 +obj toru x*0.4 z*0.4 y*0.5 x+30 z+18 +obj toru x*0.4 z*0.4 y*0.5 x+42 z+6 +obj toru x*0.4 z*0.4 y*0.5 x+42 z+18 + +obj bus x+60 y+1 z+2 +obj bus x+70 y+1 z+2 +obj bus x+80 y+1 z+2 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/katus3.3d b/graphics/3D/3D Synthezier/include/katus3.3d new file mode 100644 index 0000000..c8d0676 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/katus3.3d @@ -0,0 +1,31 @@ +here +p 0 0 0 +p 96 0 0 +p 96 0 24 +p 0 0 24 + +mtl kivi +f 0 1 2 3 + +obj pol y+0.5 x+2 z+1 +obj pol y+0.5 x+9 z+1 +obj pol y+0.5 x+16 z+1 +obj pol y+0.5 x+23 z+1 +obj pol y+0.5 x+30 z+1 +obj pol y+0.5 x+37 z+1 +obj pol y+0.5 x+44 z+1 +obj pol y+0.5 x+51 z+1 + +obj pol y+0.5 x+2 z+13 +obj pol y+0.5 x+9 z+13 +obj pol y+0.5 x+16 z+13 +obj pol y+0.5 x+23 z+13 +obj pol y+0.5 x+30 z+13 +obj pol y+0.5 x+37 z+13 +obj pol y+0.5 x+44 z+13 +obj pol y+0.5 x+51 z+13 + +obj bus xz90 y+1 x+70 z+6 +obj bus xz90 y+1 x+85 z+6 +obj bus xz90 y+1 x+70 z+17 +obj bus xz90 y+1 x+85 z+17 diff --git a/graphics/3D/3D Synthezier/include/krs1.3d b/graphics/3D/3D Synthezier/include/krs1.3d new file mode 100644 index 0000000..ffee343 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/krs1.3d @@ -0,0 +1,6 @@ +# neljanurkse maja korrus + +obj seinp1 x-48 z-12 +obj seinp1 xz180 x+48 z+12 +obj seinl1 xz270 x-48 z+12 +obj seinl1 xz90 x+48 z-12 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/krs2.3d b/graphics/3D/3D Synthezier/include/krs2.3d new file mode 100644 index 0000000..9cac787 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/krs2.3d @@ -0,0 +1,9 @@ +# kuuenurkse maja 1 korrus + +obj seinl1 x-12 z-20.7846 +obj seinl1 xz60 x+12 z-20.7846 +obj seinl1 xz120 x+24 +obj seinl1 xz180 x+12 z+20.7846 +obj seinl1 xz240 x-12 z+20.7846 +obj seinl1 xz300 x-24 + diff --git a/graphics/3D/3D Synthezier/include/kuppel.3d b/graphics/3D/3D Synthezier/include/kuppel.3d new file mode 100644 index 0000000..b4b8771 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/kuppel.3d @@ -0,0 +1,292 @@ +here +p 0 0 0 +p -1.0 0.0 0.0 +p -0.965926 0.0 -0.258819 +p -0.965926 0.0 0.258819 +p -0.965926 0.258819 0.0 +p -0.933013 0.258819 -0.250000 +p -0.933013 0.258819 0.250000 +p -0.866025 0.0 -0.500000 +p -0.866025 0.0 0.500000 +p -0.866025 0.500000 0.0 +p -0.836516 0.258819 -0.482963 +p -0.836516 0.258819 0.482963 +p -0.836516 0.500000 -0.224144 +p -0.836516 0.500000 0.224144 +p -0.750000 0.500000 -0.433013 +p -0.750000 0.500000 0.433013 +p -0.707107 0.0 -0.707107 +p -0.707107 0.0 0.707107 +p -0.707107 0.707107 0.0 +p -0.683013 0.258819 -0.683013 +p -0.683013 0.258819 0.683013 +p -0.683013 0.707107 -0.183013 +p -0.683013 0.707107 0.183013 +p -0.612372 0.500000 -0.612372 +p -0.612372 0.500000 0.612372 +p -0.612372 0.707107 -0.353553 +p -0.612372 0.707107 0.353553 +p -0.500000 0.0 -0.866025 +p -0.500000 0.0 0.866025 +p -0.500000 0.866025 0.0 +p -0.500000 0.707107 -0.500000 +p -0.500000 0.707107 0.500000 +p -0.482963 0.258819 -0.836516 +p -0.482963 0.258819 0.836516 +p -0.482963 0.866025 -0.129410 +p -0.482963 0.866025 0.129410 +p -0.433013 0.500000 -0.750000 +p -0.433013 0.500000 0.750000 +p -0.433013 0.866025 -0.250000 +p -0.433013 0.866025 0.250000 +p -0.353553 0.707107 -0.612372 +p -0.353553 0.707107 0.612372 +p -0.353553 0.866025 -0.353553 +p -0.353553 0.866025 0.353553 +p -0.258819 0.0 -0.965926 +p -0.258819 0.0 0.965926 +p -0.258819 0.965926 0.0 +p -0.250000 0.258819 -0.933013 +p -0.250000 0.258819 0.933013 +p -0.250000 0.866025 -0.433013 +p -0.250000 0.866025 0.433013 +p -0.250000 0.965926 -0.066987 +p -0.250000 0.965926 0.066987 +p -0.224144 0.500000 -0.836516 +p -0.224144 0.500000 0.836516 +p -0.224144 0.965926 -0.129410 +p -0.224144 0.965926 0.129410 +p -0.183013 0.707107 -0.683013 +p -0.183013 0.707107 0.683013 +p -0.183013 0.965926 -0.183013 +p -0.183013 0.965926 0.183013 +p -0.129410 0.866025 -0.482963 +p -0.129410 0.866025 0.482963 +p -0.129410 0.965926 -0.224144 +p -0.129410 0.965926 0.224144 +p -0.066987 0.965926 -0.250000 +p -0.066987 0.965926 0.250000 +p 0.0 0.0 1.0 +p 0.0 0.258819 0.965926 +p 0.0 0.500000 0.866025 +p 0.0 0.707107 0.707107 +p 0.0 0.866025 0.500000 +p 0.0 0.965926 0.258819 +p 0.0 1.0 0.0 +p 0.0 0.965926 -0.258819 +p 0.0 0.866025 -0.500000 +p 0.0 0.707107 -0.707107 +p 0.0 0.500000 -0.866025 +p 0.0 0.258819 -0.965926 +p 0.0 0.0 -1.0 +p 0.066987 0.965926 -0.250000 +p 0.066987 0.965926 0.250000 +p 0.129410 0.866025 -0.482963 +p 0.129410 0.866025 0.482963 +p 0.129410 0.965926 -0.224144 +p 0.129410 0.965926 0.224144 +p 0.183013 0.707107 -0.683013 +p 0.183013 0.707107 0.683013 +p 0.183013 0.965926 -0.183013 +p 0.183013 0.965926 0.183013 +p 0.224144 0.500000 -0.836516 +p 0.224144 0.500000 0.836516 +p 0.224144 0.965926 -0.129410 +p 0.224144 0.965926 0.129410 +p 0.250000 0.258819 -0.933013 +p 0.250000 0.258819 0.933013 +p 0.250000 0.866025 -0.433013 +p 0.250000 0.866025 0.433013 +p 0.250000 0.965926 -0.066987 +p 0.250000 0.965926 0.066987 +p 0.258819 0.0 -0.965926 +p 0.258819 0.0 0.965926 +p 0.258819 0.965926 0.0 +p 0.353553 0.707107 -0.612372 +p 0.353553 0.707107 0.612372 +p 0.353553 0.866025 -0.353553 +p 0.353553 0.866025 0.353553 +p 0.433013 0.500000 -0.750000 +p 0.433013 0.500000 0.750000 +p 0.433013 0.866025 -0.250000 +p 0.433013 0.866025 0.250000 +p 0.482963 0.258819 -0.836516 +p 0.482963 0.258819 0.836516 +p 0.482963 0.866025 -0.129410 +p 0.482963 0.866025 0.129410 +p 0.500000 0.707107 -0.500000 +p 0.500000 0.707107 0.500000 +p 0.500000 0.0 -0.866025 +p 0.500000 0.0 0.866025 +p 0.500000 0.866025 0.0 +p 0.612372 0.500000 -0.612372 +p 0.612372 0.500000 0.612372 +p 0.612372 0.707107 -0.353553 +p 0.612372 0.707107 0.353553 +p 0.683013 0.258819 -0.683013 +p 0.683013 0.258819 0.683013 +p 0.683013 0.707107 -0.183013 +p 0.683013 0.707107 0.183013 +p 0.707107 0.0 -0.707107 +p 0.707107 0.0 0.707107 +p 0.707107 0.707107 0.0 +p 0.750000 0.500000 -0.433013 +p 0.750000 0.500000 0.433013 +p 0.836516 0.258819 -0.482963 +p 0.836516 0.258819 0.482963 +p 0.836516 0.500000 -0.224144 +p 0.836516 0.500000 0.224144 +p 0.866025 0.0 -0.500000 +p 0.866025 0.0 0.500000 +p 0.866025 0.500000 0.0 +p 0.933013 0.258819 -0.250000 +p 0.933013 0.258819 0.250000 +p 0.965926 0.0 -0.258819 +p 0.965926 0.0 0.258819 +p 0.965926 0.258819 0.0 +p 1.0 0.0 0.0 + +f 73 102 98 +f 102 119 113 98 +f 119 130 126 113 +f 130 139 135 126 +f 139 144 140 135 +f 144 145 142 140 +f 73 98 92 +f 98 113 109 92 +f 113 126 122 109 +f 126 135 131 122 +f 135 140 133 131 +f 140 142 137 133 +f 73 92 88 +f 92 109 105 88 +f 109 122 115 105 +f 122 131 120 115 +f 131 133 124 120 +f 133 137 128 124 +f 73 88 84 +f 88 105 96 84 +f 105 115 103 96 +f 115 120 107 103 +f 120 124 111 107 +f 124 128 117 111 +f 73 84 80 +f 84 96 82 80 +f 96 103 86 82 +f 103 107 90 86 +f 107 111 94 90 +f 111 117 100 94 +f 73 80 74 +f 80 82 75 74 +f 82 86 76 75 +f 86 90 77 76 +f 90 94 78 77 +f 94 100 79 78 +f 73 74 65 +f 74 75 61 65 +f 75 76 57 61 +f 76 77 53 57 +f 77 78 47 53 +f 78 79 44 47 +f 73 65 63 +f 65 61 49 63 +f 61 57 40 49 +f 57 53 36 40 +f 53 47 32 36 +f 47 44 27 32 +f 73 63 59 +f 63 49 42 59 +f 49 40 30 42 +f 40 36 23 30 +f 36 32 19 23 +f 32 27 16 19 +f 73 59 55 +f 59 42 38 55 +f 42 30 25 38 +f 30 23 14 25 +f 23 19 10 14 +f 19 16 7 10 +f 73 55 51 +f 55 38 34 51 +f 38 25 21 34 +f 25 14 12 21 +f 14 10 5 12 +f 10 7 2 5 +f 73 51 46 +f 51 34 29 46 +f 34 21 18 29 +f 21 12 9 18 +f 12 5 4 9 +f 5 2 1 4 +f 73 46 52 +f 46 29 35 52 +f 29 18 22 35 +f 18 9 13 22 +f 9 4 6 13 +f 4 1 3 6 +f 73 52 56 +f 52 35 39 56 +f 35 22 26 39 +f 22 13 15 26 +f 13 6 11 15 +f 6 3 8 11 +f 73 56 60 +f 56 39 43 60 +f 39 26 31 43 +f 26 15 24 31 +f 15 11 20 24 +f 11 8 17 20 +f 73 60 64 +f 60 43 50 64 +f 43 31 41 50 +f 31 24 37 41 +f 24 20 33 37 +f 20 17 28 33 +f 73 64 66 +f 64 50 62 66 +f 50 41 58 62 +f 41 37 54 58 +f 37 33 48 54 +f 33 28 45 48 +f 73 66 72 +f 66 62 71 72 +f 62 58 70 71 +f 58 54 69 70 +f 54 48 68 69 +f 48 45 67 68 +f 73 72 81 +f 72 71 83 81 +f 71 70 87 83 +f 70 69 91 87 +f 69 68 95 91 +f 68 67 101 95 +f 73 81 85 +f 81 83 97 85 +f 83 87 104 97 +f 87 91 108 104 +f 91 95 112 108 +f 95 101 118 112 +f 73 85 89 +f 85 97 106 89 +f 97 104 116 106 +f 104 108 121 116 +f 108 112 125 121 +f 112 118 129 125 +f 73 89 93 +f 89 106 110 93 +f 106 116 123 110 +f 116 121 132 123 +f 121 125 134 132 +f 125 129 138 134 +f 73 93 99 +f 93 110 114 99 +f 110 123 127 114 +f 123 132 136 127 +f 132 134 141 136 +f 134 138 143 141 +f 73 99 102 +f 99 114 119 102 +f 114 127 130 119 +f 127 136 139 130 +f 136 141 144 139 +f 141 143 145 144 diff --git a/graphics/3D/3D Synthezier/include/maja.3d b/graphics/3D/3D Synthezier/include/maja.3d new file mode 100644 index 0000000..55c11e5 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/maja.3d @@ -0,0 +1,33 @@ +obj krs1 y-90 +obj krs1 y-87 +obj krs1 y-84 +obj krs1 y-81 +obj krs1 y-78 +obj krs1 y-75 +obj krs1 y-72 +obj krs1 y-69 +obj krs1 y-66 +obj krs1 y-63 +obj krs1 y-60 +obj krs1 y-57 +obj krs1 y-54 +obj krs1 y-51 +obj krs1 y-48 +obj krs1 y-45 +obj krs1 y-42 +obj krs1 y-39 +obj krs1 y-36 +obj krs1 y-33 +obj krs1 y-30 +obj krs1 y-27 +obj krs1 y-24 +obj krs1 y-21 +obj krs1 y-18 +obj krs1 y-15 +obj krs1 y-12 +obj krs1 y-9 +obj krs1 y-6 +obj krs1 y-3 +obj krs1 +obj krs1 y+3 +rnd obj^katus^x-48^z-12^y+3 obj^katus2^x-48^z-12^y+3 obj^katus3^x-48^z-12^y+3 diff --git a/graphics/3D/3D Synthezier/include/nrk4.3d b/graphics/3D/3D Synthezier/include/nrk4.3d new file mode 100644 index 0000000..296dc22 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/nrk4.3d @@ -0,0 +1,29 @@ +# 1 -body material +# 2 = 1 -ends filled +# +# 0--1 +# | | Y +# 3--2 +# +# X + +here +p -0.5 0.5 0 +p 0.5 0.5 0 +p 0.5 -0.5 0 +p -0.5 -0.5 0 + +p -0.5 0.5 1 +p 0.5 0.5 1 +p 0.5 -0.5 1 +p -0.5 -0.5 1 + +mtl %1 +f 0 1 5 4 +f 1 2 6 5 +f 2 3 7 6 +f 3 0 4 7 + +cmp 0 %2 1 +?0 f 0 1 2 3 +?0 f 4 5 6 7 diff --git a/graphics/3D/3D Synthezier/include/nrk6.3d b/graphics/3D/3D Synthezier/include/nrk6.3d new file mode 100644 index 0000000..d096deb --- /dev/null +++ b/graphics/3D/3D Synthezier/include/nrk6.3d @@ -0,0 +1,33 @@ +# 1 -body material +# 2 = 1 -ends filled + +here +p -0.5 0 0.866 +p 0.5 0 0.866 +p 1 0 0 +p 0.5 0 -0.866 +p -0.5 0 -0.866 +p -1 0 0 + +p -0.5 1 0.866 +p 0.5 1 0.866 +p 1 1 0 +p 0.5 1 -0.866 +p -0.5 1 -0.866 +p -1 1 0 + +mtl %1 +f 0 1 7 6 +f 1 2 8 7 +f 2 3 9 8 +f 3 4 10 9 +f 4 5 11 10 +f 5 0 6 11 + +cmp 0 %2 1 +?0 f 0 1 2 3 +?0 f 3 4 5 0 +?0 f 6 7 8 9 +?0 f 9 10 11 6 + + diff --git a/graphics/3D/3D Synthezier/include/nrk8.3d b/graphics/3D/3D Synthezier/include/nrk8.3d new file mode 100644 index 0000000..5e7986a --- /dev/null +++ b/graphics/3D/3D Synthezier/include/nrk8.3d @@ -0,0 +1,47 @@ +# 1 -body material +# 2 = 1 -ends filled +# +# 0--1 +# 7/ \2 +# | * | Y +# 6\ /3 +# 5--4 +# +# X + +here +p -0.333 1 0 +p 0.333 1 0 +p 1 0.333 0 +p 1 -0.333 0 +p 0.333 -1 0 +p -0.333 -1 0 +p -1 -0.333 0 +p -1 0.333 0 + +p -0.333 1 1 +p 0.333 1 1 +p 1 0.333 1 +p 1 -0.333 1 +p 0.333 -1 1 +p -0.333 -1 1 +p -1 -0.333 1 +p -1 0.333 1 + +mtl %1 +f 0 1 9 8 +f 1 2 10 9 +f 2 3 11 10 +f 3 4 12 11 +f 4 5 13 12 +f 5 6 14 13 +f 6 7 15 14 +f 7 0 8 15 + +cmp 0 %2 1 +?0 f 0 1 4 5 +?0 f 1 2 3 4 +?0 f 0 5 6 7 +?0 f 8 9 12 13 +?0 f 9 10 11 12 +?0 f 8 13 14 15 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/plaat.3d b/graphics/3D/3D Synthezier/include/plaat.3d new file mode 100644 index 0000000..8255032 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/plaat.3d @@ -0,0 +1,19 @@ +here +p -0.1 -0.01 -0.1 +p 0.1 -0.01 -0.1 +p 0.1 -0.01 0.1 +p -0.1 -0.01 0.1 + +p -0.1 0.01 -0.1 +p 0.1 0.01 -0.1 +p 0.1 0.01 0.1 +p -0.1 0.01 0.1 + +mtl kivi +f 0 1 2 3 +f 4 5 6 7 + +f 0 1 5 4 +f 1 2 6 5 +f 2 3 7 6 +f 3 0 4 7 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/pol.3d b/graphics/3D/3D Synthezier/include/pol.3d new file mode 100644 index 0000000..256589d --- /dev/null +++ b/graphics/3D/3D Synthezier/include/pol.3d @@ -0,0 +1,37 @@ +obj pol_frnt +obj pol_frnt z*-1 z+5 +obj pol_ceil x*1.5 z+1.5 y+0.5 +obj flare_w x+0.5 z-0.01 y-0.1 +obj flare_w x*-1 x-0.5 z-0.01 y-0.1 +obj flare_r x+0.5 z+5.01 y-0.1 +obj flare_r x*-1 x-0.5 z+5.01 y-0.1 + +here +p -1.25 0.5 0.5 +p 1.25 0.5 0.5 +p 1.5 0.25 0.5 +p 1.5 -0.25 0.5 +p 1.25 -0.5 0.5 +p -1.25 -0.5 0.5 +p -1.5 -0.25 0.5 +p -1.5 0.25 0.5 + +p -1.25 0.5 4.5 +p 1.25 0.5 4.5 +p 1.5 0.25 4.5 +p 1.5 -0.25 4.5 +p 1.25 -0.5 4.5 +p -1.25 -0.5 4.5 +p -1.5 -0.25 4.5 +p -1.5 0.25 4.5 + +mtl metal_blue +f 0 1 9 8 +f 1 2 10 9 +f 2 3 11 10 +f 3 4 12 11 +f 4 5 13 12 +f 5 6 14 13 +f 6 7 15 14 +f 7 0 8 15 + diff --git a/graphics/3D/3D Synthezier/include/pol_ceil.3d b/graphics/3D/3D Synthezier/include/pol_ceil.3d new file mode 100644 index 0000000..68cb41a --- /dev/null +++ b/graphics/3D/3D Synthezier/include/pol_ceil.3d @@ -0,0 +1,21 @@ +here +p -0.5 0.5 0.75 +p 0.5 0.5 0.75 +p 0.5 0 0 +p -0.5 0 0 +p -0.75 0 0.75 +p 0.75 0 0.75 + +p -0.5 0.5 2.25 +p 0.5 0.5 2.25 +p 0.5 0 2.25 +p -0.5 0 2.25 +mtl klaashele +f 0 1 2 3 +f 0 3 4 +f 1 2 5 + +f 0 1 7 6 +f 1 5 8 7 +f 0 4 9 6 +f 6 7 8 9 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/pol_frnt.3d b/graphics/3D/3D Synthezier/include/pol_frnt.3d new file mode 100644 index 0000000..826e568 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/pol_frnt.3d @@ -0,0 +1,24 @@ +here +p -1.25 0.25 0 +p 1.25 0.25 0 +p 1.25 -0.25 0 +p -1.25 -0.25 0 + +p -1.25 0.5 0.5 +p 1.25 0.5 0.5 +p 1.5 0.25 0.5 +p 1.5 -0.25 0.5 +p 1.25 -0.5 0.5 +p -1.25 -0.5 0.5 +p -1.5 -0.25 0.5 +p -1.5 0.25 0.5 +mtl metal_blue +f 0 1 2 3 +f 0 4 5 1 +f 1 5 6 +f 1 6 7 2 +f 2 7 8 +f 2 8 9 3 +f 3 9 10 +f 3 10 11 0 +f 0 11 4 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/ring.3d b/graphics/3D/3D Synthezier/include/ring.3d new file mode 100644 index 0000000..7d19916 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/ring.3d @@ -0,0 +1,52 @@ +here +p 0 0 0 +p -1.0 0.0 0.0 +p -0.965926 0.0 -0.258819 +p -0.965926 0.0 0.258819 +p -0.866025 0.0 -0.500000 +p -0.866025 0.0 0.500000 +p -0.707107 0.0 -0.707107 +p -0.707107 0.0 0.707107 +p -0.500000 0.0 -0.866025 +p -0.500000 0.0 0.866025 +p -0.258819 0.0 -0.965926 +p -0.258819 0.0 0.965926 +p 0.0 0.0 -1.0 +p 0.0 0.0 0.0 +p 0.0 0.0 1.0 +p 0.258819 0.0 0.965926 +p 0.258819 0.0 -0.965926 +p 0.500000 0.0 0.866025 +p 0.500000 0.0 -0.866025 +p 0.707107 0.0 -0.707107 +p 0.707107 0.0 0.707107 +p 0.866025 0.0 -0.500000 +p 0.866026 0.0 0.500000 +p 0.965926 0.0 -0.258819 +p 0.965926 0.0 0.258819 +p 1.0 0.0 0.0 + +f 13 25 23 +f 13 23 21 +f 13 21 19 +f 13 19 18 +f 13 18 16 +f 13 16 12 +f 13 12 10 +f 13 10 8 +f 13 8 6 +f 13 6 4 +f 13 4 2 +f 13 2 1 +f 13 1 3 +f 13 3 5 +f 13 5 7 +f 13 7 9 +f 13 9 11 +f 13 11 14 +f 13 14 15 +f 13 15 17 +f 13 17 20 +f 13 20 22 +f 13 22 24 +f 13 24 25 diff --git a/graphics/3D/3D Synthezier/include/seinl1.3d b/graphics/3D/3D Synthezier/include/seinl1.3d new file mode 100644 index 0000000..b6bf757 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/seinl1.3d @@ -0,0 +1,9 @@ +obj blk1 +obj blk2 x+6 +obj blk2 x+12 +obj blk1 x+18 + +rnd obj^pol^xz-92^z-6^x+1 dum dum dum dum +rnd obj^car^xz91^z-10^x+5 dum dum dum dum +rnd obj^car^xz87^z-8^x+19 dum dum dum dum +rnd obj^bus^xz-90^z-12^x+10 dum dum dum dum dum dum dum dum \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/seinp1.3d b/graphics/3D/3D Synthezier/include/seinp1.3d new file mode 100644 index 0000000..b8499db --- /dev/null +++ b/graphics/3D/3D Synthezier/include/seinp1.3d @@ -0,0 +1,19 @@ +obj blk1 +obj blk1 x+6 +obj blk1 x+12 +obj blk2 x+18 + +obj blk2 x+24 +obj blk1 x+30 +obj blk1 x+36 +obj blk1 x+42 + +obj blk1 x+48 +obj blk1 x+54 +obj blk1 x+60 +obj blk2 x+66 + +obj blk2 x+72 +obj blk1 x+78 +obj blk1 x+84 +obj blk1 x+90 diff --git a/graphics/3D/3D Synthezier/include/solar.3d b/graphics/3D/3D Synthezier/include/solar.3d new file mode 100644 index 0000000..a898eec --- /dev/null +++ b/graphics/3D/3D Synthezier/include/solar.3d @@ -0,0 +1,23 @@ +here +p -3 0 -3 +p 3 0 -3 +p 3 0 3 +p -3 0 3 + +p -3 15 -3 +p 3 15 -3 +p 3 15 3 +p -3 15 3 + +p -20 6 -9 +p 20 6 -9 +p 10 24 9 +p -10 24 9 + +mtl pronks +f 0 1 5 4 +f 1 2 6 5 +f 2 3 7 6 +f 3 0 4 7 +mtl solar +f 8 9 10 11 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/toru.3d b/graphics/3D/3D Synthezier/include/toru.3d new file mode 100644 index 0000000..0f91bfb --- /dev/null +++ b/graphics/3D/3D Synthezier/include/toru.3d @@ -0,0 +1,38 @@ +here +p 0 0 10 +p 0 5 10 + +p 7.071067 0 7.071069 +p 7.071067 5 7.071069 + +p 10 0 3.139165E-06 +p 10 5 3.139165E-06 + +p 7.071071 0 -7.071064 +p 7.071071 5 -7.071064 + +p 6.27833E-06 0 -10 +p 6.27833E-06 5 -10 + +p -7.071062 0 -7.071074 +p -7.071062 5 -7.071074 + +p -10 0 -9.417495E-06 +p -10 5 -9.417495E-06 + +p -7.071075 0 7.07106 +p -7.071075 5 7.07106 +mtl pronks +f 0 1 3 2 +f 2 3 5 4 +f 4 5 7 6 +f 6 7 9 8 + +f 8 9 11 10 +f 10 11 13 12 +f 12 13 15 14 +f 14 15 1 0 + +f 1 3 5 7 +f 1 7 9 15 +f 9 11 13 15 \ No newline at end of file diff --git a/graphics/3D/3D Synthezier/include/vedru.3d b/graphics/3D/3D Synthezier/include/vedru.3d new file mode 100644 index 0000000..6d238b8 --- /dev/null +++ b/graphics/3D/3D Synthezier/include/vedru.3d @@ -0,0 +1,51 @@ +obj plaat xz20 x+0 y+0 z+1 +obj plaat xz18.42122 x+.3894183 y+.1333333 z+.921061 +obj plaat xz13.93413 x+.7173561 y+.2666667 z+.6967067 +obj plaat xz7.247154 x+.9320391 y+.4 z+.3623577 +obj plaat xz-.5839909 x+.9995736 y+.5333334 z-2.919955E-02 +obj plaat xz-8.322937 x+.9092974 y+.6666667 z-.4161468 +obj plaat xz-14.74788 x+.6754631 y+.8 z-.7373938 +obj plaat xz-18.84445 x+.334988 y+.9333334 z-.9422224 +obj plaat xz-19.96589 x-5.837443E-02 y+1.066667 z-.9982948 +obj plaat xz-17.93517 x-.4425208 y+1.2 z-.8967583 +obj plaat xz-13.07286 x-.7568028 y+1.333333 z-.6536433 +obj plaat xz-6.146646 x-.9516022 y+1.466667 z-.3073323 +obj plaat xz1.749993 x-.9961646 y+1.6 z+8.749965E-02 +obj plaat xz9.370347 x-.8834543 y+1.733334 z+.4685173 +obj plaat xz15.51133 x-.631266 y+1.866667 z+.7755664 +obj plaat xz19.20341 x-.2794146 y+2 z+.9601706 +obj plaat xz19.8637 x+.1165502 y+2.133334 z+.9931848 +obj plaat xz17.38794 x+.4941143 y+2.266667 z+.8693969 +obj plaat xz12.16701 x+.7936686 y+2.4 z+.6083503 +obj plaat xz5.025171 x+.96792 y+2.533334 z+.2512586 +obj plaat xz-2.910019 x+.9893581 y+2.666667 z-.145501 +obj plaat xz-10.38578 x+.8545986 y+2.8 z-.5192891 +obj plaat xz-16.22186 x+.584917 y+2.933333 z-.8110932 +obj plaat xz-19.49687 x+.2228901 y+3.066667 z-.9748436 +obj plaat xz-19.69376 x-.1743262 y+3.2 z-.984688 +obj plaat xz-16.78144 x-.5440203 y+3.333333 z-.839072 +obj plaat xz-11.21971 x-.8278257 y+3.466666 z-.5609854 +obj plaat xz-3.886632 x-.9809359 y+3.599999 z-.1943316 +obj plaat xz4.060056 x-.9791781 y+3.733333 z+.2030028 +obj plaat xz11.36575 x-.82283 y+3.866666 z+.5682876 +obj plaat xz16.87705 x-.5365753 y+3.999999 z+.8438524 +obj plaat xz19.72383 x-.1656074 y+4.133332 z+.9861917 +obj plaat xz19.45667 x+.2315063 y+4.266665 z+.9728334 +obj plaat xz16.11773 x+.5920703 y+4.399999 z+.8058863 +obj plaat xz10.23416 x+.8591596 y+4.533332 z+.5117078 +obj plaat xz2.734839 x+.9906067 y+4.666665 z+.1367419 +obj plaat xz-5.196248 x+.9656591 y+4.799998 z-.2598124 +obj plaat xz-12.30696 x+.7882555 y+4.933331 z-.6153481 +obj plaat xz-17.47468 x+.4864039 y+5.066665 z-.8737341 +obj plaat xz-19.88354 x+.1077599 y+5.199998 z-.9941769 +obj plaat xz-19.15323 x-.2878969 y+5.333331 z-.9576614 +obj plaat xz-15.39904 x-.638102 y+5.466665 z-.7699519 +obj plaat xz-9.213687 x-.8875641 y+5.599998 z-.4606843 +obj plaat xz-1.573701 x-.9968995 y+5.733331 z-7.868504E-02 +obj plaat xz6.314738 x-.9488468 y+5.866664 z+.3157369 +obj plaat xz13.20622 x-.7509923 y+5.999998 z+.660311 +obj plaat xz18.01273 x-.4345728 y+6.133331 z+.9006367 +obj plaat xz19.97544 x-4.954402E-02 y+6.266664 z+.998772 +obj plaat xz18.78447 x+.3433067 y+6.399997 z+.9392233 +obj plaat xz14.62785 x+.6819569 y+6.53333 z+.7313923 +obj plaat xz8.161816 x+.9129413 y+6.666664 z+.4080908 diff --git a/graphics/3D/3dSynthezier/.project b/graphics/3D/3dSynthezier/.project deleted file mode 100644 index 969bddf..0000000 --- a/graphics/3D/3dSynthezier/.project +++ /dev/null @@ -1,11 +0,0 @@ - - - 3dSynthezier - - - - - - - - diff --git a/graphics/3D/3dSynthezier/bin/3dparse.bas b/graphics/3D/3dSynthezier/bin/3dparse.bas deleted file mode 100755 index 0f6c09a..0000000 --- a/graphics/3D/3dSynthezier/bin/3dparse.bas +++ /dev/null @@ -1,444 +0,0 @@ -' by Svjatoslav Agejenko -' homeage: http://svjatoslav.eu -' e-mail: svjatoslav@svjatoslav.eu - -' Before running, make sure include path is correct. See below. - -DECLARE SUB parsel (a$) -DECLARE SUB stat2 (b!) -DECLARE SUB stat () -DECLARE SUB getchc (a$, b!) -DECLARE SUB start () -DECLARE SUB qui () -DECLARE SUB flushpoly (a!) -DECLARE SUB usemtl (a$) -DECLARE SUB flushp () -DECLARE SUB parse (a$) -DECLARE SUB geth (b!) -DECLARE SUB cmd (a$) -DECLARE SUB getson (a$) -DIM SHARED px(1 TO 1000) -DIM SHARED py(1 TO 1000) -DIM SHARED pz(1 TO 1000) -DIM SHARED nump -DIM SHARED numpa -DIM SHARED numpo - -DIM SHARED fil(1 TO 100) -DIM SHARED mitus -DIM SHARED sona$(1 TO 20) -DIM SHARED res - -DIM SHARED mtlm -DIM SHARED mtl$(1 TO 50) -DIM SHARED mtlp1(1 TO 50, 1 TO 100) -DIM SHARED mtlp2(1 TO 50, 1 TO 100) -DIM SHARED mtlp3(1 TO 50, 1 TO 100) -DIM SHARED mtlp4(1 TO 50, 1 TO 100) -DIM SHARED mtll(1 TO 50) -DIM SHARED cmtl - -DIM SHARED stkf(1 TO 500) -DIM SHARED stks(1 TO 500) -DIM SHARED stkp, fc, ipath$ - -DIM SHARED chc$(1 TO 10, 1 TO 500) -DIM SHARED chcl(1 TO 10) -DIM SHARED chcf$(1 TO 10) -DIM SHARED chct(1 TO 10) -DIM SHARED chctim -DIM SHARED mtmprs -DIM SHARED tmr - -DIM SHARED var$(0 TO 100) -DIM SHARED flag(1 TO 50, 0 TO 9) -DIM SHARED cstatt, cstatm - - -ipath$ = "c:\3dgen\include\" ' include path - - - -start - -IF COMMAND$ = "" THEN END -CLS - -cmd "obj ~" + COMMAND$ -qui -CLOSE #res -fil(res) = 0 - -PRINT "done" -SYSTEM - -SUB cmd (z$) -a$ = z$ -IF LEFT$(a$, 1) = "?" THEN -IF flag(mtmprs, VAL(RIGHT$(LEFT$(a$, 2), 1))) = 1 THEN a$ = RIGHT$(a$, LEN(a$) - 3) ELSE GOTO 10 -END IF -getson a$ -SELECT CASE sona$(1) -CASE "end" -qui -PRINT "terminated from file" -SYSTEM - -CASE "warn" -COLOR 12 -PRINT sona$(2) -COLOR 7 -b$ = INPUT$(1) - -CASE "p" -nump = nump + 1 -numpa = numpa + 1 -x = VAL(sona$(2)) -y = VAL(sona$(3)) -z = VAL(sona$(4)) - -FOR b = stkp TO 1 STEP -1 -SELECT CASE stkf(b) -CASE 1 -c1 = SIN(stks(b) / fc) -s1 = COS(stks(b) / fc) -z1 = x * c1 + z * s1 -x1 = x * s1 - z * c1 -x = x1 -z = z1 - -CASE 2 -c1 = SIN(stks(b) / fc) -s1 = COS(stks(b) / fc) -z1 = y * c1 + z * s1 -y1 = y * s1 - z * c1 -y = y1 -z = z1 - -CASE 3 -s1 = SIN(stks(b) / fc) -c1 = COS(stks(b) / fc) -y1 = y * c1 + x * s1 -x1 = y * s1 - x * c1 -x = x1 -y = y1 - -CASE 10 -x = x + stks(b) -CASE 11 -y = y + stks(b) -CASE 12 -z = z + stks(b) -CASE 20 -x = x - stks(b) -CASE 21 -y = y - stks(b) -CASE 22 -z = z - stks(b) -CASE 30 -x = x * stks(b) -CASE 31 -y = y * stks(b) -CASE 32 -z = z * stks(b) -END SELECT -NEXT b - -px(nump) = x -py(nump) = y -pz(nump) = z -IF nump > 900 THEN flushp - -CASE "here" -numpo = numpa - -CASE "mtl" -usemtl sona$(2) - -CASE "mtlrnd" -b = INT(RND * (mitus - 1)) + 2 -usemtl sona$(b) - -CASE "f" -IF mtll(cmtl) > 90 THEN flushpoly cmtl -b = mtll(cmtl) -b = b + 1 -mtll(cmtl) = b -mtlp1(cmtl, b) = VAL(sona$(2)) + numpo -mtlp2(cmtl, b) = VAL(sona$(3)) + numpo -mtlp3(cmtl, b) = VAL(sona$(4)) + numpo -IF sona$(5) = "" THEN mtlp4(cmtl, b) = -32000 ELSE mtlp4(cmtl, b) = VAL(sona$(5)) + numpo - -CASE "obj" -d = stkp -FOR a = mitus TO 3 STEP -1 -b$ = LEFT$(sona$(a), 2) -c = VAL(RIGHT$(sona$(a), LEN(sona$(a)) - 2)) -stkp = stkp + 1 -stks(stkp) = c -SELECT CASE b$ -CASE "xz" -stkf(stkp) = 1 -CASE "yz" -stkf(stkp) = 2 -CASE "xy" -stkf(stkp) = 3 -CASE "x+" -stkf(stkp) = 10 -CASE "y+" -stkf(stkp) = 11 -CASE "z+" -stkf(stkp) = 12 -CASE "x-" -stkf(stkp) = 20 -CASE "y-" -stkf(stkp) = 21 -CASE "z-" -stkf(stkp) = 22 -CASE "x*" -stkf(stkp) = 30 -CASE "y*" -stkf(stkp) = 31 -CASE "z*" -stkf(stkp) = 32 -END SELECT -NEXT a - -a$ = sona$(2) -mtmprs = mtmprs + 1 -cstatt = cstatt + 1 -LOCATE 10 + mtmprs, 1 -PRINT a$ -getchc a$, b -c = 1 -2 -d$ = chc$(b, c) -cmd d$ -IF chcf$(b) <> a$ THEN getchc a$, b -c = c + 1 -IF c <= chcl(b) THEN GOTO 2 -tmr = tmr + 1 -IF tmr > 20 THEN tmr = 0: stat -LOCATE 10 + mtmprs, 1 -PRINT SPACE$(LEN(a$)) -mtmprs = mtmprs - 1 - -stkp = d - -CASE "#" - -CASE "out" -geth res -OPEN sona$(2) + ".obj" FOR OUTPUT AS #res -PRINT #res, "mtllib result.mtl" - -CASE "rnd" -b = INT(RND * (mitus - 1)) + 2 -c$ = sona$(b) -f$ = "" -FOR d = 1 TO LEN(c$) -e$ = RIGHT$(LEFT$(c$, d), 1) -IF e$ = "^" THEN e$ = " " -f$ = f$ + e$ -NEXT d -cmd f$ - -CASE "set" -var$(VAL(sona$(2))) = sona$(3) - -CASE "cmp" -IF sona$(3) = sona$(4) THEN b = 1 ELSE b = 0 -flag(mtmprs, VAL(sona$(2))) = b -END SELECT - -10 -END SUB - -SUB flushp - -FOR a = 1 TO nump -PRINT #res, "v " + STR$(px(a)) + " " + STR$(py(a)) + " " + STR$(-pz(a)) -NEXT a -nump = 0 - -END SUB - -SUB flushpoly (a) -IF mtll(a) = 0 THEN GOTO 5 - -PRINT #res, "usemtl " + mtl$(a) -FOR b = 1 TO mtll(a) -c$ = "f " + STR$(mtlp1(a, b) + 1) + STR$(mtlp2(a, b) + 1) + STR$(mtlp3(a, b) + 1) -IF mtlp4(a, b) <> -32000 THEN c$ = c$ + STR$(mtlp4(a, b) + 1) -PRINT #res, c$ -NEXT b -mtll(a) = 0 - -5 -END SUB - -SUB getchc (a$, b) -'DIM SHARED cstatt, cstatm -FOR c = 1 TO 10 -IF chcf$(c) = a$ THEN b = c: GOTO 6 -NEXT c - -d = 32000 -FOR c = 1 TO 10 -IF chct(c) < d THEN d = chct(c): e = c -NEXT c -g = 0 -geth f -'PRINT "file " + a$ + " loaded" -cstatm = cstatm + 1 -b$ = a$ -IF LEFT$(b$, 1) = "~" THEN b$ = RIGHT$(b$, LEN(b$) - 1) ELSE b$ = ipath$ + b$ -OPEN b$ + ".3d" FOR INPUT AS #f -8 -IF EOF(f) <> 0 THEN GOTO 7 -LINE INPUT #f, c$ -IF (LEFT$(c$, 1) <> "#") AND (c$ <> SPACE$(LEN(c$))) THEN g = g + 1: chc$(e, g) = c$ -GOTO 8 -7 -CLOSE #f -fil(f) = 0 -chcl(e) = g -b = e -chcf$(e) = a$ -stat -6 -chctim = chctim + 1 -chct(b) = chctim - -IF chctim > 10000 THEN -FOR c = 1 TO 10 -chct(c) = chct(c) / 2 -NEXT c -chctim = chctim / 2 -END IF -END SUB - -SUB geth (b) - -FOR a = 1 TO 100 -IF fil(a) = 0 THEN fil(a) = 1: b = a: GOTO 1 -NEXT a -1 -'PRINT "handle ", b, " allocated" - -END SUB - -SUB getson (a$) -b$ = a$ + " " - -FOR a = 1 TO 20 -sona$(a) = "" -NEXT a - -mitus = 0 -e = 1 -FOR c = 1 TO LEN(b$) -d$ = RIGHT$(LEFT$(b$, c), 1) -IF d$ = " " OR d$ = CHR$(9) THEN -e = 1 -ELSE -IF e = 1 THEN mitus = mitus + 1 -sona$(mitus) = sona$(mitus) + d$ -e = 0 -END IF -NEXT c - -FOR c = 1 TO mitus -IF LEFT$(sona$(c), 1) = "%" THEN -sona$(c) = var$(VAL(RIGHT$(sona$(c), LEN(sona$(c)) - 1))) -END IF -NEXT c -END SUB - -SUB qui - -flushp -FOR a = 1 TO mtlm -flushpoly a -NEXT a -stat -END SUB - -SUB start -RANDOMIZE TIMER - -FOR a = 1 TO 50 -FOR b = 0 TO 9 -flag(a, b) = 0 -NEXT b -NEXT a - -FOR a = 0 TO 100 -var$(a) = "" -NEXT a - -FOR a = 1 TO 10 -FOR b = 1 TO 500 -chc$(a, b) = "" -NEXT b -chcl(a) = 0 -chcf$(a) = "" -chct(a) = 0 -NEXT a - -FOR a = 1 TO 50 -mtll(a) = 0 -NEXT a - -FOR a = 1 TO 100 -fil(a) = 0 -NEXT a -nump = 0 -numpa = 0 -numpo = 0 -mtlm = 0 -stkp = 0 -fc = 180 / 3.141285 -chctim = 0 -mtmprs = 0 -cstatt = 0 -cstatm = 0 -END SUB - -SUB stat -LOCATE 1, 1 -FOR a = 1 TO 10 -PRINT a, chcf$(a), chct(a), chcl(a) -NEXT a -COLOR 10 -LOCATE 1, 50 -PRINT cstatt; "parsed" -LOCATE 2, 50 -PRINT cstatm; "chache miss" -LOCATE 3, 50 -PRINT INT(cstatm / cstatt * 100); "% chache miss " - -COLOR 7 - -END SUB - -SUB stat2 (b) -CLS -FOR a = 1 TO chcl(b) -PRINT chc$(b, a) -NEXT a - -c$ = INPUT$(1) -END SUB - -SUB usemtl (a$) -FOR b = 1 TO mtlm -IF mtl$(b) = a$ THEN cmtl = b: GOTO 4 -NEXT b - -mtlm = mtlm + 1 -mtl$(mtlm) = a$ -cmtl = mtlm -4 -END SUB - diff --git a/graphics/3D/3dSynthezier/bin/city1.3d b/graphics/3D/3dSynthezier/bin/city1.3d deleted file mode 100644 index 04279fa..0000000 --- a/graphics/3D/3dSynthezier/bin/city1.3d +++ /dev/null @@ -1,46 +0,0 @@ -# small city block - -out city1 - -obj maja xz90 -obj maja xz90 x+48 -obj maja xz90 x+96 -obj maja x+36 z-84 - -# korgel olevad autod -obj cars x+25 -obj cars x+27 z-50 -obj cars x+26 z-25 y-10 -obj cars x+25 z-40 y-20 - -obj cars x+73 z-25 y+1 -obj cars x+75 z-50 y-2 -obj cars xz-90 z-60 -obj cars xz-90 z-62 x+50 -obj cars xz-90 z+60 x+1 -obj cars xz-90 z+61 x+52 - -obj cars x+121 z-100 y+1 -obj cars x+122 z-70 y-5 -obj cars x+123 y+2 -obj cars x+122 z-38 y-2 - -# allpool olevad autod -obj cars x+25 y-30 -obj cars x+27 z-50 y-50 -obj cars x+26 z-25 y-40 -obj cars x+25 z-40 y-50 - -obj cars x+73 z-25 y-34 -obj cars x+75 z-50 y-36 -obj cars xz-90 z-60 y-43 -obj cars xz-90 z-62 x+50 y-29 -obj cars xz-90 z+60 x+1 y-37 -obj cars xz-90 z+61 x+52 y-33 - -obj cars x+121 z-100 y-41 -obj cars x+122 z-70 y-45 -obj cars x+123 y-32 -obj cars x+122 z-38 y-34 - - diff --git a/graphics/3D/3dSynthezier/bin/city1.bat b/graphics/3D/3dSynthezier/bin/city1.bat deleted file mode 100755 index d4fb06e..0000000 --- a/graphics/3D/3dSynthezier/bin/city1.bat +++ /dev/null @@ -1,6 +0,0 @@ -@echo off - -rem This script will instruct generator to make "city1". -rem Note: When specifying source file, avoid extension. - -qb /RUN 3dparse.bas /CMD city1 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/bin/city2.3d b/graphics/3D/3dSynthezier/bin/city2.3d deleted file mode 100644 index 8215a3e..0000000 --- a/graphics/3D/3dSynthezier/bin/city2.3d +++ /dev/null @@ -1,45 +0,0 @@ -# Big city, be prepared to wait ~10 min, on P133. - -out city2 -obj blk4 y-145 -obj blk4 y-116 -obj blk4 y-87 -obj blk4 y-58 -obj blk4 y-29 -obj blk4 - -mtl kivi -obj ring x*20 z*20 y+26 -mtl glass_transp -obj kuppel x*20 z*20 y*10 y+26 - -mtl kivi -obj ring x*20 z*20 y+26 z+64.6412 -mtl glass_transp -obj kuppel x*20 z*20 y*10 y+26 z+64.6412 - -mtl kivi -obj ring x*20 z*20 y+26 x+55.9809 z+32.3206 -mtl glass_transp -obj kuppel x*20 z*20 y*10 y+26 x+55.9809 z+32.3206 - -mtl kivi -obj ring x*20 z*20 y+26 x+55.9809 z-32.3206 -mtl glass_transp -obj kuppel x*20 z*20 y*10 y+26 x+55.9809 z-32.3206 - -mtl kivi -obj ring x*20 z*20 y+26 z-64.6412 -mtl glass_transp -obj kuppel x*20 z*20 y*10 y+26 z-64.6412 - -mtl kivi -obj ring x*20 z*20 y+26 x-55.9809 z-32.3206 -mtl glass_transp -obj kuppel x*20 z*20 y*10 y+26 x-55.9809 z-32.3206 - -mtl kivi -obj ring x*20 z*20 y+26 x-55.9809 z+32.3206 -mtl glass_transp -obj kuppel x*20 z*20 y*10 y+26 x-55.9809 z+32.3206 - diff --git a/graphics/3D/3dSynthezier/bin/city2.bat b/graphics/3D/3dSynthezier/bin/city2.bat deleted file mode 100755 index 6aa7f5a..0000000 --- a/graphics/3D/3dSynthezier/bin/city2.bat +++ /dev/null @@ -1,6 +0,0 @@ -@echo off - -rem This script will instruct generator to make "city2". -rem Note: When specifying source file, avoid extension. - -qb /RUN 3dparse.bas /CMD city2 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/bin/result.mtl b/graphics/3D/3dSynthezier/bin/result.mtl deleted file mode 100644 index 9d689f1..0000000 --- a/graphics/3D/3dSynthezier/bin/result.mtl +++ /dev/null @@ -1,108 +0,0 @@ -# Wavefront material file -# Must be in the same directory with parsed modules. - -newmtl default - Ns 32 - d 1 - illum 2 - Kd 0.4 0.4 0.4 - Ks 0.7 0.7 0.7 - Ka 0.3 0.3 0.3 - -newmtl muld - Ns 32 - d 1 - illum 2 - Kd 0.247843 0.17098 0.158431 - Ks 0 0 0 - Ka 0.185882 0.128235 0.118824 - -newmtl kivi - Ns 32 - d 1 - illum 2 - Kd 0.24935 0.216378 0.24935 - Ks 0 0 0 - Ka 0.128955 0.111903 0.128955 - -newmtl klaastume - Ns 32 - d 1 - illum 2 - Kd 0.139608 0.0313726 0.108235 - Ks 1.6633 0.373775 1.28952 - Ka 0.104706 0.0235294 0.0811765 - -newmtl klaashele - Ns 32 - d 1 - illum 2 - Kd 0.0925798 0.104637 0.109804 - Ks 3.54381 4.00533 4.20313 - Ka 0.737332 0.833356 0.87451 - -newmtl seintellis - Ns 32 - d 1 - illum 2 - Kd 0.476309 0.432511 0.0875971 - Ks 0 0 0 - Ka 0.0642215 0.058316 0.0118108 - -newmtl pronks - Ns 4 - d 1 - illum 2 - Kd 0.238431 0.148435 0.0584391 - Ks 0.636863 0.396478 0.156094 - Ka 0.0627451 0.0390619 0.0153787 - -newmtl solar - Ns 32 - d 1 - illum 2 - Kd 0.189927 0.10519 0.745098 - Ks 1.27451 0.705882 5 - Ka 0.0609766 0.0337716 0.239216 - -newmtl metal_yellow - Ns 32 - d 1 - illum 2 - Kd 0.619608 0.619608 0 - Ks 3.01563 3.01563 0 - Ka 0.3 0.3 0 - -newmtl metal_blue - Ns 32 - d 1 - illum 2 - Kd 0.243137 0.243137 0.666667 - Ks 0.695221 0.695221 1.90625 - Ka 0.109412 0.109412 0.3 - -newmtl light_red - Ns 32 - d 1 - illum 2 - Kd 0.443137 0 0 - Ks 3.8125 0 0 - Ka 0.3 0 0 - - -newmtl light_white - Ns 32 - d 1 - illum 2 - Kd 0.497347 0.528135 0.603922 - Ks 2.35478 2.50055 2.85938 - Ka 0.247059 0.262353 0.3 - -newmtl glass_transp - Ns 39 - d 0.572549 - illum 2 - Kd 0.129412 0.427451 0.776471 - Ks 0.129412 0.427451 0.776471 - Ka 0.000985995 0.00325677 0.00591597 - diff --git a/graphics/3D/3dSynthezier/doc/axes.png b/graphics/3D/3dSynthezier/doc/axes.png deleted file mode 100644 index f11548d..0000000 Binary files a/graphics/3D/3dSynthezier/doc/axes.png and /dev/null differ diff --git a/graphics/3D/3dSynthezier/doc/c1.jpg b/graphics/3D/3dSynthezier/doc/c1.jpg deleted file mode 100644 index 7d724be..0000000 Binary files a/graphics/3D/3dSynthezier/doc/c1.jpg and /dev/null differ diff --git a/graphics/3D/3dSynthezier/doc/c2.jpg b/graphics/3D/3dSynthezier/doc/c2.jpg deleted file mode 100644 index 16d56a5..0000000 Binary files a/graphics/3D/3dSynthezier/doc/c2.jpg and /dev/null differ diff --git a/graphics/3D/3dSynthezier/doc/c3.jpg b/graphics/3D/3dSynthezier/doc/c3.jpg deleted file mode 100644 index 0d7fb88..0000000 Binary files a/graphics/3D/3dSynthezier/doc/c3.jpg and /dev/null differ diff --git a/graphics/3D/3dSynthezier/doc/city1.jpg b/graphics/3D/3dSynthezier/doc/city1.jpg deleted file mode 100644 index def4065..0000000 Binary files a/graphics/3D/3dSynthezier/doc/city1.jpg and /dev/null differ diff --git a/graphics/3D/3dSynthezier/doc/city2.jpg b/graphics/3D/3dSynthezier/doc/city2.jpg deleted file mode 100644 index 0173e47..0000000 Binary files a/graphics/3D/3dSynthezier/doc/city2.jpg and /dev/null differ diff --git a/graphics/3D/3dSynthezier/doc/city3.jpg b/graphics/3D/3dSynthezier/doc/city3.jpg deleted file mode 100644 index 20fc33c..0000000 Binary files a/graphics/3D/3dSynthezier/doc/city3.jpg and /dev/null differ diff --git a/graphics/3D/3dSynthezier/doc/city_hexagon.blend b/graphics/3D/3dSynthezier/doc/city_hexagon.blend deleted file mode 100644 index 6ab7003..0000000 Binary files a/graphics/3D/3dSynthezier/doc/city_hexagon.blend and /dev/null differ diff --git a/graphics/3D/3dSynthezier/doc/city_square.blend b/graphics/3D/3dSynthezier/doc/city_square.blend deleted file mode 100644 index a532224..0000000 Binary files a/graphics/3D/3dSynthezier/doc/city_square.blend and /dev/null differ diff --git a/graphics/3D/3dSynthezier/doc/index.html b/graphics/3D/3dSynthezier/doc/index.html deleted file mode 100644 index cfa0037..0000000 --- a/graphics/3D/3dSynthezier/doc/index.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - -3D Synthezier - - -

3D Synthezier

- -
-This QBasic program was written by me in around 2003. It parses scene
-definition language and creates 3D world based on it.  Result will be
-in a wavefront obj file, witch can be then visualized using external
-renderer.
-
-Basic concept of defining scene is:
-  Simple and primitive objects are created on point and polygon level.
-  More complex ones can be created my combinig already existing ones,
-  while applying various transformations on them.
-
-Objects with all its subobjects can be rotated, flipped or resized
-omong any axis.  Generator has built in cache for data input and
-output to minimize file access.
-
-
- -
Examples: -
-
-
Attempt to make "Fifth Eelement" like city. -

- -
-
Attempt to make "Fifth Eelement" like city. Night. -

- -
-
Attempt to make "Fifth Eelement" like city. Night. -

- - -
-
Hexangular city. -

- -
-
Hexangular city, closer. -

- -
-
Hexangular city, even closer. -

-
- -
-
-
-I converted these 2 generated cities also
-to Blender format so you can
-explore them interactively :)
-
-Download:
-        Square city (3.5 MB)
-        Hexagonal city (20.3 MB)
-
-
-
-
-        System requirements
-        ===================
-
-DOS     (6.22 preferred)
-QBasic  (4.5 preferred)
-
-
-        Installation
-        ============
-
-* Unpack ZIP file in any folder.
-* update include path inside  bin/3dparse.bas
-
-
-        Running program
-        ===============
-
-Make sure you have QB binaries in your PATH.
-Execute  bin/city1.bat  or  bin/city2.bat to generate example citys.
-After parsing is finished appropriate *.obj files will
-appear in the  bin  directory holding generated scene.
-Visualize scene with your favourite renderer.
-(3D Studio MAX or Nugraf 3D rendering System will do)
-
-
-        Directory layout
-        ================
-
-bin
-        3dparse.bas             3D generator main executable
-        city1.3d                city with square-like buildings
-        city2.3d                city with hexangular buildings
-        result.mtl              shared material library
-        *.bat                   quick launch scripts
-doc                             manual
-include                         3D objects used to compose the scene
-
-
-        Scene description language
-        ==========================
-        (read examples...)
-
-
-here                    - defines new segment
-p  x y z                - defines new point
-f  p1 p2 p3 p4          - defines new polygon,  p4  may be unused
-warn  message           - displays warning message, and wait for key
-end                     - terminates parser
-mtl  material           - selects material
-mtlrnd  material ...            - selects random material from list
-obj  object xz45 xy20 x+3 y*2   - includes sub object, can be rotated moved
-                                or resized,
-                                across X Y Z. If object name begin vith ~
-                                then it will be loaded from current directory.
-                                if object name ends with ~ then object will
-                                be parsed directly from file, and not chached,
-                                to allow loading of greater than 500 lines
-                                files.
-        
-
-
-rnd  p^1^2^3 p^7^2^1            - select random command to execute, ^ will be
-                                  converted to spaces.
-# whatever text                 - comment
-out  file                       - specify output file name, must be first command
-set  variable  contents         - set variable contents, variable must be
-                                  number, contents can be string. max variables
-                                  is 100. first is 0.
-anycommand %1 anything          - inserts variable 1 contents info line
-cmp  flag string1 string2       - compares strings, and inserts TRUE to flag, if
-                                  they are equal, else inserts FALSE. max 9 falgs
-                                  ,0 first. Each subobject has its own flags.
-?flag anycommand                - executes command if flag is true.
-                                  exapmle: ?3 obj car z*2 xy45
-dum                             - dummy function, does notheing
-
-
-
- - diff --git a/graphics/3D/3dSynthezier/include/6nrk0s.3d b/graphics/3D/3dSynthezier/include/6nrk0s.3d deleted file mode 100644 index 906ff9b..0000000 --- a/graphics/3D/3dSynthezier/include/6nrk0s.3d +++ /dev/null @@ -1,6 +0,0 @@ -# suur 6 nurkse maja kompleks koos korteritega - -obj blk3 -set 1 kivi -set 2 0 -obj nrk6 x*20 y*5 z*20 y+21 diff --git a/graphics/3D/3dSynthezier/include/6nrk2s.3d b/graphics/3D/3dSynthezier/include/6nrk2s.3d deleted file mode 100644 index 8a40ce1..0000000 --- a/graphics/3D/3dSynthezier/include/6nrk2s.3d +++ /dev/null @@ -1,8 +0,0 @@ -# suur 6 nurkse maja kompleks koos korterite ja 2. sillaga - -obj blk3 -set 1 kivi -set 2 0 -obj nrk6 x*20 y*5 z*20 y+21 -obj bridgegl xz-90 y+22.5 x-1.5 z-17.3206 -obj bridgegl xz-30 y+22.5 x+14.25 z-9.9593 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/blk1.3d b/graphics/3D/3dSynthezier/include/blk1.3d deleted file mode 100644 index 661ff77..0000000 --- a/graphics/3D/3dSynthezier/include/blk1.3d +++ /dev/null @@ -1,15 +0,0 @@ -# tavaline suur aken -here -p 0 0 0 -p 6 0 0 -p 6 -3 0 -p 0 -3 0 - -p 0.5 -0.5 -0.01 -p 5.5 -0.5 -0.01 -p 5.5 -2 -0.01 -p 0.5 -2 -0.01 -mtl seintellis -f 0 1 2 3 -mtlrnd klaashele klaastume -f 4 5 6 7 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/blk2.3d b/graphics/3D/3dSynthezier/include/blk2.3d deleted file mode 100644 index b2828bf..0000000 --- a/graphics/3D/3dSynthezier/include/blk2.3d +++ /dev/null @@ -1,33 +0,0 @@ -# v2ike aken koosparkimisplatsiga - -# rnd obj^car^xz90^x+4.5^z-1.7^y-2.5 # # - -here -p 0 0 0 -p 6 0 0 -p 6 -3 0 -p 0 -3 0 - -p 0.5 -0.5 -0.01 -p 2 -0.5 -0.01 -p 2 -2 -0.01 -p 0.5 -2 -0.01 - -p 2.5 -0.5 -0.01 -p 5.5 -0.5 -0.01 -p 5.5 -3 -0.01 -p 2.5 -3 -0.01 - -p 0 -3 0 -p 6 -3 0 -p 6 -3 -3 -p 0 -3 -3 - -mtl seintellis -f 0 1 2 3 -mtlrnd klaashele klaastume -f 4 5 6 7 -mtl pronks -f 8 9 10 11 -mtl kivi -f 12 13 14 15 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/blk3.3d b/graphics/3D/3dSynthezier/include/blk3.3d deleted file mode 100644 index a62b82c..0000000 --- a/graphics/3D/3dSynthezier/include/blk3.3d +++ /dev/null @@ -1,34 +0,0 @@ -# kuuenurkse maja korterite blokk - -obj krs2 -obj krs2 y+3 -obj krs2 y+6 -obj krs2 y+9 - -obj krs2 y+12 -obj krs2 y+15 -obj krs2 y+18 -obj krs2 y+21 - -here -p -12 -3 -20.7846 -p 12 -3 -20.7846 -p 24 -3 0 -p 12 -3 20.7846 -p -12 -3 20.7846 -p -24 -3 0 - -p -12 21 -20.7846 -p 12 21 -20.7846 -p 24 21 0 -p 12 21 20.7846 -p -12 21 20.7846 -p -24 21 0 - -mtl seintellis -f 0 1 2 3 -f 3 4 5 0 -f 6 7 8 9 -f 9 10 11 6 - - diff --git a/graphics/3D/3dSynthezier/include/blk4.3d b/graphics/3D/3dSynthezier/include/blk4.3d deleted file mode 100644 index 924f68a..0000000 --- a/graphics/3D/3dSynthezier/include/blk4.3d +++ /dev/null @@ -1,8 +0,0 @@ -# 1 kompleks 7st, 6 nurkselt sildadega uhendatud elamu moodulitest -obj 6nrk0s -obj 6nrk2s z+64.6412 -obj 6nrk2s xz-60 x+55.9809 z+32.3206 -obj 6nrk2s xz-120 x+55.9809 z-32.3206 -obj 6nrk2s xz-180 z-64.6412 -obj 6nrk2s xz-240 x-55.9809 z-32.3206 -obj 6nrk2s xz-300 x-55.9809 z+32.3206 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/bridge.3d b/graphics/3D/3dSynthezier/include/bridge.3d deleted file mode 100644 index d6dc47f..0000000 --- a/graphics/3D/3dSynthezier/include/bridge.3d +++ /dev/null @@ -1,5 +0,0 @@ -obj handrail -obj handrail z+3 -set 1 kivi -set 2 0 -obj nrk4 x*3.2 y*0.2 xz-90 z+1.5 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/bridge1.3d b/graphics/3D/3dSynthezier/include/bridge1.3d deleted file mode 100644 index e8563ae..0000000 --- a/graphics/3D/3dSynthezier/include/bridge1.3d +++ /dev/null @@ -1,36 +0,0 @@ -obj bridge -obj bridge x+1 -obj bridge x+2 -obj bridge x+3 -obj bridge x+4 - -obj bridge x+5 -obj bridge x+6 -obj bridge x+7 -obj bridge x+8 -obj bridge x+9 - -obj bridge x+10 -obj bridge x+11 -obj bridge x+12 -obj bridge x+13 -obj bridge x+14 - -obj bridge x+15 -obj bridge x+16 -obj bridge x+17 -obj bridge x+18 -obj bridge x+19 - -obj bridge x+20 -obj bridge x+21 -obj bridge x+22 -obj bridge x+23 -obj bridge x+24 - -obj bridge x+25 -obj bridge x+26 -obj bridge x+27 -obj bridge x+28 -obj bridge x+29 - diff --git a/graphics/3D/3dSynthezier/include/bridgegl.3d b/graphics/3D/3dSynthezier/include/bridgegl.3d deleted file mode 100644 index 4bb43a5..0000000 --- a/graphics/3D/3dSynthezier/include/bridgegl.3d +++ /dev/null @@ -1,4 +0,0 @@ -obj bridge1 -set 1 glass_transp -set 2 0 -obj nrk8 xz-90 x*30 z*3 z+1.5 y*2 y+1 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/bus.3d b/graphics/3D/3dSynthezier/include/bus.3d deleted file mode 100644 index 21f5753..0000000 --- a/graphics/3D/3dSynthezier/include/bus.3d +++ /dev/null @@ -1,52 +0,0 @@ -obj bus_frnt -obj bus_frnt xz180 z+9 - -obj bus_wind x+2.5 y+1 z+2 -obj bus_wind x+2.5 y+1 z+3.5 -obj bus_wind x+2.5 y+1 z+5 - -obj bus_wind x*-1 x-2.5 y+1 z+2 -obj bus_wind x*-1 x-2.5 y+1 z+3.5 -obj bus_wind x*-1 x-2.5 y+1 z+5 - -obj flare_w x+1 z-0.01 -obj flare_w x*-1 x-1 z-0.01 -obj flare_r x+1 z+9.01 -obj flare_r x*-1 x-1 z+9.01 -here -p -2.5 1 0.5 -p 2.5 1 0.5 -p 2.5 -1 0.5 -p -2.5 -1 0.5 - -p -2.5 1 8.5 -p 2.5 1 8.5 -p 2.5 -1 8.5 -p -2.5 -1 8.5 - -p -2.5 1 2 -p 2.5 1 2 -p -1.5 2 2 -p 1.5 2 2 - -p -2.5 1 6.5 -p 2.5 1 6.5 -p -1.5 2 6.5 -p 1.5 2 6.5 - - -mtl metal_yellow -# f 0 1 5 4 -f 1 2 6 5 -f 2 3 7 6 -f 3 0 4 7 - -f 4 5 15 14 -f 4 12 14 -f 5 13 15 - -mtl klaashele -f 0 1 11 10 -f 0 8 10 -f 1 9 11 - diff --git a/graphics/3D/3dSynthezier/include/bus_frnt.3d b/graphics/3D/3dSynthezier/include/bus_frnt.3d deleted file mode 100644 index 62d4137..0000000 --- a/graphics/3D/3dSynthezier/include/bus_frnt.3d +++ /dev/null @@ -1,17 +0,0 @@ -here -p -2 -0.5 0 -p 2 -0.5 0 -p 2 0.5 0 -p -2 0.5 0 - -p -2.5 -1 0.5 -p 2.5 -1 0.5 -p 2.5 1 0.5 -p -2.5 1 0.5 - -mtl metal_yellow -f 0 1 2 3 -f 0 1 5 4 -f 1 2 6 5 -f 2 3 7 6 -f 0 3 7 4 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/bus_wind.3d b/graphics/3D/3dSynthezier/include/bus_wind.3d deleted file mode 100644 index c0f63de..0000000 --- a/graphics/3D/3dSynthezier/include/bus_wind.3d +++ /dev/null @@ -1,17 +0,0 @@ -here -p 0 0 0 -p -1 1 0 -p -1 1 0.5 -p 0 0 0.5 - -p -1 1 1.5 -p 0 0 1.5 - -p -2.5 1 0 -p -2.5 1 1.5 - -mtl metal_yellow -f 0 1 2 3 -f 1 4 7 6 -mtl klaashele -f 2 3 5 4 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/car.3d b/graphics/3D/3dSynthezier/include/car.3d deleted file mode 100644 index 4d6258b..0000000 --- a/graphics/3D/3dSynthezier/include/car.3d +++ /dev/null @@ -1,33 +0,0 @@ -obj car_frnt -obj car_frnt xz180 z+4 -obj flare_w x+0.25 z-0.01 -obj flare_w x*-1 x-0.25 z-0.01 -obj flare_r x+0.25 z+4.01 -obj flare_r x*-1 x-0.25 z+4.01 - -here -p -1 0.5 1 -p 1 0.5 1 -p 1 -0.5 1 -p -1 -0.5 1 - -p -1 0.5 3 -p 1 0.5 3 -p 1 -0.5 3 -p -1 -0.5 3 - -p -0.5 1.5 2.5 -p 0.5 1.5 2.5 - - - -mtl metal_yellow -# f 0 4 5 1 -f 1 5 6 2 -f 2 6 7 3 -f 3 7 4 0 -mtl klaashele -f 8 9 1 0 -f 8 0 4 -f 9 1 5 -f 8 9 5 4 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/car_frnt.3d b/graphics/3D/3dSynthezier/include/car_frnt.3d deleted file mode 100644 index 697b6f4..0000000 --- a/graphics/3D/3dSynthezier/include/car_frnt.3d +++ /dev/null @@ -1,17 +0,0 @@ -here -p -0.5 0.25 0 -p 0.5 0.25 0 -p 0.5 -0.25 0 -p -0.5 -0.25 0 - -p -1 0.5 1 -p 1 0.5 1 -p 1 -0.5 1 -p -1 -0.5 1 - -mtl metal_yellow -f 0 1 2 3 -f 0 4 5 1 -f 1 5 6 2 -f 2 6 7 3 -f 3 7 4 0 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/cars.3d b/graphics/3D/3dSynthezier/include/cars.3d deleted file mode 100644 index 97e1482..0000000 --- a/graphics/3D/3dSynthezier/include/cars.3d +++ /dev/null @@ -1,10 +0,0 @@ -obj bus xz190 y+1 -obj car xz175 z+20 y-0.5 -obj car xz182 yz10 x+5 z+50 y-0.2 -obj car xz170 yz-5 xy10 x+1 z+60 y-1.3 -obj car xz188 yz-2 xy-5 x+3 z+34 y+0.6 - -obj car xz5 yz1 xy15 x-5 z+55 y+0.23 -obj car xz-2 yz2 xy-3 x-10 z+32 y-1.1 -obj car xz-4 yz-8 xy-9 x-5 z+8 y+0.4 -rnd obj^car^xz3^yz-2^xy3^x-8^z+57^y+0.1 obj^pol^xz3^yz-2^xy3^x-8^z+57^y+0.1 diff --git a/graphics/3D/3dSynthezier/include/flare_r.3d b/graphics/3D/3dSynthezier/include/flare_r.3d deleted file mode 100644 index 39a35f2..0000000 --- a/graphics/3D/3dSynthezier/include/flare_r.3d +++ /dev/null @@ -1,9 +0,0 @@ -here -p 0 0.3 0 -p 0.3 0.3 0 -p 0.3 0 0 -p 0 0 0 -p 0.4 0.15 0 -mtl light_red -f 0 1 2 3 -f 1 2 4 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/flare_w.3d b/graphics/3D/3dSynthezier/include/flare_w.3d deleted file mode 100644 index 65044d0..0000000 --- a/graphics/3D/3dSynthezier/include/flare_w.3d +++ /dev/null @@ -1,9 +0,0 @@ -here -p 0 0.3 0 -p 0.3 0.3 0 -p 0.3 0 0 -p 0 0 0 -p 0.4 0.15 0 -mtl light_white -f 0 1 2 3 -f 1 2 4 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/handrail.3d b/graphics/3D/3dSynthezier/include/handrail.3d deleted file mode 100644 index 91f80fe..0000000 --- a/graphics/3D/3dSynthezier/include/handrail.3d +++ /dev/null @@ -1,8 +0,0 @@ -# size x=1 y=1 z=0.1 - -set 1 pronks -set 2 1 -obj nrk8 xz-90 y*0.1 z*0.1 y+1 -set 2 0 -obj nrk8 x*0.07 y*0.07 yz-90 -obj nrk8 x*0.07 y*0.07 yz-90 x+0.5 diff --git a/graphics/3D/3dSynthezier/include/katus.3d b/graphics/3D/3dSynthezier/include/katus.3d deleted file mode 100644 index 78547d1..0000000 --- a/graphics/3D/3dSynthezier/include/katus.3d +++ /dev/null @@ -1,12 +0,0 @@ -here -p 0 0 0 -p 96 0 0 -p 96 0 24 -p 0 0 24 - -mtl kivi -f 0 1 2 3 - -obj toru x+12 z+12 -obj toru x+36 z+12 -obj solar x+72 z+12 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/katus2.3d b/graphics/3D/3dSynthezier/include/katus2.3d deleted file mode 100644 index 7fb86bf..0000000 --- a/graphics/3D/3dSynthezier/include/katus2.3d +++ /dev/null @@ -1,19 +0,0 @@ -here -p 0 0 0 -p 96 0 0 -p 96 0 24 -p 0 0 24 - -mtl kivi -f 0 1 2 3 - -obj toru x+12 z+12 -# obj toru x*0.2 z*0.2 y*0.5 x+36 z+12 -obj toru x*0.4 z*0.4 y*0.5 x+30 z+6 -obj toru x*0.4 z*0.4 y*0.5 x+30 z+18 -obj toru x*0.4 z*0.4 y*0.5 x+42 z+6 -obj toru x*0.4 z*0.4 y*0.5 x+42 z+18 - -obj bus x+60 y+1 z+2 -obj bus x+70 y+1 z+2 -obj bus x+80 y+1 z+2 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/katus3.3d b/graphics/3D/3dSynthezier/include/katus3.3d deleted file mode 100644 index c8d0676..0000000 --- a/graphics/3D/3dSynthezier/include/katus3.3d +++ /dev/null @@ -1,31 +0,0 @@ -here -p 0 0 0 -p 96 0 0 -p 96 0 24 -p 0 0 24 - -mtl kivi -f 0 1 2 3 - -obj pol y+0.5 x+2 z+1 -obj pol y+0.5 x+9 z+1 -obj pol y+0.5 x+16 z+1 -obj pol y+0.5 x+23 z+1 -obj pol y+0.5 x+30 z+1 -obj pol y+0.5 x+37 z+1 -obj pol y+0.5 x+44 z+1 -obj pol y+0.5 x+51 z+1 - -obj pol y+0.5 x+2 z+13 -obj pol y+0.5 x+9 z+13 -obj pol y+0.5 x+16 z+13 -obj pol y+0.5 x+23 z+13 -obj pol y+0.5 x+30 z+13 -obj pol y+0.5 x+37 z+13 -obj pol y+0.5 x+44 z+13 -obj pol y+0.5 x+51 z+13 - -obj bus xz90 y+1 x+70 z+6 -obj bus xz90 y+1 x+85 z+6 -obj bus xz90 y+1 x+70 z+17 -obj bus xz90 y+1 x+85 z+17 diff --git a/graphics/3D/3dSynthezier/include/krs1.3d b/graphics/3D/3dSynthezier/include/krs1.3d deleted file mode 100644 index ffee343..0000000 --- a/graphics/3D/3dSynthezier/include/krs1.3d +++ /dev/null @@ -1,6 +0,0 @@ -# neljanurkse maja korrus - -obj seinp1 x-48 z-12 -obj seinp1 xz180 x+48 z+12 -obj seinl1 xz270 x-48 z+12 -obj seinl1 xz90 x+48 z-12 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/krs2.3d b/graphics/3D/3dSynthezier/include/krs2.3d deleted file mode 100644 index 9cac787..0000000 --- a/graphics/3D/3dSynthezier/include/krs2.3d +++ /dev/null @@ -1,9 +0,0 @@ -# kuuenurkse maja 1 korrus - -obj seinl1 x-12 z-20.7846 -obj seinl1 xz60 x+12 z-20.7846 -obj seinl1 xz120 x+24 -obj seinl1 xz180 x+12 z+20.7846 -obj seinl1 xz240 x-12 z+20.7846 -obj seinl1 xz300 x-24 - diff --git a/graphics/3D/3dSynthezier/include/kuppel.3d b/graphics/3D/3dSynthezier/include/kuppel.3d deleted file mode 100644 index b4b8771..0000000 --- a/graphics/3D/3dSynthezier/include/kuppel.3d +++ /dev/null @@ -1,292 +0,0 @@ -here -p 0 0 0 -p -1.0 0.0 0.0 -p -0.965926 0.0 -0.258819 -p -0.965926 0.0 0.258819 -p -0.965926 0.258819 0.0 -p -0.933013 0.258819 -0.250000 -p -0.933013 0.258819 0.250000 -p -0.866025 0.0 -0.500000 -p -0.866025 0.0 0.500000 -p -0.866025 0.500000 0.0 -p -0.836516 0.258819 -0.482963 -p -0.836516 0.258819 0.482963 -p -0.836516 0.500000 -0.224144 -p -0.836516 0.500000 0.224144 -p -0.750000 0.500000 -0.433013 -p -0.750000 0.500000 0.433013 -p -0.707107 0.0 -0.707107 -p -0.707107 0.0 0.707107 -p -0.707107 0.707107 0.0 -p -0.683013 0.258819 -0.683013 -p -0.683013 0.258819 0.683013 -p -0.683013 0.707107 -0.183013 -p -0.683013 0.707107 0.183013 -p -0.612372 0.500000 -0.612372 -p -0.612372 0.500000 0.612372 -p -0.612372 0.707107 -0.353553 -p -0.612372 0.707107 0.353553 -p -0.500000 0.0 -0.866025 -p -0.500000 0.0 0.866025 -p -0.500000 0.866025 0.0 -p -0.500000 0.707107 -0.500000 -p -0.500000 0.707107 0.500000 -p -0.482963 0.258819 -0.836516 -p -0.482963 0.258819 0.836516 -p -0.482963 0.866025 -0.129410 -p -0.482963 0.866025 0.129410 -p -0.433013 0.500000 -0.750000 -p -0.433013 0.500000 0.750000 -p -0.433013 0.866025 -0.250000 -p -0.433013 0.866025 0.250000 -p -0.353553 0.707107 -0.612372 -p -0.353553 0.707107 0.612372 -p -0.353553 0.866025 -0.353553 -p -0.353553 0.866025 0.353553 -p -0.258819 0.0 -0.965926 -p -0.258819 0.0 0.965926 -p -0.258819 0.965926 0.0 -p -0.250000 0.258819 -0.933013 -p -0.250000 0.258819 0.933013 -p -0.250000 0.866025 -0.433013 -p -0.250000 0.866025 0.433013 -p -0.250000 0.965926 -0.066987 -p -0.250000 0.965926 0.066987 -p -0.224144 0.500000 -0.836516 -p -0.224144 0.500000 0.836516 -p -0.224144 0.965926 -0.129410 -p -0.224144 0.965926 0.129410 -p -0.183013 0.707107 -0.683013 -p -0.183013 0.707107 0.683013 -p -0.183013 0.965926 -0.183013 -p -0.183013 0.965926 0.183013 -p -0.129410 0.866025 -0.482963 -p -0.129410 0.866025 0.482963 -p -0.129410 0.965926 -0.224144 -p -0.129410 0.965926 0.224144 -p -0.066987 0.965926 -0.250000 -p -0.066987 0.965926 0.250000 -p 0.0 0.0 1.0 -p 0.0 0.258819 0.965926 -p 0.0 0.500000 0.866025 -p 0.0 0.707107 0.707107 -p 0.0 0.866025 0.500000 -p 0.0 0.965926 0.258819 -p 0.0 1.0 0.0 -p 0.0 0.965926 -0.258819 -p 0.0 0.866025 -0.500000 -p 0.0 0.707107 -0.707107 -p 0.0 0.500000 -0.866025 -p 0.0 0.258819 -0.965926 -p 0.0 0.0 -1.0 -p 0.066987 0.965926 -0.250000 -p 0.066987 0.965926 0.250000 -p 0.129410 0.866025 -0.482963 -p 0.129410 0.866025 0.482963 -p 0.129410 0.965926 -0.224144 -p 0.129410 0.965926 0.224144 -p 0.183013 0.707107 -0.683013 -p 0.183013 0.707107 0.683013 -p 0.183013 0.965926 -0.183013 -p 0.183013 0.965926 0.183013 -p 0.224144 0.500000 -0.836516 -p 0.224144 0.500000 0.836516 -p 0.224144 0.965926 -0.129410 -p 0.224144 0.965926 0.129410 -p 0.250000 0.258819 -0.933013 -p 0.250000 0.258819 0.933013 -p 0.250000 0.866025 -0.433013 -p 0.250000 0.866025 0.433013 -p 0.250000 0.965926 -0.066987 -p 0.250000 0.965926 0.066987 -p 0.258819 0.0 -0.965926 -p 0.258819 0.0 0.965926 -p 0.258819 0.965926 0.0 -p 0.353553 0.707107 -0.612372 -p 0.353553 0.707107 0.612372 -p 0.353553 0.866025 -0.353553 -p 0.353553 0.866025 0.353553 -p 0.433013 0.500000 -0.750000 -p 0.433013 0.500000 0.750000 -p 0.433013 0.866025 -0.250000 -p 0.433013 0.866025 0.250000 -p 0.482963 0.258819 -0.836516 -p 0.482963 0.258819 0.836516 -p 0.482963 0.866025 -0.129410 -p 0.482963 0.866025 0.129410 -p 0.500000 0.707107 -0.500000 -p 0.500000 0.707107 0.500000 -p 0.500000 0.0 -0.866025 -p 0.500000 0.0 0.866025 -p 0.500000 0.866025 0.0 -p 0.612372 0.500000 -0.612372 -p 0.612372 0.500000 0.612372 -p 0.612372 0.707107 -0.353553 -p 0.612372 0.707107 0.353553 -p 0.683013 0.258819 -0.683013 -p 0.683013 0.258819 0.683013 -p 0.683013 0.707107 -0.183013 -p 0.683013 0.707107 0.183013 -p 0.707107 0.0 -0.707107 -p 0.707107 0.0 0.707107 -p 0.707107 0.707107 0.0 -p 0.750000 0.500000 -0.433013 -p 0.750000 0.500000 0.433013 -p 0.836516 0.258819 -0.482963 -p 0.836516 0.258819 0.482963 -p 0.836516 0.500000 -0.224144 -p 0.836516 0.500000 0.224144 -p 0.866025 0.0 -0.500000 -p 0.866025 0.0 0.500000 -p 0.866025 0.500000 0.0 -p 0.933013 0.258819 -0.250000 -p 0.933013 0.258819 0.250000 -p 0.965926 0.0 -0.258819 -p 0.965926 0.0 0.258819 -p 0.965926 0.258819 0.0 -p 1.0 0.0 0.0 - -f 73 102 98 -f 102 119 113 98 -f 119 130 126 113 -f 130 139 135 126 -f 139 144 140 135 -f 144 145 142 140 -f 73 98 92 -f 98 113 109 92 -f 113 126 122 109 -f 126 135 131 122 -f 135 140 133 131 -f 140 142 137 133 -f 73 92 88 -f 92 109 105 88 -f 109 122 115 105 -f 122 131 120 115 -f 131 133 124 120 -f 133 137 128 124 -f 73 88 84 -f 88 105 96 84 -f 105 115 103 96 -f 115 120 107 103 -f 120 124 111 107 -f 124 128 117 111 -f 73 84 80 -f 84 96 82 80 -f 96 103 86 82 -f 103 107 90 86 -f 107 111 94 90 -f 111 117 100 94 -f 73 80 74 -f 80 82 75 74 -f 82 86 76 75 -f 86 90 77 76 -f 90 94 78 77 -f 94 100 79 78 -f 73 74 65 -f 74 75 61 65 -f 75 76 57 61 -f 76 77 53 57 -f 77 78 47 53 -f 78 79 44 47 -f 73 65 63 -f 65 61 49 63 -f 61 57 40 49 -f 57 53 36 40 -f 53 47 32 36 -f 47 44 27 32 -f 73 63 59 -f 63 49 42 59 -f 49 40 30 42 -f 40 36 23 30 -f 36 32 19 23 -f 32 27 16 19 -f 73 59 55 -f 59 42 38 55 -f 42 30 25 38 -f 30 23 14 25 -f 23 19 10 14 -f 19 16 7 10 -f 73 55 51 -f 55 38 34 51 -f 38 25 21 34 -f 25 14 12 21 -f 14 10 5 12 -f 10 7 2 5 -f 73 51 46 -f 51 34 29 46 -f 34 21 18 29 -f 21 12 9 18 -f 12 5 4 9 -f 5 2 1 4 -f 73 46 52 -f 46 29 35 52 -f 29 18 22 35 -f 18 9 13 22 -f 9 4 6 13 -f 4 1 3 6 -f 73 52 56 -f 52 35 39 56 -f 35 22 26 39 -f 22 13 15 26 -f 13 6 11 15 -f 6 3 8 11 -f 73 56 60 -f 56 39 43 60 -f 39 26 31 43 -f 26 15 24 31 -f 15 11 20 24 -f 11 8 17 20 -f 73 60 64 -f 60 43 50 64 -f 43 31 41 50 -f 31 24 37 41 -f 24 20 33 37 -f 20 17 28 33 -f 73 64 66 -f 64 50 62 66 -f 50 41 58 62 -f 41 37 54 58 -f 37 33 48 54 -f 33 28 45 48 -f 73 66 72 -f 66 62 71 72 -f 62 58 70 71 -f 58 54 69 70 -f 54 48 68 69 -f 48 45 67 68 -f 73 72 81 -f 72 71 83 81 -f 71 70 87 83 -f 70 69 91 87 -f 69 68 95 91 -f 68 67 101 95 -f 73 81 85 -f 81 83 97 85 -f 83 87 104 97 -f 87 91 108 104 -f 91 95 112 108 -f 95 101 118 112 -f 73 85 89 -f 85 97 106 89 -f 97 104 116 106 -f 104 108 121 116 -f 108 112 125 121 -f 112 118 129 125 -f 73 89 93 -f 89 106 110 93 -f 106 116 123 110 -f 116 121 132 123 -f 121 125 134 132 -f 125 129 138 134 -f 73 93 99 -f 93 110 114 99 -f 110 123 127 114 -f 123 132 136 127 -f 132 134 141 136 -f 134 138 143 141 -f 73 99 102 -f 99 114 119 102 -f 114 127 130 119 -f 127 136 139 130 -f 136 141 144 139 -f 141 143 145 144 diff --git a/graphics/3D/3dSynthezier/include/maja.3d b/graphics/3D/3dSynthezier/include/maja.3d deleted file mode 100644 index 55c11e5..0000000 --- a/graphics/3D/3dSynthezier/include/maja.3d +++ /dev/null @@ -1,33 +0,0 @@ -obj krs1 y-90 -obj krs1 y-87 -obj krs1 y-84 -obj krs1 y-81 -obj krs1 y-78 -obj krs1 y-75 -obj krs1 y-72 -obj krs1 y-69 -obj krs1 y-66 -obj krs1 y-63 -obj krs1 y-60 -obj krs1 y-57 -obj krs1 y-54 -obj krs1 y-51 -obj krs1 y-48 -obj krs1 y-45 -obj krs1 y-42 -obj krs1 y-39 -obj krs1 y-36 -obj krs1 y-33 -obj krs1 y-30 -obj krs1 y-27 -obj krs1 y-24 -obj krs1 y-21 -obj krs1 y-18 -obj krs1 y-15 -obj krs1 y-12 -obj krs1 y-9 -obj krs1 y-6 -obj krs1 y-3 -obj krs1 -obj krs1 y+3 -rnd obj^katus^x-48^z-12^y+3 obj^katus2^x-48^z-12^y+3 obj^katus3^x-48^z-12^y+3 diff --git a/graphics/3D/3dSynthezier/include/nrk4.3d b/graphics/3D/3dSynthezier/include/nrk4.3d deleted file mode 100644 index 296dc22..0000000 --- a/graphics/3D/3dSynthezier/include/nrk4.3d +++ /dev/null @@ -1,29 +0,0 @@ -# 1 -body material -# 2 = 1 -ends filled -# -# 0--1 -# | | Y -# 3--2 -# -# X - -here -p -0.5 0.5 0 -p 0.5 0.5 0 -p 0.5 -0.5 0 -p -0.5 -0.5 0 - -p -0.5 0.5 1 -p 0.5 0.5 1 -p 0.5 -0.5 1 -p -0.5 -0.5 1 - -mtl %1 -f 0 1 5 4 -f 1 2 6 5 -f 2 3 7 6 -f 3 0 4 7 - -cmp 0 %2 1 -?0 f 0 1 2 3 -?0 f 4 5 6 7 diff --git a/graphics/3D/3dSynthezier/include/nrk6.3d b/graphics/3D/3dSynthezier/include/nrk6.3d deleted file mode 100644 index d096deb..0000000 --- a/graphics/3D/3dSynthezier/include/nrk6.3d +++ /dev/null @@ -1,33 +0,0 @@ -# 1 -body material -# 2 = 1 -ends filled - -here -p -0.5 0 0.866 -p 0.5 0 0.866 -p 1 0 0 -p 0.5 0 -0.866 -p -0.5 0 -0.866 -p -1 0 0 - -p -0.5 1 0.866 -p 0.5 1 0.866 -p 1 1 0 -p 0.5 1 -0.866 -p -0.5 1 -0.866 -p -1 1 0 - -mtl %1 -f 0 1 7 6 -f 1 2 8 7 -f 2 3 9 8 -f 3 4 10 9 -f 4 5 11 10 -f 5 0 6 11 - -cmp 0 %2 1 -?0 f 0 1 2 3 -?0 f 3 4 5 0 -?0 f 6 7 8 9 -?0 f 9 10 11 6 - - diff --git a/graphics/3D/3dSynthezier/include/nrk8.3d b/graphics/3D/3dSynthezier/include/nrk8.3d deleted file mode 100644 index 5e7986a..0000000 --- a/graphics/3D/3dSynthezier/include/nrk8.3d +++ /dev/null @@ -1,47 +0,0 @@ -# 1 -body material -# 2 = 1 -ends filled -# -# 0--1 -# 7/ \2 -# | * | Y -# 6\ /3 -# 5--4 -# -# X - -here -p -0.333 1 0 -p 0.333 1 0 -p 1 0.333 0 -p 1 -0.333 0 -p 0.333 -1 0 -p -0.333 -1 0 -p -1 -0.333 0 -p -1 0.333 0 - -p -0.333 1 1 -p 0.333 1 1 -p 1 0.333 1 -p 1 -0.333 1 -p 0.333 -1 1 -p -0.333 -1 1 -p -1 -0.333 1 -p -1 0.333 1 - -mtl %1 -f 0 1 9 8 -f 1 2 10 9 -f 2 3 11 10 -f 3 4 12 11 -f 4 5 13 12 -f 5 6 14 13 -f 6 7 15 14 -f 7 0 8 15 - -cmp 0 %2 1 -?0 f 0 1 4 5 -?0 f 1 2 3 4 -?0 f 0 5 6 7 -?0 f 8 9 12 13 -?0 f 9 10 11 12 -?0 f 8 13 14 15 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/plaat.3d b/graphics/3D/3dSynthezier/include/plaat.3d deleted file mode 100644 index 8255032..0000000 --- a/graphics/3D/3dSynthezier/include/plaat.3d +++ /dev/null @@ -1,19 +0,0 @@ -here -p -0.1 -0.01 -0.1 -p 0.1 -0.01 -0.1 -p 0.1 -0.01 0.1 -p -0.1 -0.01 0.1 - -p -0.1 0.01 -0.1 -p 0.1 0.01 -0.1 -p 0.1 0.01 0.1 -p -0.1 0.01 0.1 - -mtl kivi -f 0 1 2 3 -f 4 5 6 7 - -f 0 1 5 4 -f 1 2 6 5 -f 2 3 7 6 -f 3 0 4 7 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/pol.3d b/graphics/3D/3dSynthezier/include/pol.3d deleted file mode 100644 index 256589d..0000000 --- a/graphics/3D/3dSynthezier/include/pol.3d +++ /dev/null @@ -1,37 +0,0 @@ -obj pol_frnt -obj pol_frnt z*-1 z+5 -obj pol_ceil x*1.5 z+1.5 y+0.5 -obj flare_w x+0.5 z-0.01 y-0.1 -obj flare_w x*-1 x-0.5 z-0.01 y-0.1 -obj flare_r x+0.5 z+5.01 y-0.1 -obj flare_r x*-1 x-0.5 z+5.01 y-0.1 - -here -p -1.25 0.5 0.5 -p 1.25 0.5 0.5 -p 1.5 0.25 0.5 -p 1.5 -0.25 0.5 -p 1.25 -0.5 0.5 -p -1.25 -0.5 0.5 -p -1.5 -0.25 0.5 -p -1.5 0.25 0.5 - -p -1.25 0.5 4.5 -p 1.25 0.5 4.5 -p 1.5 0.25 4.5 -p 1.5 -0.25 4.5 -p 1.25 -0.5 4.5 -p -1.25 -0.5 4.5 -p -1.5 -0.25 4.5 -p -1.5 0.25 4.5 - -mtl metal_blue -f 0 1 9 8 -f 1 2 10 9 -f 2 3 11 10 -f 3 4 12 11 -f 4 5 13 12 -f 5 6 14 13 -f 6 7 15 14 -f 7 0 8 15 - diff --git a/graphics/3D/3dSynthezier/include/pol_ceil.3d b/graphics/3D/3dSynthezier/include/pol_ceil.3d deleted file mode 100644 index 68cb41a..0000000 --- a/graphics/3D/3dSynthezier/include/pol_ceil.3d +++ /dev/null @@ -1,21 +0,0 @@ -here -p -0.5 0.5 0.75 -p 0.5 0.5 0.75 -p 0.5 0 0 -p -0.5 0 0 -p -0.75 0 0.75 -p 0.75 0 0.75 - -p -0.5 0.5 2.25 -p 0.5 0.5 2.25 -p 0.5 0 2.25 -p -0.5 0 2.25 -mtl klaashele -f 0 1 2 3 -f 0 3 4 -f 1 2 5 - -f 0 1 7 6 -f 1 5 8 7 -f 0 4 9 6 -f 6 7 8 9 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/pol_frnt.3d b/graphics/3D/3dSynthezier/include/pol_frnt.3d deleted file mode 100644 index 826e568..0000000 --- a/graphics/3D/3dSynthezier/include/pol_frnt.3d +++ /dev/null @@ -1,24 +0,0 @@ -here -p -1.25 0.25 0 -p 1.25 0.25 0 -p 1.25 -0.25 0 -p -1.25 -0.25 0 - -p -1.25 0.5 0.5 -p 1.25 0.5 0.5 -p 1.5 0.25 0.5 -p 1.5 -0.25 0.5 -p 1.25 -0.5 0.5 -p -1.25 -0.5 0.5 -p -1.5 -0.25 0.5 -p -1.5 0.25 0.5 -mtl metal_blue -f 0 1 2 3 -f 0 4 5 1 -f 1 5 6 -f 1 6 7 2 -f 2 7 8 -f 2 8 9 3 -f 3 9 10 -f 3 10 11 0 -f 0 11 4 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/ring.3d b/graphics/3D/3dSynthezier/include/ring.3d deleted file mode 100644 index 7d19916..0000000 --- a/graphics/3D/3dSynthezier/include/ring.3d +++ /dev/null @@ -1,52 +0,0 @@ -here -p 0 0 0 -p -1.0 0.0 0.0 -p -0.965926 0.0 -0.258819 -p -0.965926 0.0 0.258819 -p -0.866025 0.0 -0.500000 -p -0.866025 0.0 0.500000 -p -0.707107 0.0 -0.707107 -p -0.707107 0.0 0.707107 -p -0.500000 0.0 -0.866025 -p -0.500000 0.0 0.866025 -p -0.258819 0.0 -0.965926 -p -0.258819 0.0 0.965926 -p 0.0 0.0 -1.0 -p 0.0 0.0 0.0 -p 0.0 0.0 1.0 -p 0.258819 0.0 0.965926 -p 0.258819 0.0 -0.965926 -p 0.500000 0.0 0.866025 -p 0.500000 0.0 -0.866025 -p 0.707107 0.0 -0.707107 -p 0.707107 0.0 0.707107 -p 0.866025 0.0 -0.500000 -p 0.866026 0.0 0.500000 -p 0.965926 0.0 -0.258819 -p 0.965926 0.0 0.258819 -p 1.0 0.0 0.0 - -f 13 25 23 -f 13 23 21 -f 13 21 19 -f 13 19 18 -f 13 18 16 -f 13 16 12 -f 13 12 10 -f 13 10 8 -f 13 8 6 -f 13 6 4 -f 13 4 2 -f 13 2 1 -f 13 1 3 -f 13 3 5 -f 13 5 7 -f 13 7 9 -f 13 9 11 -f 13 11 14 -f 13 14 15 -f 13 15 17 -f 13 17 20 -f 13 20 22 -f 13 22 24 -f 13 24 25 diff --git a/graphics/3D/3dSynthezier/include/seinl1.3d b/graphics/3D/3dSynthezier/include/seinl1.3d deleted file mode 100644 index b6bf757..0000000 --- a/graphics/3D/3dSynthezier/include/seinl1.3d +++ /dev/null @@ -1,9 +0,0 @@ -obj blk1 -obj blk2 x+6 -obj blk2 x+12 -obj blk1 x+18 - -rnd obj^pol^xz-92^z-6^x+1 dum dum dum dum -rnd obj^car^xz91^z-10^x+5 dum dum dum dum -rnd obj^car^xz87^z-8^x+19 dum dum dum dum -rnd obj^bus^xz-90^z-12^x+10 dum dum dum dum dum dum dum dum \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/seinp1.3d b/graphics/3D/3dSynthezier/include/seinp1.3d deleted file mode 100644 index b8499db..0000000 --- a/graphics/3D/3dSynthezier/include/seinp1.3d +++ /dev/null @@ -1,19 +0,0 @@ -obj blk1 -obj blk1 x+6 -obj blk1 x+12 -obj blk2 x+18 - -obj blk2 x+24 -obj blk1 x+30 -obj blk1 x+36 -obj blk1 x+42 - -obj blk1 x+48 -obj blk1 x+54 -obj blk1 x+60 -obj blk2 x+66 - -obj blk2 x+72 -obj blk1 x+78 -obj blk1 x+84 -obj blk1 x+90 diff --git a/graphics/3D/3dSynthezier/include/solar.3d b/graphics/3D/3dSynthezier/include/solar.3d deleted file mode 100644 index a898eec..0000000 --- a/graphics/3D/3dSynthezier/include/solar.3d +++ /dev/null @@ -1,23 +0,0 @@ -here -p -3 0 -3 -p 3 0 -3 -p 3 0 3 -p -3 0 3 - -p -3 15 -3 -p 3 15 -3 -p 3 15 3 -p -3 15 3 - -p -20 6 -9 -p 20 6 -9 -p 10 24 9 -p -10 24 9 - -mtl pronks -f 0 1 5 4 -f 1 2 6 5 -f 2 3 7 6 -f 3 0 4 7 -mtl solar -f 8 9 10 11 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/toru.3d b/graphics/3D/3dSynthezier/include/toru.3d deleted file mode 100644 index 0f91bfb..0000000 --- a/graphics/3D/3dSynthezier/include/toru.3d +++ /dev/null @@ -1,38 +0,0 @@ -here -p 0 0 10 -p 0 5 10 - -p 7.071067 0 7.071069 -p 7.071067 5 7.071069 - -p 10 0 3.139165E-06 -p 10 5 3.139165E-06 - -p 7.071071 0 -7.071064 -p 7.071071 5 -7.071064 - -p 6.27833E-06 0 -10 -p 6.27833E-06 5 -10 - -p -7.071062 0 -7.071074 -p -7.071062 5 -7.071074 - -p -10 0 -9.417495E-06 -p -10 5 -9.417495E-06 - -p -7.071075 0 7.07106 -p -7.071075 5 7.07106 -mtl pronks -f 0 1 3 2 -f 2 3 5 4 -f 4 5 7 6 -f 6 7 9 8 - -f 8 9 11 10 -f 10 11 13 12 -f 12 13 15 14 -f 14 15 1 0 - -f 1 3 5 7 -f 1 7 9 15 -f 9 11 13 15 \ No newline at end of file diff --git a/graphics/3D/3dSynthezier/include/vedru.3d b/graphics/3D/3dSynthezier/include/vedru.3d deleted file mode 100644 index 6d238b8..0000000 --- a/graphics/3D/3dSynthezier/include/vedru.3d +++ /dev/null @@ -1,51 +0,0 @@ -obj plaat xz20 x+0 y+0 z+1 -obj plaat xz18.42122 x+.3894183 y+.1333333 z+.921061 -obj plaat xz13.93413 x+.7173561 y+.2666667 z+.6967067 -obj plaat xz7.247154 x+.9320391 y+.4 z+.3623577 -obj plaat xz-.5839909 x+.9995736 y+.5333334 z-2.919955E-02 -obj plaat xz-8.322937 x+.9092974 y+.6666667 z-.4161468 -obj plaat xz-14.74788 x+.6754631 y+.8 z-.7373938 -obj plaat xz-18.84445 x+.334988 y+.9333334 z-.9422224 -obj plaat xz-19.96589 x-5.837443E-02 y+1.066667 z-.9982948 -obj plaat xz-17.93517 x-.4425208 y+1.2 z-.8967583 -obj plaat xz-13.07286 x-.7568028 y+1.333333 z-.6536433 -obj plaat xz-6.146646 x-.9516022 y+1.466667 z-.3073323 -obj plaat xz1.749993 x-.9961646 y+1.6 z+8.749965E-02 -obj plaat xz9.370347 x-.8834543 y+1.733334 z+.4685173 -obj plaat xz15.51133 x-.631266 y+1.866667 z+.7755664 -obj plaat xz19.20341 x-.2794146 y+2 z+.9601706 -obj plaat xz19.8637 x+.1165502 y+2.133334 z+.9931848 -obj plaat xz17.38794 x+.4941143 y+2.266667 z+.8693969 -obj plaat xz12.16701 x+.7936686 y+2.4 z+.6083503 -obj plaat xz5.025171 x+.96792 y+2.533334 z+.2512586 -obj plaat xz-2.910019 x+.9893581 y+2.666667 z-.145501 -obj plaat xz-10.38578 x+.8545986 y+2.8 z-.5192891 -obj plaat xz-16.22186 x+.584917 y+2.933333 z-.8110932 -obj plaat xz-19.49687 x+.2228901 y+3.066667 z-.9748436 -obj plaat xz-19.69376 x-.1743262 y+3.2 z-.984688 -obj plaat xz-16.78144 x-.5440203 y+3.333333 z-.839072 -obj plaat xz-11.21971 x-.8278257 y+3.466666 z-.5609854 -obj plaat xz-3.886632 x-.9809359 y+3.599999 z-.1943316 -obj plaat xz4.060056 x-.9791781 y+3.733333 z+.2030028 -obj plaat xz11.36575 x-.82283 y+3.866666 z+.5682876 -obj plaat xz16.87705 x-.5365753 y+3.999999 z+.8438524 -obj plaat xz19.72383 x-.1656074 y+4.133332 z+.9861917 -obj plaat xz19.45667 x+.2315063 y+4.266665 z+.9728334 -obj plaat xz16.11773 x+.5920703 y+4.399999 z+.8058863 -obj plaat xz10.23416 x+.8591596 y+4.533332 z+.5117078 -obj plaat xz2.734839 x+.9906067 y+4.666665 z+.1367419 -obj plaat xz-5.196248 x+.9656591 y+4.799998 z-.2598124 -obj plaat xz-12.30696 x+.7882555 y+4.933331 z-.6153481 -obj plaat xz-17.47468 x+.4864039 y+5.066665 z-.8737341 -obj plaat xz-19.88354 x+.1077599 y+5.199998 z-.9941769 -obj plaat xz-19.15323 x-.2878969 y+5.333331 z-.9576614 -obj plaat xz-15.39904 x-.638102 y+5.466665 z-.7699519 -obj plaat xz-9.213687 x-.8875641 y+5.599998 z-.4606843 -obj plaat xz-1.573701 x-.9968995 y+5.733331 z-7.868504E-02 -obj plaat xz6.314738 x-.9488468 y+5.866664 z+.3157369 -obj plaat xz13.20622 x-.7509923 y+5.999998 z+.660311 -obj plaat xz18.01273 x-.4345728 y+6.133331 z+.9006367 -obj plaat xz19.97544 x-4.954402E-02 y+6.266664 z+.998772 -obj plaat xz18.78447 x+.3433067 y+6.399997 z+.9392233 -obj plaat xz14.62785 x+.6819569 y+6.53333 z+.7313923 -obj plaat xz8.161816 x+.9129413 y+6.666664 z+.4080908 diff --git a/index.html b/index.html new file mode 100644 index 0000000..5afb6b0 --- /dev/null +++ b/index.html @@ -0,0 +1,354 @@ + + + +QBasicApps - collection of applications mostly written in MS QBasic for DOS environment + + + + + + + +" + + + + + +
+

QBasicApps - collection of applications mostly written in MS QBasic for DOS environment

+
+ + + +

+This collection contains lots of applications: +

+
    +
  • Games. +
  • +
  • Graphics tests (2D/3D/4D). +
  • +
  • Algorithms tests. +
  • +
  • Utilities. +
  • +
+ +

+I wrote them long time ago mostly in QBasic, some in x86 assembly for +use under DOS operating system. +

+ + +

+Few sample applications from the package: +

+ +
+

1 Checkers

+
+

+Play checkers against the computer with any board size and any amount +of caps. Does thinking by recursively testing many possible scenarios +with any depth. +

+ +

+Since it is slow QBasic implementation, it isn't practical to play +with many caps or big thinking depth, for reasonable responce time. +

+ +

+See directory: +

+
+games/checkers
+
+ + +
+

screenshot.png +

+
+
+
+ + +
+

2 Platform game

+
+

+Jump around, collect coins and dont touch snails! Inspired by Super +Mario Bros. +

+ +

+See directory: +

+
+games/platform
+
+ + +
+

screenshot.png +

+
+
+
+ + +
+

3 3D Synthezier

+
+

+Parses scene definition language and creates 3D world based on +it. Result will be in a wavefront obj file, witch can be then +visualized using external renderer. +

+ +

+See directory: +

+
+graphics/3D/3D Synthezier
+
+ + +
+

rectangular city, 1.jpeg +

+
+ + +
+

hexagonal city, 2.jpeg +

+
+ +

+Read more +

+
+
+
+
+

Author: Svjatoslav Agejenko

+

Created: 2018-06-03 Sun 02:00

+

Emacs 25.1.1 (Org-mode 8.2.10)

+
+
+ + diff --git a/index.org b/index.org new file mode 100644 index 0000000..0b806a0 --- /dev/null +++ b/index.org @@ -0,0 +1,77 @@ +#+TITLE: QBasicApps - collection of applications mostly written in MS QBasic for DOS environment + +----- +- [[http://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=snapshot;h=HEAD;sf=tgz][download latest snapshot]] + +- These programs are free software; you can redistribute them and/or + modify them under the terms of version 3 of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General + Public License]] or later as published by the Free Software + Foundation. + +- Programs author: + - Svjatoslav Agejenko + - Homepage: http://svjatoslav.eu + - Email: mailto://svjatoslav@svjatoslav.eu + +- [[http://www.svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]] + + +This collection contains lots of applications: ++ Games. ++ Graphics tests (2D/3D/4D). ++ Algorithms tests. ++ Utilities. + +I wrote them long time ago mostly in QBasic, some in x86 assembly for +use under DOS operating system. + + +Few sample applications from the package: + +* Checkers +Play checkers against the computer with any board size and any amount +of caps. Does thinking by recursively testing many possible scenarios +with any depth. + +Since it is slow QBasic implementation, it isn't practical to play +with many caps or big thinking depth, for reasonable responce time. + +See directory: +: games/checkers + +[[file:games/checkers/screenshot.png]] + + +* Platform game +Jump around, collect coins and dont touch snails! Inspired by Super +Mario Bros. + +See directory: +: games/platform + +[[file:games/platform/screenshot.png]] + + +* 3D Synthezier +Parses scene definition language and creates 3D world based on +it. Result will be in a [[https://en.wikipedia.org/wiki/Wavefront_.obj_file][wavefront obj file]], witch can be then +visualized using external renderer. + +See directory: +: graphics/3D/3D Synthezier + +[[file:graphics/3D/3D Synthezier/doc/rectangular city, 1.jpeg]] + +[[file:graphics/3D/3D Synthezier/doc/hexagonal city, 2.jpeg]] + +[[file:graphics/3D/3D Synthezier/doc/index.html][Read more]] + +* (document settings) :noexport: +** use dark style for TWBS-HTML exporter +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: " +#+HTML_HEAD: diff --git a/misc/font.bas b/misc/font.bas new file mode 100644 index 0000000..0c005e5 --- /dev/null +++ b/misc/font.bas @@ -0,0 +1,61 @@ +' Svjatoslav Agejenko +' year: 2001 +' alien text + +DEFINT A-Z +DECLARE SUB prch (x, y, n, s) +DIM SHARED co(1 TO 4) +co(1) = 7 +co(2) = 7 +co(3) = 0 +co(4) = 0 + + +SCREEN 12 +RANDOMIZE TIMER + +PAINT (1, 1), 0 + +siz = 4 + +tmp = 0 +FOR y = 1 TO 480 - siz - 2 STEP siz + (siz \ 2) +tmp1 = 0 +FOR x = 1 TO 640 - siz - 2 STEP siz + (siz \ 2) +prch x, y, RND * 16, siz +tmp1 = tmp1 + 1 +IF tmp1 > 20 THEN tmp1 = 0: x = x + (siz) +NEXT x +tmp = tmp + 1 +IF tmp > 5 THEN tmp = 0: y = y + (siz) +NEXT y + +SUB prch (x, y, n, s) +sp = s \ 2 + +c = co(RND * 3 + 1) +LINE (x, y)-(x + s, y), c +LINE (x, y)-(x + sp, y + sp), c +LINE (x + s, y)-(x + sp, y + sp), c +PAINT (x + 2, y + 1), c + +c = co(RND * 3 + 1) +LINE (x, y)-(x, y + s), c +LINE (x, y)-(x + sp, y + sp), c +LINE (x, y + s)-(x + sp, y + sp), c +PAINT (x + 1, y + 2), c + +c = co(RND * 3 + 1) +LINE (x + s, y)-(x + s, y + s), c +LINE (x + s, y)-(x + sp, y + sp), c +LINE (x + s, y + s)-(x + sp, y + sp), c +PAINT (x + s - 1, y + 2), c + +c = co(RND * 3 + 1) +LINE (x, y + s)-(x + s, y + s), c +LINE (x, y + s)-(x + sp, y + sp), c +LINE (x + s, y + s)-(x + sp, y + sp), c +PAINT (x + 2, y + s - 1), c + +END SUB + diff --git a/misc/key.bas b/misc/key.bas new file mode 100644 index 0000000..e55f01b --- /dev/null +++ b/misc/key.bas @@ -0,0 +1,10 @@ +1 +a$ = INKEY$ +IF a$ = "" THEN GOTO 1 +PRINT a$ +PRINT ASC(LEFT$(a$, 1)) +PRINT ASC(RIGHT$(a$, 1)) + + +GOTO 1 + diff --git a/misc/lightpe2.bas b/misc/lightpe2.bas new file mode 100644 index 0000000..db871bf --- /dev/null +++ b/misc/lightpe2.bas @@ -0,0 +1,97 @@ +' Svjatoslav Agejenko 2003.03 +' light pen test + +DECLARE SUB miniscan (x1%, y1%, xn%, yn%) +DECLARE SUB getxy (x%, y%) +DECLARE SUB scan (x%, y%) +DECLARE SUB start () +DEFINT A-Z +DIM SHARED prt, prt2 +DIM SHARED wai, wai2 +DIM SHARED mins, minl +wai = 4000 +wai2 = 5000 +mins = 20 +minl = 8 + +DIM SHARED px(1 TO 500) +DIM SHARED py(1 TO 500) +DIM SHARED mitup + +mitup = 1 +start + +x = 160 +y = 100 +px(1) = x +py(1) = y + +1 +getxy x, y +REM CIRCLE (x, y), 30, 14 +IF (px(mitup) <> x) OR py(mitup) <> y THEN mitup = mitup + 1 +px(mitup) = x +py(mitup) = y + +FOR a = 1 TO mitup - 1 +LINE (px(a), py(a))-(px(a + 1), py(a + 1)), 15 +NEXT a +GOTO 1 + +SUB getxy (x, y) + +miniscan x + (mins / 4), y + (mins / 4), xn, yn +IF xn <> -1 THEN x = xn +IF yn <> -1 THEN y = yn + +LOCATE 1, 1 +PRINT SPACE$(40) +LOCATE 1, 1 +PRINT x, y +END SUB + +SUB miniscan (x1, y1, xn, yn) +cd = INP(prt2) + +xn = -1 +yn = -1 + +LINE (x1 - mins, y1 - mins)-(x1 + mins, y1 + mins), 0, BF + +FOR x = x1 - mins TO x1 + mins +LINE (x, y1 - mins)-(x, y1 + mins), 15 +LINE (x - minl, y1 - mins)-(x - minl, y1 + mins), 0 +FOR a = 0 TO wai2 +NEXT a +c = INP(prt2) +IF c <> cd THEN xn = x: GOTO 4 +NEXT x +4 +LINE (x1 - mins, y1 - mins)-(x1 + mins, y1 + mins), 0, BF + +FOR y = y1 - mins TO y1 + mins +LINE (x1 - mins, y)-(x1 + mins, y), 15 +LINE (x1 - mins, y - minl)-(x1 + mins, y - minl), 0 +FOR a = 0 TO wai2 +NEXT a +c = INP(prt2) +IF c <> cd THEN yn = y: GOTO 5 +NEXT y +5 +LINE (x1 - mins, y1 - mins)-(x1 + mins, y1 + mins), 0, BF +IF xn < -1 THEN xn = -1 +IF yn < -1 THEN yn = -1 + +END SUB + +SUB start +CLS +SCREEN 13 + +prt = &H378 +prt2 = &H379 + +OUT prt, 255 + +END SUB + diff --git a/misc/lightpen.bas b/misc/lightpen.bas new file mode 100644 index 0000000..8575f9f --- /dev/null +++ b/misc/lightpen.bas @@ -0,0 +1,23 @@ +' Svjatoslav Agejenko 2003.03 +' light pen test + + +DEFINT A-Z +CLS +SCREEN 13 + +prt = &H378 +prt2 = &H379 + +OUT prt, 255 + + +1 +a = INP(prt2) +IF a = 135 THEN + LINE (180, 0)-(200, 199), 1, BF +ELSE + LINE (180, 0)-(200, 199), 15, BF +END IF +GOTO 1 + diff --git a/misc/matem.bas b/misc/matem.bas new file mode 100644 index 0000000..e41efab --- /dev/null +++ b/misc/matem.bas @@ -0,0 +1,159 @@ +' Autor: Svjatoslav Agejenko +' aasta ~2000 + +' Matemaatika korrutus tabeli pohjal +' teadmiste testimis programm +' +' Vajuta F5 alustamiseks + +DECLARE SUB vastus () +DEFINT A-Y +DECLARE SUB tere () +DIM SHARED nimi$ +DIM SHARED kus + +tere +vastus + +DEFINT Z +SUB tere + +CLS +SCREEN 13 +LOCATE 2, 1 +PRINT " Matemaatika “petamis programm" +FOR y = 3 TO 20 +FOR x = 0 TO 320 + +IF POINT(x, y) > 0 THEN +c = y + 56 +ELSE + +c = 31 - y / 2 +END IF +PSET (x, y), c +NEXT x +NEXT y + +LOCATE 5, 1 +COLOR 7 +INPUT "Sisesta oma nimi ", nimi$ +LOCATE 5, 1 +COLOR 8 +PRINT "Sisesta oma nimi " + nimi$ + +LOCATE 6, 1 +COLOR 7 +PRINT "Tere " + nimi$ + "." + +8 +LOCATE 7, 1 +COLOR 8 +PRINT SPACE$(35) +COLOR 7 +LOCATE 7, 1 +INPUT "Mitu lesannet sa soovid ", kus +LOCATE 7, 1 +COLOR 8 +PRINT SPACE$(35) +LOCATE 7, 1 +COLOR 8 +PRINT "Mitu lesannet sa soovid " + STR$(kus) + +IF kus < 5 THEN +PRINT "Nii kergelt ei p„„se !" +GOTO 8 +END IF + +IF kus > 30 THEN +PRINT "Liiga palju !" +GOTO 8 +END IF + +PRINT "Nd ma ksin sinult m“ned matemaatika" +PRINT "alased ksimused.Vajuta suvaline klahv," +PRINT "kui oled valmis..." + +FOR a = 200 TO 230 + OUT &H3C8, a + OUT &H3C9, a - 200 + OUT &H3C9, 0 + OUT &H3C9, 0 +NEXT + +DIM varv(1 TO 32) + +c = 4 +d = 1 + +2 +FOR a = 0 TO 31 +LINE (a * 10, 170)-(a * 10 + 10, 190), 200 + varv(a + 1), BF +varv(a + 1) = varv(a + 1) - 1 +IF varv(a + 1) < 0 THEN varv(a + 1) = 0 +NEXT a + +c = c + d +IF c > 30 OR c < 3 THEN d = -d +varv(c) = 30 +SOUND 0, 1 +IF INKEY$ <> "" THEN GOTO 3 +GOTO 2 +3 +CLS +END SUB + +DEFSNG Z +SUB vastus +RANDOMIZE TIMER + +mitmes = 0 +vale = 0 +oige = 0 +PRINT "Palju on:" +4 +mitmes = mitmes + 1 +IF mitmes > kus THEN GOTO 6 +ar1 = RND * 9 +ar2 = RND * 9 +a$ = STR$(ar1) + " X" + STR$(ar2) +PRINT " " +PRINT a$ +5 +INPUT vas$ +IF LEFT$(vas$, 6) = "ei tea" THEN PRINT "Proovi ikka !": GOTO 5 +IF LEFT$(vas$, 6) = "jama" THEN PRINT "Usu mind,ei ole !": GOTO 5 + +IF vas$ = "0" THEN vas = 0: GOTO 10 +vas = VAL(vas$) +IF vas = 0 THEN vas = -1 +10 + +IF ar1 * ar2 = vas THEN +oige = oige + 1 +PRINT "“ige !!" +ELSE +PRINT "vale" +PRINT "“ige on ", ar1 * ar2 +vale = vale + 1 +END IF + +GOTO 4 + +6 +PRINT "-------------------------" +COLOR 2 +PRINT "valesid on :", vale + +z = oige / kus * 100 + +hinne = 1 + +IF z >= 25 THEN hinne = 2 +IF z >= 50 THEN hinne = 3 +IF z >= 70 THEN hinne = 4 +IF z >= 90 THEN hinne = 5 +COLOR 14 +PRINT "Sinu hinne on "; hinne +END SUB + diff --git a/misc/modes.bas b/misc/modes.bas new file mode 100644 index 0000000..aef4458 --- /dev/null +++ b/misc/modes.bas @@ -0,0 +1,35 @@ +' Determine avaiable video modes +' made by Svjatoslav Agejenko +' in 2001 +' homepage: svjatoslav.eu +' email: svjatoslav@svjatoslav.eu + +' program to determine avaiable video modes +' it assumes that 1 is always avaiable + +DIM SHARED mo(1 TO 100) +ON ERROR GOTO 1 +b = 1 +a = 0 +2 +SCREEN a +'PRINT "mode", a +'a$ = INPUT$(1) +mo(b) = a +b = b + 1 +a = a + 1 +GOTO 2 + + +1 +a = a + 1 +IF a > 1000 THEN + SCREEN 1 + PRINT "Avaiable video modes on this computer:" + FOR a = 1 TO b - 1 + PRINT mo(a) + NEXT a + END +END IF +RESUME + diff --git a/misc/pal.bas b/misc/pal.bas new file mode 100644 index 0000000..f5e6faa --- /dev/null +++ b/misc/pal.bas @@ -0,0 +1,116 @@ +' An attempt to generate universally reusable color parette. +' By Svjatoslav Agejenko in 2001. +' homepage: svjatoslav.eu +' email: svjatoslav@svjatoslav.eu + + + +DECLARE SUB getcol (a%, b%, c%, d%) +DEFINT A-Y +SCREEN 13 +CLS + +c = 0 +FOR r = 0 TO 5 + FOR g = 0 TO 5 + FOR b = 0 TO 5 + OUT &H3C8, c + c = c + 1 + OUT &H3C9, r * 12 + OUT &H3C9, g * 12 + OUT &H3C9, b * 12 + NEXT b + NEXT g +NEXT r + +'GOTO 1 + +FOR c = 0 TO 5 + FOR b = 0 TO 5 + FOR a = 0 TO 5 + LINE (a * 5 + c * 30, b * 5)-(a * 5 + 4 + c * 30, b * 5 + 4), c * 36 + b * 6 + a, BF + NEXT a + NEXT b +NEXT c + + +a$ = INPUT$(1) + +ex = -100 +ey = 0 +FOR z = 0 TO 75 STEP 15 + x1 = 50 - (z / 2) + y1 = 50 - (z * .866025) + x2 = 50 + z + y2 = 50 + x3 = x1 + y3 = 100 - y1 + + ex = ex + 100 + IF z = 45 THEN ex = ex - 300: ey = ey + 101 + + FOR x = 0 TO 100 + FOR y = 0 TO 100 + r = 7 - (SQR((x1 - x) ^ 2 + (y1 - y) ^ 2) / 15 + 1) + g = 7 - (SQR((x2 - x) ^ 2 + (y2 - y) ^ 2) / 15 + 1) + b = 7 - (SQR((x3 - x) ^ 2 + (y3 - y) ^ 2) / 15 + 1) + IF r < 0 THEN r = 0 + IF g < 0 THEN g = 0 + IF b < 0 THEN b = 0 + IF r > 5 THEN r = 5 + IF g > 5 THEN g = 5 + IF b > 5 THEN b = 5 + c = r * 36 + g * 6 + b + PSET (x + ex, y + ey), c + NEXT y + NEXT x +NEXT z + +a$ = INPUT$(1) +1 +ex = -100 +ey = 0 +FOR z = 0 TO 75 STEP 15 + x1 = 50 - (z / 2.5) + y1 = 50 - (z * .566025) + x2 = 50 + z / 1.5 + y2 = 50 + x3 = x1 + y3 = 100 - y1 + + ex = ex + 100 + IF z = 45 THEN ex = ex - 300: ey = ey + 101 + + r1 = 0 + g1 = 0 + b1 = 0 + FOR x = 0 TO 100 + FOR y = 0 TO 100 + r = 30 - (SQR((x1 - x) ^ 2 + (y1 - y) ^ 2) / 2 + 1) + g = 30 - (SQR((x2 - x) ^ 2 + (y2 - y) ^ 2) / 2 + 1) + b = 30 - (SQR((x3 - x) ^ 2 + (y3 - y) ^ 2) / 2 + 1) + r1 = r1 + r + g1 = g1 + g + b1 = b1 + b + r = r1 / 5 + g = g1 / 5 + b = b1 / 5 + r1 = r1 - (r * 5) + g1 = g1 - (g * 5) + b1 = b1 - (b * 5) + + IF r < 0 THEN r = 0 + IF g < 0 THEN g = 0 + IF b < 0 THEN b = 0 + IF r > 5 THEN r = 5 + IF g > 5 THEN g = 5 + IF b > 5 THEN b = 5 + c = r * 36 + g * 6 + b + PSET (x + ex, y + ey), c + NEXT y + NEXT x +NEXT z + +a$ = INPUT$(1) +SYSTEM + diff --git a/misc/passw.bas b/misc/passw.bas new file mode 100644 index 0000000..651e73a --- /dev/null +++ b/misc/passw.bas @@ -0,0 +1,175 @@ +' Svjatoslav Agejenko svjatoslav@svjatoslav.eu year:2002 +' See or modify "passwd.dat" for password. +' Is useful when compiled into EXE, and put into AUTOEXEC.BAT + +CHDIR ".\qbasicapps\unsorted" + + +DECLARE SUB check (a$) +DECLARE SUB start () +DECLARE SUB mkv (s%, C%) +DECLARE SUB box (x1%, y1%, x2%, y2%) + +DIM SHARED cha +DIM SHARED pwd$ + +start + +x = 25 +x2 = 10 +x3 = 0 +B$ = "" +1 +x = x + xs +IF x > 0 THEN xs = xs - .5 +IF x < 0 THEN xs = xs + .5 +xs = xs - (xs / 8) +IF x2 > 100 THEN x2 = 10 +LINE (x2, 10)-(x2, 60), 0 +PSET (x2, x + 35), 10 +IF x2 < 99 THEN LINE (x2 + 1, 10)-(x2 + 1, 60), 3 +x2 = x2 + 1 +x3 = x3 + 1 +IF x3 > 40 THEN x3 = 0: xs = xs - 5: SOUND 1000, 1 + +SOUND 0, .5 + +a$ = INKEY$ +IF a$ = CHR$(13) THEN +check B$ +B$ = "" +GOTO 2 +END IF +IF a$ <> "" THEN +IF a$ = CHR$(8) THEN +IF LEN(B$) > 0 THEN B$ = LEFT$(B$, LEN(B$) - 1): GOTO 2 +GOTO 2 +END IF +B$ = B$ + a$ +IF LEN(B$) > 10 THEN B$ = LEFT$(B$, 10) +2 +FOR a = 1 TO 10 +IF a <= LEN(B$) THEN C = 5 ELSE C = 1 +CIRCLE (a * 15 + 20, 150), 6, C +PAINT (a * 15 + 20, 150), C +NEXT a +END IF +GOTO 1 + +DEFINT A-Z +SUB box (x1, y1, x2, y2) +LINE (x1 + 1, y1 + 1)-(x2 - 1, y2 - 1), 0, BF +LINE (x1, y1)-(x2, y2), 10, B +LINE (x1, y1)-(x2, y1 - 9), 14, BF +LINE (x1, y1)-(x2, y1 - 9), 10, B + +LINE (x2 - 2, y1 - 2)-(x2 - 7, y1 - 7), 7, BF +LINE (x2 - 9, y1 - 2)-(x2 - 14, y1 - 7), 7, BF + +LINE (x2 - 2, y1 - 2)-(x2 - 7, y1 - 7), 0 +LINE (x2 - 2, y1 - 7)-(x2 - 7, y1 - 2), 0 + +LINE (x2 - 10, y1 - 3)-(x2 - 13, y1 - 3), 0 +END SUB + +DEFSNG A-Z +SUB check (a$) +cha = cha - 1 + +IF a$ = pwd$ THEN CLS : SCREEN 2: SYSTEM + +DIM buf(1 TO 3000) + +GET (79, 80)-(241, 141), buf(1) + +box 80, 90, 240, 140 +LOCATE 14, 14 +COLOR 12 +PRINT "Wrong passworD" +COLOR 5 + +LOCATE 16, 13 +PRINT STR$(cha) + " chanses left" + +FOR a = 1 TO 30 +SOUND 0, 1 +NEXT a + +IF cha = 0 THEN +DIM buf2(1000) +GET (79, 138)-(241, 140), buf2 +FOR a = 1 TO 40 +PUT (79, 138 + a), buf2, PSET +SOUND 0, .5 +NEXT a + +LOCATE 19, 14 +COLOR 12 +PRINT "SYSTEM HALTED" +LOCATE 21, 14 +PRINT "SUCESSFULLY!!" +3 +GOTO 3 +END IF + + +PUT (79, 80), buf(1), PSET + + +END SUB + +DEFINT A-Z +SUB mkv (s, C) +FOR x = 160 TO 319 STEP s +LINE (x, 0)-(x, 199), C +LINE (320 - x, 0)-(320 - x, 199), C +NEXT x + +FOR y = 100 TO 199 STEP s +LINE (0, y)-(319, y), C +LINE (0, 200 - y)-(319, 200 - y), C +NEXT y + +END SUB + +DEFSNG A-Z +SUB start + +OPEN "passw.dat" FOR INPUT AS #1 +LINE INPUT #1, pwd$ +CLOSE #1 + +SCREEN 13 + +cha = 3 + +s = 2 +FOR C = 16 TO 31 +s = s * 1.4 +mkv INT(s), INT(C) +NEXT C +mkv INT(s), 0 + + +box 70, 20, 270, 90 + +COLOR 5 +LOCATE 8, 10 +PRINT " stack dump:" +LOCATE 9, 10 +PRINT "010010010010010010010100" + +LOCATE 10, 10 +PRINT "Running rocket ground" +LOCATE 11, 10 +PRINT "control system..." + +box 9, 9, 101, 61 + +box 20, 130, 300, 190 + +LOCATE 18, 5 +PRINT "ENTER PASSWORD:" + +END SUB + diff --git a/misc/passw.dat b/misc/passw.dat new file mode 100644 index 0000000..6ea1900 --- /dev/null +++ b/misc/passw.dat @@ -0,0 +1 @@ +jerry \ No newline at end of file diff --git a/misc/tim.dat b/misc/tim.dat new file mode 100644 index 0000000..3403f49 --- /dev/null +++ b/misc/tim.dat @@ -0,0 +1,100 @@ + 8 30 0 3 + 1 1 1 1 1 0 0 + + +sisse.com + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 8 40 0 3 + 1 0 0 0 0 0 0 + + + + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 0 0 0 1 + 0 0 0 0 0 0 0 + + + + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 9 21 0 2 + 0 0 0 0 0 0 0 + + + + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 0 0 0 0 + 0 0 0 0 0 0 0 + + + + 9 1 0 3 + 1 1 0 1 1 0 1 + + + diff --git a/misc/timer.bas b/misc/timer.bas new file mode 100644 index 0000000..74d6238 --- /dev/null +++ b/misc/timer.bas @@ -0,0 +1,855 @@ +CHDIR ".\qbasicapps\unsorted" + + +DECLARE SUB bar () +DECLARE SUB help (a!) +DECLARE SUB alarm (a!) +DECLARE SUB gtw (y!, m!, t!, r!) +DECLARE SUB daysm (y!, m!, d!) +DECLARE SUB daysy (y!, d!) +DECLARE SUB chdat () +DECLARE SUB entcla () +DECLARE SUB entcl () +DECLARE SUB clrc (a!) +DECLARE SUB scroll () +DECLARE SUB ps (x!, y!, c!, s$) +DECLARE SUB vbox (x1!, y1!, x2!, y2!, c!) +DECLARE SUB quit () +DECLARE SUB start () +DECLARE SUB cns (a!, s$) +DECLARE SUB getkey (a$) +DECLARE SUB chkey (a$) +DECLARE SUB entquit () +DECLARE SUB ented () +DECLARE SUB ed (p!) +DECLARE SUB inpu (x!, y!, xl!, c!, a$) +DECLARE SUB box (x!, y!, xl!, yl!, a$) +DECLARE SUB sh () + +DIM SHARED celh(1 TO 20) +DIM SHARED celm(1 TO 20) +DIM SHARED cels(1 TO 20) + +DIM SHARED celm1$(1 TO 20) +DIM SHARED celm2$(1 TO 20) +DIM SHARED celc$(1 TO 20) + +DIM SHARED celt(1 TO 20)' 0 - empty 1 - onece 2 - every day 3 - specified days +DIM SHARED celw(1 TO 20, 1 TO 7) +DIM SHARED celx(1 TO 20) + +DIM SHARED virt(1 TO 80, 1 TO 25) +DIM SHARED tmr +DIM SHARED slp(1 TO 20) +DIM SHARED alq(1 TO 20) +DIM SHARED alarmo + +DIM SHARED alqm +DIM SHARED br$ + +start + +sh +1 +br$ = "Press F1 for help" +getkey a$ + +IF a$ = "q" THEN entquit +IF a$ = "e" THEN ented +IF a$ = "c" THEN entcl +IF a$ = "d" THEN entcla +IF a$ = CHR$(0) + CHR$(59) THEN help 1: getkey a$: sh +GOTO 1 + +SUB alarm (a) +alq(a) = 1 +alarmo = 1 +'DIM SHARED celm1$(1 TO 20) +'DIM SHARED celm2$(1 TO 20) +'DIM SHARED celc$(1 TO 20) + +IF celc$(a) <> "" THEN +SHELL celc$(a) +END IF + +IF celm1$(a) <> "" OR celm2$(a) <> "" THEN +OPEN "note.txt" FOR OUTPUT AS #1 +PRINT #1, celm1$(a) +PRINT #1, celm2$(a) +CLOSE #1 +SHELL "notepad note.txt" +END IF + + +FOR b = 100 TO 1000 STEP 20 +SOUND b, .1 +NEXT b +END SUB + +SUB bar +COLOR 0, 3 +LOCATE 22, 72 +PRINT CHR$(179) + TIME$ + +br$ = br$ + SPACE$(80) +br$ = LEFT$(br$, 70) +LOCATE 22, 1 +PRINT " " + br$ + +COLOR 7, 0 +END SUB + +SUB box (x, y, xl, yl, e$) +vbox x, y, xl, yl, 1 +' 201 205 187 +COLOR 11 + +a$ = "" +d$ = "" +FOR a = 1 TO xl - 2 +a$ = a$ + CHR$(205) +d$ = d$ + " " +NEXT a +b$ = CHR$(201) + a$ + CHR$(187) +c$ = CHR$(200) + a$ + CHR$(188) +d$ = CHR$(186) + d$ + CHR$(186) + +LOCATE y, x +PRINT b$ +LOCATE y + yl - 1, x +PRINT c$ + +FOR a = 1 TO yl - 2 +LOCATE y + a, x +PRINT d$ +NEXT a + +xt = INT(x + (xl / 2) - (LEN(e$) / 2) - 2) +LOCATE y, xt +PRINT "[ " +xt = xt + 2 + +COLOR 10 +LOCATE y, xt +PRINT e$ + +xt = xt + LEN(e$) + +COLOR 11 +LOCATE y, xt +PRINT " ]" + +COLOR 7, 0 +END SUB + +SUB chdat +a$ = DATE$ +qwy = VAL(RIGHT$(a$, 4)) +qwm = VAL(LEFT$(a$, 2)) +qwd = VAL(RIGHT$(LEFT$(a$, 5), 2)) +gtw qwy, qwm, qwd, w + +a$ = TIME$ +qes = VAL(RIGHT$(a$, 4)) +qeh = VAL(LEFT$(a$, 2)) +qem = VAL(RIGHT$(LEFT$(a$, 5), 2)) + +IF alqm <> qem THEN +alqm = qem + +FOR b = 1 TO 20 +alq(b) = 0 +NEXT b +END IF + + +'DIM SHARED celh(1 TO 20) +'DIM SHARED celm(1 TO 20) +'DIM SHARED cels(1 TO 20) + + +FOR a = 1 TO 20 +IF celt(a) = 0 THEN GOTO 19 +IF celt(a) = 3 THEN IF celw(a, w) = 0 THEN GOTO 19 +IF alq(a) = 1 THEN GOTO 19 +IF celh(a) <> qeh THEN GOTO 19 +IF celm(a) <> qem THEN GOTO 19 +alarm a +IF celt(a) = 1 THEN clrc a +19 +NEXT a +END SUB + +SUB chkey (a$) +a$ = INKEY$ + +IF a$ = "" THEN +IF tmr > 4 THEN scroll: tmr = 1 +SOUND 0, 1 +IF alarmo = 1 THEN SOUND 2000, 1 +tmr = tmr + 1 +chdat +bar +ELSE +IF alarmo = 1 THEN alarmo = 0: a$ = "" +END IF +END SUB + +SUB clrc (a) + +celh(a) = 0 +celm(a) = 0 +cels(a) = 0 +celt(a) = 0 + +celm1$(a) = "" +celm2$(a) = "" +celc$(a) = "" + +FOR b = 1 TO 7 +celw(a, b) = 0 +NEXT b + +END SUB + +SUB cns (a, s$) +s$ = STR$(a) +IF LEFT$(s$, 1) = " " THEN s$ = RIGHT$(s$, LEN(s$) - 1) +IF LEN(s$) = 1 THEN s$ = "0" + s$ +END SUB + +SUB daysm (y, m, d) +SELECT CASE m +CASE 1 +d = 31 + +CASE 2 +IF y / 4 = y \ 4 THEN d = 29 ELSE d = 28 + +CASE 3 +d = 31 + +CASE 4 +d = 30 + +CASE 5 +d = 31 + +CASE 6 +d = 30 + +CASE 7 +d = 31 + +CASE 8 +d = 31 + +CASE 9 +d = 30 + +CASE 10 +d = 31 + +CASE 11 +d = 30 + +CASE 12 +d = 31 +END SELECT + +END SUB + +SUB daysy (y, d) +d = 365 +IF y / 4 = y \ 4 THEN d = 366 +END SUB + +SUB ed (p) +br$ = "Press F1 for help, ESC to close window, CTRL + ENTER accept" +cns celh(p), s$ +tth$ = s$ +cns celm(p), s$ +ttm$ = s$ +cns cels(p), s$ +tts$ = s$ + +ms1$ = celm1$(p) +ms2$ = celm2$(p) +cm1$ = celc$(p) + +DIM wks(1 TO 7) +FOR a = 1 TO 7 +wks(a) = celw(p, a) +NEXT a +typ = celt(p) +IF typ = 0 THEN typ = 1 + +box 5, 5, 70, 11, "Edit entrie" +LOCATE 7, 7 +PRINT "Enter time (HH:MM:SS)" +LOCATE 8, 23 +PRINT ":" +LOCATE 8, 26 +PRINT ":" +inpu 21, 8, 2, 1, tth$ +inpu 24, 8, 2, 1, ttm$ +inpu 27, 8, 2, 1, tts$ + +LOCATE 10, 7 +PRINT "Enter message" +inpu 21, 10, 52, 1, ms1$ +inpu 21, 11, 52, 1, ms2$ + +LOCATE 13, 7 +PRINT "Enter command" +inpu 21, 13, 52, 1, cm1$ + +x = 1 +y = 1 +11 + +IF typ = 1 THEN COLOR 14, 4 ELSE COLOR 14, 0 +LOCATE 7, 32 +PRINT "O"; +COLOR 7 +PRINT "nce" + +IF typ = 2 THEN COLOR 14, 4 ELSE COLOR 14, 0 +LOCATE 7, 38 +PRINT "D"; +COLOR 7 +PRINT "aily" + +IF typ = 3 THEN COLOR 14, 4 ELSE COLOR 14, 0 +LOCATE 7, 45 +PRINT "S"; +COLOR 7 +PRINT "pecified weekdays" + +FOR a = 1 TO 7 +IF wks(a) = 1 THEN COLOR 10, 0 ELSE COLOR 8, 0 +LOCATE 8, 44 + (a * 2) +PRINT a +NEXT a + + +c = 0 + +IF y = 1 THEN +IF x = 1 THEN inpu 21, 8, 2, c, tth$ +IF x = 2 THEN inpu 24, 8, 2, c, ttm$ +IF x = 3 THEN inpu 27, 8, 2, c, tts$ +END IF + +IF y = 2 THEN inpu 21, 10, 52, c, ms1$ +IF y = 3 THEN inpu 21, 11, 52, c, ms2$ +IF y = 4 THEN inpu 21, 13, 52, c, cm1$ + +IF c = 100 THEN GOTO 13 +IF c = 102 THEN x = x + 1 +IF c = 103 THEN x = x - 1 +IF c = 104 THEN y = y - 1 +IF c = 105 THEN y = y + 1 +IF c = 106 THEN GOTO 12 + +tg = 0 +IF c = 107 THEN tg = 1 +IF c = 108 THEN tg = 2 +IF c = 109 THEN tg = 3 +IF c = 110 THEN tg = 4 +IF c = 111 THEN tg = 5 +IF c = 112 THEN tg = 6 +IF c = 113 THEN tg = 7 + +IF c = 114 THEN typ = 1 +IF c = 115 THEN typ = 2 +IF c = 116 THEN typ = 3 + +IF c = 117 THEN help 2 + +IF tg > 0 THEN +IF wks(tg) = 0 THEN wks(tg) = 1 ELSE wks(tg) = 0 +END IF + +IF c = 101 THEN +IF y = 1 THEN x = x + 1 ELSE y = y + 1 +END IF + + +IF y > 4 THEN y = 4 +IF y < 1 THEN y = 1 +IF x > 3 THEN x = 1: y = y + 1 +IF x < 1 THEN x = 1 + + +GOTO 11 +12 +celh(p) = VAL(tth$) +celm(p) = VAL(ttm$) +cels(p) = VAL(tts$) + +celm1$(p) = ms1$ +celm2$(p) = ms2$ +celc$(p) = cm1$ +celt(p) = typ + + +FOR a = 1 TO 7 +celw(p, a) = wks(a) +NEXT a +13 + +END SUB + +SUB entcl +a$ = "01" +box 20, 10, 40, 5, "Clear entrie" + +LOCATE 12, 23 +PRINT "Which cell do you need to clear?" + +15 +inpu 55, 12, 2, c, a$ +IF c = 100 THEN GOTO 16 +IF c = 101 THEN +clrc VAL(a$) +GOTO 16 +END IF +GOTO 15 + +16 +sh +END SUB + +SUB entcla + +box 15, 10, 50, 6, "Clearing" + +18 +LOCATE 12, 21 +PRINT "Are you sure you want to clear all cells?" +LOCATE 13, 36 +PRINT "[ Y / N ]" + + +getkey a$ +IF a$ = "y" OR a$ = "Y" THEN +FOR a = 1 TO 20 +clrc a +NEXT a +GOTO 17 +END IF +IF a$ = "n" OR a$ = "N" THEN GOTO 17 +box 15, 10, 50, 8, "Clearing" +LOCATE 15, 30 +COLOR 28 +PRINT "Use keys 'Y' or 'N'" +COLOR 7 +GOTO 18 + +17 +sh + + +END SUB + +SUB ented +br$ = "Enter cell number in range of 1 to 20" +a$ = "01" +box 20, 10, 40, 5, "Edit entrie" + +9 +LOCATE 12, 23 +PRINT "Which cell do you need to edit?" +'SUB inpu (x, y, xl, c, a$) + +6 +c = 0 +inpu 55, 12, 2, c, a$ +IF c = 100 THEN GOTO 7 +IF c = 101 THEN +b = VAL(a$) + +IF b = 0 THEN +IF a$ = " 0" OR a$ = "0 " OR a$ = "00" OR a$ = "-0" THEN GOTO 10 +box 20, 10, 40, 9, "Edit entrie" +COLOR 12, 0 +LOCATE 14, 23 +PRINT " Letters aren't allowed" +LOCATE 15, 23 +PRINT " enter number, or press ESC " +COLOR 7 +GOTO 9 +END IF + +IF b < 1 OR b > 20 THEN +10 +box 20, 10, 40, 9, "Edit entrie" +COLOR 12, 0 +LOCATE 14, 23 +PRINT " The entered number must be in" +LOCATE 15, 23 +PRINT " the range between 1 and 20" +LOCATE 16, 23 +PRINT "enter correct number, or press ESC" +COLOR 7 +GOTO 9 +END IF + +IF (b > 0) AND (b < 21) THEN sh: ed b: GOTO 7 + +END IF +GOTO 6 +7 + +sh +END SUB + +SUB entquit + +box 15, 10, 50, 6, "Quitting" + +5 +LOCATE 12, 21 +PRINT "Are you really sure you want to quit?" +LOCATE 13, 36 +PRINT "[ Y / N ]" + + +getkey a$ +IF a$ = "y" OR a$ = "Y" THEN quit +IF a$ = "n" OR a$ = "N" THEN GOTO 4 +box 15, 10, 50, 8, "Quitting" +LOCATE 15, 30 +COLOR 28 +PRINT "Use keys 'Y' or 'N'" +COLOR 7 +GOTO 5 + +4 +sh + +END SUB + +SUB getkey (a$) +3 +chkey a$ +IF a$ = "" THEN GOTO 3 + +END SUB + +SUB gtw (y, m, t, r) +d = 0 +FOR a = 1500 TO y - 1 +daysy a, b +d = d + b +NEXT a + +FOR a = 1 TO m - 1 +daysm y, a, b +d = d + b +NEXT a + +d = d + t + 2 +r = (d MOD 7) + 1 + +END SUB + +SUB help (a) +SELECT CASE a +CASE 1 +box 20, 3, 41, 17, "Help" + +LOCATE 5, 24 +PRINT "q - quit program" +LOCATE 6, 24 +PRINT "c - clear cell" +LOCATE 7, 24 +PRINT "d - clear all cells" +LOCATE 8, 24 +PRINT "e - edit cell" + +COLOR 14 +LOCATE 10, 24 +PRINT "This program allows you to" +LOCATE 11, 24 +PRINT "shedle messages and commands" +LOCATE 12, 24 +PRINT "to specified time: once, daily" +LOCATE 13, 24 +PRINT "and specified weekdays." + +LOCATE 15, 24 +PRINT " Copyright" +LOCATE 16, 24 +PRINT "Vladimir German &" +LOCATE 17, 24 +PRINT "Svjatoslav Agejenko" +br$ = "Press any key to close this window" + +CASE 2 +box 3, 16, 76, 5, "Help: allowed keys" +LOCATE 17, 5 +PRINT "CTRL + F1..F7 - toggle weekdays CTRL + O/D/S - toggle modes" +LOCATE 18, 5 +PRINT "Arrow keys - to move around CTRL + ENTER - Accept" +LOCATE 19, 5 +PRINT "ESC - close window" +br$ = "You can continue editing ..." + + +END SELECT + + + +END SUB + +SUB inpu (x, y, xl, c, a$) + +x1 = 1 + +2 +a$ = a$ + SPACE$(100) +a$ = LEFT$(a$, xl) + +COLOR 11, 1 +LOCATE y, x +PRINT a$ + +IF c = 1 THEN GOTO 8 +COLOR 30, 2 +LOCATE y, x + x1 - 1 +PRINT RIGHT$(LEFT$(a$, x1), 1) + +getkey b$ + +IF b$ = CHR$(27) THEN c = 100: GOTO 8 +IF b$ = CHR$(13) THEN c = 101: GOTO 8 + +IF (ASC(b$) > 31) AND (ASC(b$) < 122) AND (LEN(b$) = 1) THEN +a$ = LEFT$(a$, x1 - 1) + b$ + (RIGHT$(a$, xl - x1 + 1)) +x1 = x1 + 1 +END IF + +IF b$ = CHR$(8) THEN +IF x1 > 1 THEN +a$ = LEFT$(a$, x1 - 2) + RIGHT$(a$, xl - x1 + 1) +x1 = x1 - 1 +END IF +END IF + +IF b$ = CHR$(0) + "M" THEN x1 = x1 + 1 +IF b$ = CHR$(0) + "K" THEN x1 = x1 - 1 +IF b$ = CHR$(0) + CHR$(94) THEN c = 107: GOTO 8 +IF b$ = CHR$(0) + CHR$(95) THEN c = 108: GOTO 8 +IF b$ = CHR$(0) + CHR$(96) THEN c = 109: GOTO 8 +IF b$ = CHR$(0) + CHR$(97) THEN c = 110: GOTO 8 +IF b$ = CHR$(0) + CHR$(98) THEN c = 111: GOTO 8 +IF b$ = CHR$(0) + CHR$(99) THEN c = 112: GOTO 8 +IF b$ = CHR$(0) + CHR$(100) THEN c = 113: GOTO 8 +IF b$ = CHR$(0) + CHR$(59) THEN c = 117: GOTO 8 + +IF b$ = CHR$(0) + "S" THEN a$ = LEFT$(a$, x1 - 1) + RIGHT$(a$, xl - x1) +IF x1 < 1 THEN x1 = 1: c = 103: GOTO 8 +IF x1 > xl THEN x1 = xl: c = 102: GOTO 8 +IF b$ = CHR$(0) + "H" THEN c = 104: GOTO 8 +IF b$ = CHR$(0) + "P" THEN c = 105: GOTO 8 + +IF b$ = CHR$(10) THEN c = 106: GOTO 8 +IF b$ = CHR$(15) THEN c = 114: GOTO 8 +IF b$ = CHR$(4) THEN c = 115: GOTO 8 +IF b$ = CHR$(19) THEN c = 116: GOTO 8 + + +GOTO 2 +8 + +a$ = a$ + SPACE$(100) +a$ = LEFT$(a$, xl) +COLOR 11, 1 +LOCATE y, x +PRINT a$ + +IF a$ = SPACE$(LEN(a$)) THEN +a$ = "" +ELSE +14 +IF RIGHT$(a$, 1) = " " THEN a$ = LEFT$(a$, LEN(a$) - 1): GOTO 14 +END IF + +COLOR 7, 0 +END SUB + +SUB ps (x, y, c, s$) +COLOR c +FOR a = 1 TO LEN(s$) +x1 = x + a - 1 +IF (x1 > 21) AND (x1 < 81) THEN +IF virt(x1, y) = 0 THEN +LOCATE y, x1 +PRINT RIGHT$(LEFT$(s$, a), 1) +END IF +END IF +NEXT a +END SUB + +SUB quit +'DIM SHARED celh(1 TO 20) +'DIM SHARED celm(1 TO 20) +'DIM SHARED cels(1 TO 20) + +'DIM SHARED celm1$(1 TO 20) +'DIM SHARED celm2$(1 TO 20) +'DIM SHARED celc$(1 TO 20) + +'DIM SHARED celt(1 TO 20)' 0 - empty 1 - onece 2 - every day 3 - specified days +'DIM SHARED celw(1 TO 20, 1 TO 7) + + +OPEN "tim.dat" FOR OUTPUT AS #1 +FOR a = 1 TO 20 +PRINT #1, celh(a); celm(a); cels(a); celt(a) +FOR b = 1 TO 6 +PRINT #1, celw(a, b); +NEXT b +PRINT #1, celw(a, 7) + +PRINT #1, celm1$(a) +PRINT #1, celm2$(a) +PRINT #1, celc$(a) +NEXT a +CLOSE #1 +SYSTEM +END SUB + +SUB scroll +'ps RND * 60 + 1, RND * 20 + 1, RND * 13 + 1, "asi" + +'DIM SHARED celm1$(1 TO 20) +'DIM SHARED celm2$(1 TO 20) +'DIM SHARED celc$(1 TO 20) +'DIM SHARED celx(1 TO 20) +COLOR 7, 0 + +FOR a = 1 TO 20 +le = LEN(celm1$(a) + celm2$(a) + celc$(a)) + 2 +IF le > 59 THEN + x = 22 - celx(a) + IF slp(a) > 0 THEN + slp(a) = slp(a) - 1 + ELSE + celx(a) = celx(a) + 1 + IF x + le < 83 THEN slp(a) = 10 + IF x + le < 82 THEN slp(a) = 10: celx(a) = 0 + END IF +ELSE + x = 22 +END IF + +ps x, a + 1, 10, celc$(a) + " " +x = x + LEN(celc$(a)) + 1 +ps x, a + 1, 14, celm1$(a) + " " +x = x + LEN(celm1$(a)) + 1 +ps x, a + 1, 14, celm2$(a) + " " + +NEXT a + +END SUB + +SUB sh +vbox 1, 1, 80, 25, 0 +CLS +LOCATE 1, 1 +COLOR 0, 3 +PRINT "Num| Time | When? | Command & Message " +COLOR 7, 0 + +FOR a = 1 TO 20 +COLOR 14 +IF a < 10 THEN LOCATE a + 1, 2 ELSE LOCATE a + 1, 1 +PRINT a + +COLOR 3 +LOCATE a + 1, 4 +PRINT "|" + + +LOCATE a + 1, 5 +COLOR 14 +IF celt(a) = 0 THEN +PRINT "-- -- --" +ELSE +COLOR 14 +cns celh(a), s$ +PRINT s$ +LOCATE a + 1, 8 +cns celm(a), s$ +PRINT s$ +LOCATE a + 1, 11 +cns cels(a), s$ +PRINT s$ +END IF +COLOR 30 +LOCATE a + 1, 7 +PRINT ":" +LOCATE a + 1, 10 +PRINT ":" + +COLOR 3 +LOCATE a + 1, 13 +PRINT "|" +LOCATE a + 1, 14 + +IF celt(a) = 1 THEN +COLOR 14 +PRINT " Once" +END IF + +IF celt(a) = 2 THEN +COLOR 14 +PRINT " Daily" +END IF + +IF celt(a) = 3 THEN +COLOR 10 +FOR b = 1 TO 7 +'DIM SHARED celw(1 TO 20, 1 TO 7) +LOCATE a + 1, 13 + b +IF celw(a, b) = 1 THEN PRINT RIGHT$(STR$(b), 1) +NEXT b +END IF + +COLOR 3 +LOCATE a + 1, 21 +PRINT "|" + +NEXT a + +END SUB + +SUB start + +OPEN "tim.dat" FOR INPUT AS #1 +FOR a = 1 TO 20 +INPUT #1, celh(a), celm(a), cels(a), celt(a) +FOR b = 1 TO 7 +INPUT #1, celw(a, b) +NEXT b + +LINE INPUT #1, celm1$(a) +LINE INPUT #1, celm2$(a) +LINE INPUT #1, celc$(a) +NEXT a +CLOSE #1 + +alarmo = 0 +END SUB + +SUB vbox (x1, y1, x2, y2, c) +FOR y = y1 TO y1 + y2 - 1 +FOR x = x1 TO x1 + x2 - 1 +virt(x, y) = c +NEXT x +NEXT y +END SUB + diff --git a/misc/wsystem.bas b/misc/wsystem.bas new file mode 100755 index 0000000..be1c406 --- /dev/null +++ b/misc/wsystem.bas @@ -0,0 +1,206 @@ +' window engine, 2003 +' Svjatoslav Agejenko +' svjatoslav@svjatoslav.eu + +DECLARE SUB demo () +DECLARE FUNCTION getline$ (w%, l%) +DECLARE SUB loadfile (file$, d%) +DECLARE SUB sendline (w%, l%, newstring$) +DECLARE FUNCTION getflin% () +DECLARE SUB refresh () +DECLARE FUNCTION addpage% (x%, y%, xs%, ys%, title$) +DECLARE SUB box (x%, y%, xl%, yl%, e$) +DEFINT A-Z +DECLARE SUB shpage (a) +DECLARE SUB start () + +DIM SHARED stamo +stamo = 5000 +DIM SHARED st$(1 TO stamo) +DIM SHARED stpn + +DIM SHARED pag(1 TO 10, 1 TO 1000) +DIM SHARED pagx(1 TO 10), pagy(1 TO 10), pagxs(1 TO 10), pagys(1 TO 10) +DIM SHARED pagon(1 TO 10) +DIM SHARED pagtitle$(1 TO 10) + +DIM SHARED pagshx(1 TO 10) ' x & y shift +DIM SHARED pagshy(1 TO 10) + +DIM SHARED pageactive ' active page + +start + +demo + +FUNCTION addpage (x, y, xs, ys, title$) +FOR a = 1 TO 10 + IF pagon(a) = 0 THEN b = a: GOTO 1 +NEXT a +1 + +pagon(b) = 1 +pagx(b) = x +pagy(b) = y +pagxs(b) = xs +pagys(b) = ys +pagtitle$(b) = title$ + +addpage = b +END FUNCTION + +SUB clrwnd (w) +FOR a = 1 TO 1000 + IF pag(w, a) > 0 THEN st$(pag(w, a)) = "": pag(w, a) = 0 +NEXT a +END SUB + +SUB demo +w1 = addpage(1, 1, 30, 10, "window 1.") +w2 = addpage(1, 12, 80, 30, "second window") +w3 = addpage(31, 2, 30, 10, "last window") + +loadfile "wsystem.bas", w2 +loadfile "wsystem.bas", w1 +loadfile "wsystem.bas", w3 + +4 +pageactive = INT(RND * 3) + 1 +refresh + +FOR a = 1 TO 100 + pagshx(pageactive) = SIN(a / 10) * 10 + 10 + pagshy(pageactive) = a + shpage pageactive + SOUND 0, 1 + IF INKEY$ <> "" THEN SYSTEM +NEXT a + +GOTO 4 +END SUB + +FUNCTION getflin ' Get free line +2 +IF stpn > 1000 THEN stpn = 1 +IF st$(stpn) = "" THEN + getflin = stpn + stpn = stpn + 1 +ELSE + stpn = stpn + 1 + GOTO 2 +END IF +END FUNCTION + +FUNCTION getline$ (w, l) +IF pag(w, l) = 0 THEN + getline$ = "" +ELSE + getline$ = st$(pag(w, l)) +END IF +END FUNCTION + +SUB loadfile (file$, d) + +OPEN file$ FOR INPUT AS #1 +FOR a = 1 TO 1000 + IF EOF(1) <> 0 THEN GOTO 3 + LINE INPUT #1, a$ + sendline d, a, a$ +NEXT a +3 +CLOSE #1 + +FOR b = a TO 1000 + sendline d, b, "" +NEXT b +END SUB + +SUB refresh +CLS +FOR a = 1 TO 10 +IF pagon(a) > 0 THEN shpage (a) +NEXT a +END SUB + +SUB sendline (w, l, newstring$) ' window, lineNum, lineItself + ' send string into window memory +a$ = newstring$ + +IF a$ = SPACE$(LEN(a$)) THEN a$ = "" + +IF LEN(a$) > 0 THEN +5 + IF RIGHT$(a$, 1) = " " THEN + a$ = LEFT$(a$, LEN(a$) - 1) + GOTO 5 + END IF +END IF + +IF a$ = "" THEN + IF pag(w, l) > 0 THEN st$(pag(w, l)) = "": pag(w, l) = 0 +ELSE + IF pag(w, l) = 0 THEN pag(w, l) = getflin + st$(pag(w, l)) = a$ +END IF +END SUB + +SUB shpage (page) +IF page = pageactive THEN bg = 1 ELSE bg = 0 + +x = pagx(page) +y = pagy(page) +xl = pagxs(page) +yl = pagys(page) +e$ = pagtitle$(page) + +COLOR 11, bg + +a$ = "" +d$ = "" +FOR a = 1 TO xl - 2 +a$ = a$ + CHR$(205) +NEXT a +b$ = CHR$(201) + a$ + CHR$(187) +c$ = CHR$(200) + a$ + CHR$(188) + +LOCATE y, x +PRINT b$ +LOCATE y + yl - 1, x +PRINT c$ + +FOR a = 1 TO yl - 2 + LOCATE y + a, x + d$ = getline(page, a + pagshy(page)) + d$ = d$ + SPACE$(300) + d$ = RIGHT$(d$, LEN(d$) - pagshx(page)) + d$ = LEFT$(d$, xl - 2) + PRINT CHR$(186) + d$ + CHR$(186) +NEXT a + +xt = INT(x + (xl / 2) - (LEN(e$) / 2) - 2) +LOCATE y, xt +PRINT "[ " +xt = xt + 2 + +COLOR 10 +LOCATE y, xt +PRINT e$ + +xt = xt + LEN(e$) +COLOR 11 +LOCATE y, xt +PRINT " ]" +COLOR 7, 0 +END SUB + +SUB start +WIDTH 80, 50 +VIEW PRINT 1 TO 50 + +FOR a = 1 TO stamo +st$(a) = "" +NEXT a + +stpn = 1 +END SUB + diff --git a/tools/update web site b/tools/update web site index e6d3056..48bb5d6 100755 --- a/tools/update web site +++ b/tools/update web site @@ -1,6 +1,5 @@ #!/bin/bash - -cd "${0%/*}" +cd "${0%/*}"; if [ "$1" != "T" ]; then gnome-terminal -e "'$0' T"; exit; fi; cd .. @@ -10,3 +9,7 @@ rsync -avz --delete -e 'ssh -p 10006' ./ \ --include="*.png" \ --exclude="*" \ n0@www3.svjatoslav.eu:/mnt/big/projects/qbasicapps/ + +echo "" +echo "Press ENTER to close this window." +read diff --git a/unsorted/font.bas b/unsorted/font.bas deleted file mode 100644 index 0c005e5..0000000 --- a/unsorted/font.bas +++ /dev/null @@ -1,61 +0,0 @@ -' Svjatoslav Agejenko -' year: 2001 -' alien text - -DEFINT A-Z -DECLARE SUB prch (x, y, n, s) -DIM SHARED co(1 TO 4) -co(1) = 7 -co(2) = 7 -co(3) = 0 -co(4) = 0 - - -SCREEN 12 -RANDOMIZE TIMER - -PAINT (1, 1), 0 - -siz = 4 - -tmp = 0 -FOR y = 1 TO 480 - siz - 2 STEP siz + (siz \ 2) -tmp1 = 0 -FOR x = 1 TO 640 - siz - 2 STEP siz + (siz \ 2) -prch x, y, RND * 16, siz -tmp1 = tmp1 + 1 -IF tmp1 > 20 THEN tmp1 = 0: x = x + (siz) -NEXT x -tmp = tmp + 1 -IF tmp > 5 THEN tmp = 0: y = y + (siz) -NEXT y - -SUB prch (x, y, n, s) -sp = s \ 2 - -c = co(RND * 3 + 1) -LINE (x, y)-(x + s, y), c -LINE (x, y)-(x + sp, y + sp), c -LINE (x + s, y)-(x + sp, y + sp), c -PAINT (x + 2, y + 1), c - -c = co(RND * 3 + 1) -LINE (x, y)-(x, y + s), c -LINE (x, y)-(x + sp, y + sp), c -LINE (x, y + s)-(x + sp, y + sp), c -PAINT (x + 1, y + 2), c - -c = co(RND * 3 + 1) -LINE (x + s, y)-(x + s, y + s), c -LINE (x + s, y)-(x + sp, y + sp), c -LINE (x + s, y + s)-(x + sp, y + sp), c -PAINT (x + s - 1, y + 2), c - -c = co(RND * 3 + 1) -LINE (x, y + s)-(x + s, y + s), c -LINE (x, y + s)-(x + sp, y + sp), c -LINE (x + s, y + s)-(x + sp, y + sp), c -PAINT (x + 2, y + s - 1), c - -END SUB - diff --git a/unsorted/key.bas b/unsorted/key.bas deleted file mode 100644 index e55f01b..0000000 --- a/unsorted/key.bas +++ /dev/null @@ -1,10 +0,0 @@ -1 -a$ = INKEY$ -IF a$ = "" THEN GOTO 1 -PRINT a$ -PRINT ASC(LEFT$(a$, 1)) -PRINT ASC(RIGHT$(a$, 1)) - - -GOTO 1 - diff --git a/unsorted/lightpe2.bas b/unsorted/lightpe2.bas deleted file mode 100644 index db871bf..0000000 --- a/unsorted/lightpe2.bas +++ /dev/null @@ -1,97 +0,0 @@ -' Svjatoslav Agejenko 2003.03 -' light pen test - -DECLARE SUB miniscan (x1%, y1%, xn%, yn%) -DECLARE SUB getxy (x%, y%) -DECLARE SUB scan (x%, y%) -DECLARE SUB start () -DEFINT A-Z -DIM SHARED prt, prt2 -DIM SHARED wai, wai2 -DIM SHARED mins, minl -wai = 4000 -wai2 = 5000 -mins = 20 -minl = 8 - -DIM SHARED px(1 TO 500) -DIM SHARED py(1 TO 500) -DIM SHARED mitup - -mitup = 1 -start - -x = 160 -y = 100 -px(1) = x -py(1) = y - -1 -getxy x, y -REM CIRCLE (x, y), 30, 14 -IF (px(mitup) <> x) OR py(mitup) <> y THEN mitup = mitup + 1 -px(mitup) = x -py(mitup) = y - -FOR a = 1 TO mitup - 1 -LINE (px(a), py(a))-(px(a + 1), py(a + 1)), 15 -NEXT a -GOTO 1 - -SUB getxy (x, y) - -miniscan x + (mins / 4), y + (mins / 4), xn, yn -IF xn <> -1 THEN x = xn -IF yn <> -1 THEN y = yn - -LOCATE 1, 1 -PRINT SPACE$(40) -LOCATE 1, 1 -PRINT x, y -END SUB - -SUB miniscan (x1, y1, xn, yn) -cd = INP(prt2) - -xn = -1 -yn = -1 - -LINE (x1 - mins, y1 - mins)-(x1 + mins, y1 + mins), 0, BF - -FOR x = x1 - mins TO x1 + mins -LINE (x, y1 - mins)-(x, y1 + mins), 15 -LINE (x - minl, y1 - mins)-(x - minl, y1 + mins), 0 -FOR a = 0 TO wai2 -NEXT a -c = INP(prt2) -IF c <> cd THEN xn = x: GOTO 4 -NEXT x -4 -LINE (x1 - mins, y1 - mins)-(x1 + mins, y1 + mins), 0, BF - -FOR y = y1 - mins TO y1 + mins -LINE (x1 - mins, y)-(x1 + mins, y), 15 -LINE (x1 - mins, y - minl)-(x1 + mins, y - minl), 0 -FOR a = 0 TO wai2 -NEXT a -c = INP(prt2) -IF c <> cd THEN yn = y: GOTO 5 -NEXT y -5 -LINE (x1 - mins, y1 - mins)-(x1 + mins, y1 + mins), 0, BF -IF xn < -1 THEN xn = -1 -IF yn < -1 THEN yn = -1 - -END SUB - -SUB start -CLS -SCREEN 13 - -prt = &H378 -prt2 = &H379 - -OUT prt, 255 - -END SUB - diff --git a/unsorted/lightpen.bas b/unsorted/lightpen.bas deleted file mode 100644 index 8575f9f..0000000 --- a/unsorted/lightpen.bas +++ /dev/null @@ -1,23 +0,0 @@ -' Svjatoslav Agejenko 2003.03 -' light pen test - - -DEFINT A-Z -CLS -SCREEN 13 - -prt = &H378 -prt2 = &H379 - -OUT prt, 255 - - -1 -a = INP(prt2) -IF a = 135 THEN - LINE (180, 0)-(200, 199), 1, BF -ELSE - LINE (180, 0)-(200, 199), 15, BF -END IF -GOTO 1 - diff --git a/unsorted/matem.bas b/unsorted/matem.bas deleted file mode 100644 index e41efab..0000000 --- a/unsorted/matem.bas +++ /dev/null @@ -1,159 +0,0 @@ -' Autor: Svjatoslav Agejenko -' aasta ~2000 - -' Matemaatika korrutus tabeli pohjal -' teadmiste testimis programm -' -' Vajuta F5 alustamiseks - -DECLARE SUB vastus () -DEFINT A-Y -DECLARE SUB tere () -DIM SHARED nimi$ -DIM SHARED kus - -tere -vastus - -DEFINT Z -SUB tere - -CLS -SCREEN 13 -LOCATE 2, 1 -PRINT " Matemaatika “petamis programm" -FOR y = 3 TO 20 -FOR x = 0 TO 320 - -IF POINT(x, y) > 0 THEN -c = y + 56 -ELSE - -c = 31 - y / 2 -END IF -PSET (x, y), c -NEXT x -NEXT y - -LOCATE 5, 1 -COLOR 7 -INPUT "Sisesta oma nimi ", nimi$ -LOCATE 5, 1 -COLOR 8 -PRINT "Sisesta oma nimi " + nimi$ - -LOCATE 6, 1 -COLOR 7 -PRINT "Tere " + nimi$ + "." - -8 -LOCATE 7, 1 -COLOR 8 -PRINT SPACE$(35) -COLOR 7 -LOCATE 7, 1 -INPUT "Mitu lesannet sa soovid ", kus -LOCATE 7, 1 -COLOR 8 -PRINT SPACE$(35) -LOCATE 7, 1 -COLOR 8 -PRINT "Mitu lesannet sa soovid " + STR$(kus) - -IF kus < 5 THEN -PRINT "Nii kergelt ei p„„se !" -GOTO 8 -END IF - -IF kus > 30 THEN -PRINT "Liiga palju !" -GOTO 8 -END IF - -PRINT "Nd ma ksin sinult m“ned matemaatika" -PRINT "alased ksimused.Vajuta suvaline klahv," -PRINT "kui oled valmis..." - -FOR a = 200 TO 230 - OUT &H3C8, a - OUT &H3C9, a - 200 - OUT &H3C9, 0 - OUT &H3C9, 0 -NEXT - -DIM varv(1 TO 32) - -c = 4 -d = 1 - -2 -FOR a = 0 TO 31 -LINE (a * 10, 170)-(a * 10 + 10, 190), 200 + varv(a + 1), BF -varv(a + 1) = varv(a + 1) - 1 -IF varv(a + 1) < 0 THEN varv(a + 1) = 0 -NEXT a - -c = c + d -IF c > 30 OR c < 3 THEN d = -d -varv(c) = 30 -SOUND 0, 1 -IF INKEY$ <> "" THEN GOTO 3 -GOTO 2 -3 -CLS -END SUB - -DEFSNG Z -SUB vastus -RANDOMIZE TIMER - -mitmes = 0 -vale = 0 -oige = 0 -PRINT "Palju on:" -4 -mitmes = mitmes + 1 -IF mitmes > kus THEN GOTO 6 -ar1 = RND * 9 -ar2 = RND * 9 -a$ = STR$(ar1) + " X" + STR$(ar2) -PRINT " " -PRINT a$ -5 -INPUT vas$ -IF LEFT$(vas$, 6) = "ei tea" THEN PRINT "Proovi ikka !": GOTO 5 -IF LEFT$(vas$, 6) = "jama" THEN PRINT "Usu mind,ei ole !": GOTO 5 - -IF vas$ = "0" THEN vas = 0: GOTO 10 -vas = VAL(vas$) -IF vas = 0 THEN vas = -1 -10 - -IF ar1 * ar2 = vas THEN -oige = oige + 1 -PRINT "“ige !!" -ELSE -PRINT "vale" -PRINT "“ige on ", ar1 * ar2 -vale = vale + 1 -END IF - -GOTO 4 - -6 -PRINT "-------------------------" -COLOR 2 -PRINT "valesid on :", vale - -z = oige / kus * 100 - -hinne = 1 - -IF z >= 25 THEN hinne = 2 -IF z >= 50 THEN hinne = 3 -IF z >= 70 THEN hinne = 4 -IF z >= 90 THEN hinne = 5 -COLOR 14 -PRINT "Sinu hinne on "; hinne -END SUB - diff --git a/unsorted/modes.bas b/unsorted/modes.bas deleted file mode 100644 index aef4458..0000000 --- a/unsorted/modes.bas +++ /dev/null @@ -1,35 +0,0 @@ -' Determine avaiable video modes -' made by Svjatoslav Agejenko -' in 2001 -' homepage: svjatoslav.eu -' email: svjatoslav@svjatoslav.eu - -' program to determine avaiable video modes -' it assumes that 1 is always avaiable - -DIM SHARED mo(1 TO 100) -ON ERROR GOTO 1 -b = 1 -a = 0 -2 -SCREEN a -'PRINT "mode", a -'a$ = INPUT$(1) -mo(b) = a -b = b + 1 -a = a + 1 -GOTO 2 - - -1 -a = a + 1 -IF a > 1000 THEN - SCREEN 1 - PRINT "Avaiable video modes on this computer:" - FOR a = 1 TO b - 1 - PRINT mo(a) - NEXT a - END -END IF -RESUME - diff --git a/unsorted/pal.bas b/unsorted/pal.bas deleted file mode 100644 index f5e6faa..0000000 --- a/unsorted/pal.bas +++ /dev/null @@ -1,116 +0,0 @@ -' An attempt to generate universally reusable color parette. -' By Svjatoslav Agejenko in 2001. -' homepage: svjatoslav.eu -' email: svjatoslav@svjatoslav.eu - - - -DECLARE SUB getcol (a%, b%, c%, d%) -DEFINT A-Y -SCREEN 13 -CLS - -c = 0 -FOR r = 0 TO 5 - FOR g = 0 TO 5 - FOR b = 0 TO 5 - OUT &H3C8, c - c = c + 1 - OUT &H3C9, r * 12 - OUT &H3C9, g * 12 - OUT &H3C9, b * 12 - NEXT b - NEXT g -NEXT r - -'GOTO 1 - -FOR c = 0 TO 5 - FOR b = 0 TO 5 - FOR a = 0 TO 5 - LINE (a * 5 + c * 30, b * 5)-(a * 5 + 4 + c * 30, b * 5 + 4), c * 36 + b * 6 + a, BF - NEXT a - NEXT b -NEXT c - - -a$ = INPUT$(1) - -ex = -100 -ey = 0 -FOR z = 0 TO 75 STEP 15 - x1 = 50 - (z / 2) - y1 = 50 - (z * .866025) - x2 = 50 + z - y2 = 50 - x3 = x1 - y3 = 100 - y1 - - ex = ex + 100 - IF z = 45 THEN ex = ex - 300: ey = ey + 101 - - FOR x = 0 TO 100 - FOR y = 0 TO 100 - r = 7 - (SQR((x1 - x) ^ 2 + (y1 - y) ^ 2) / 15 + 1) - g = 7 - (SQR((x2 - x) ^ 2 + (y2 - y) ^ 2) / 15 + 1) - b = 7 - (SQR((x3 - x) ^ 2 + (y3 - y) ^ 2) / 15 + 1) - IF r < 0 THEN r = 0 - IF g < 0 THEN g = 0 - IF b < 0 THEN b = 0 - IF r > 5 THEN r = 5 - IF g > 5 THEN g = 5 - IF b > 5 THEN b = 5 - c = r * 36 + g * 6 + b - PSET (x + ex, y + ey), c - NEXT y - NEXT x -NEXT z - -a$ = INPUT$(1) -1 -ex = -100 -ey = 0 -FOR z = 0 TO 75 STEP 15 - x1 = 50 - (z / 2.5) - y1 = 50 - (z * .566025) - x2 = 50 + z / 1.5 - y2 = 50 - x3 = x1 - y3 = 100 - y1 - - ex = ex + 100 - IF z = 45 THEN ex = ex - 300: ey = ey + 101 - - r1 = 0 - g1 = 0 - b1 = 0 - FOR x = 0 TO 100 - FOR y = 0 TO 100 - r = 30 - (SQR((x1 - x) ^ 2 + (y1 - y) ^ 2) / 2 + 1) - g = 30 - (SQR((x2 - x) ^ 2 + (y2 - y) ^ 2) / 2 + 1) - b = 30 - (SQR((x3 - x) ^ 2 + (y3 - y) ^ 2) / 2 + 1) - r1 = r1 + r - g1 = g1 + g - b1 = b1 + b - r = r1 / 5 - g = g1 / 5 - b = b1 / 5 - r1 = r1 - (r * 5) - g1 = g1 - (g * 5) - b1 = b1 - (b * 5) - - IF r < 0 THEN r = 0 - IF g < 0 THEN g = 0 - IF b < 0 THEN b = 0 - IF r > 5 THEN r = 5 - IF g > 5 THEN g = 5 - IF b > 5 THEN b = 5 - c = r * 36 + g * 6 + b - PSET (x + ex, y + ey), c - NEXT y - NEXT x -NEXT z - -a$ = INPUT$(1) -SYSTEM - diff --git a/unsorted/passw.bas b/unsorted/passw.bas deleted file mode 100644 index 651e73a..0000000 --- a/unsorted/passw.bas +++ /dev/null @@ -1,175 +0,0 @@ -' Svjatoslav Agejenko svjatoslav@svjatoslav.eu year:2002 -' See or modify "passwd.dat" for password. -' Is useful when compiled into EXE, and put into AUTOEXEC.BAT - -CHDIR ".\qbasicapps\unsorted" - - -DECLARE SUB check (a$) -DECLARE SUB start () -DECLARE SUB mkv (s%, C%) -DECLARE SUB box (x1%, y1%, x2%, y2%) - -DIM SHARED cha -DIM SHARED pwd$ - -start - -x = 25 -x2 = 10 -x3 = 0 -B$ = "" -1 -x = x + xs -IF x > 0 THEN xs = xs - .5 -IF x < 0 THEN xs = xs + .5 -xs = xs - (xs / 8) -IF x2 > 100 THEN x2 = 10 -LINE (x2, 10)-(x2, 60), 0 -PSET (x2, x + 35), 10 -IF x2 < 99 THEN LINE (x2 + 1, 10)-(x2 + 1, 60), 3 -x2 = x2 + 1 -x3 = x3 + 1 -IF x3 > 40 THEN x3 = 0: xs = xs - 5: SOUND 1000, 1 - -SOUND 0, .5 - -a$ = INKEY$ -IF a$ = CHR$(13) THEN -check B$ -B$ = "" -GOTO 2 -END IF -IF a$ <> "" THEN -IF a$ = CHR$(8) THEN -IF LEN(B$) > 0 THEN B$ = LEFT$(B$, LEN(B$) - 1): GOTO 2 -GOTO 2 -END IF -B$ = B$ + a$ -IF LEN(B$) > 10 THEN B$ = LEFT$(B$, 10) -2 -FOR a = 1 TO 10 -IF a <= LEN(B$) THEN C = 5 ELSE C = 1 -CIRCLE (a * 15 + 20, 150), 6, C -PAINT (a * 15 + 20, 150), C -NEXT a -END IF -GOTO 1 - -DEFINT A-Z -SUB box (x1, y1, x2, y2) -LINE (x1 + 1, y1 + 1)-(x2 - 1, y2 - 1), 0, BF -LINE (x1, y1)-(x2, y2), 10, B -LINE (x1, y1)-(x2, y1 - 9), 14, BF -LINE (x1, y1)-(x2, y1 - 9), 10, B - -LINE (x2 - 2, y1 - 2)-(x2 - 7, y1 - 7), 7, BF -LINE (x2 - 9, y1 - 2)-(x2 - 14, y1 - 7), 7, BF - -LINE (x2 - 2, y1 - 2)-(x2 - 7, y1 - 7), 0 -LINE (x2 - 2, y1 - 7)-(x2 - 7, y1 - 2), 0 - -LINE (x2 - 10, y1 - 3)-(x2 - 13, y1 - 3), 0 -END SUB - -DEFSNG A-Z -SUB check (a$) -cha = cha - 1 - -IF a$ = pwd$ THEN CLS : SCREEN 2: SYSTEM - -DIM buf(1 TO 3000) - -GET (79, 80)-(241, 141), buf(1) - -box 80, 90, 240, 140 -LOCATE 14, 14 -COLOR 12 -PRINT "Wrong passworD" -COLOR 5 - -LOCATE 16, 13 -PRINT STR$(cha) + " chanses left" - -FOR a = 1 TO 30 -SOUND 0, 1 -NEXT a - -IF cha = 0 THEN -DIM buf2(1000) -GET (79, 138)-(241, 140), buf2 -FOR a = 1 TO 40 -PUT (79, 138 + a), buf2, PSET -SOUND 0, .5 -NEXT a - -LOCATE 19, 14 -COLOR 12 -PRINT "SYSTEM HALTED" -LOCATE 21, 14 -PRINT "SUCESSFULLY!!" -3 -GOTO 3 -END IF - - -PUT (79, 80), buf(1), PSET - - -END SUB - -DEFINT A-Z -SUB mkv (s, C) -FOR x = 160 TO 319 STEP s -LINE (x, 0)-(x, 199), C -LINE (320 - x, 0)-(320 - x, 199), C -NEXT x - -FOR y = 100 TO 199 STEP s -LINE (0, y)-(319, y), C -LINE (0, 200 - y)-(319, 200 - y), C -NEXT y - -END SUB - -DEFSNG A-Z -SUB start - -OPEN "passw.dat" FOR INPUT AS #1 -LINE INPUT #1, pwd$ -CLOSE #1 - -SCREEN 13 - -cha = 3 - -s = 2 -FOR C = 16 TO 31 -s = s * 1.4 -mkv INT(s), INT(C) -NEXT C -mkv INT(s), 0 - - -box 70, 20, 270, 90 - -COLOR 5 -LOCATE 8, 10 -PRINT " stack dump:" -LOCATE 9, 10 -PRINT "010010010010010010010100" - -LOCATE 10, 10 -PRINT "Running rocket ground" -LOCATE 11, 10 -PRINT "control system..." - -box 9, 9, 101, 61 - -box 20, 130, 300, 190 - -LOCATE 18, 5 -PRINT "ENTER PASSWORD:" - -END SUB - diff --git a/unsorted/passw.dat b/unsorted/passw.dat deleted file mode 100644 index 6ea1900..0000000 --- a/unsorted/passw.dat +++ /dev/null @@ -1 +0,0 @@ -jerry \ No newline at end of file diff --git a/unsorted/tim.dat b/unsorted/tim.dat deleted file mode 100644 index 3403f49..0000000 --- a/unsorted/tim.dat +++ /dev/null @@ -1,100 +0,0 @@ - 8 30 0 3 - 1 1 1 1 1 0 0 - - -sisse.com - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 8 40 0 3 - 1 0 0 0 0 0 0 - - - - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 0 0 0 1 - 0 0 0 0 0 0 0 - - - - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 9 21 0 2 - 0 0 0 0 0 0 0 - - - - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 0 0 0 0 - 0 0 0 0 0 0 0 - - - - 9 1 0 3 - 1 1 0 1 1 0 1 - - - diff --git a/unsorted/timer.bas b/unsorted/timer.bas deleted file mode 100644 index 74d6238..0000000 --- a/unsorted/timer.bas +++ /dev/null @@ -1,855 +0,0 @@ -CHDIR ".\qbasicapps\unsorted" - - -DECLARE SUB bar () -DECLARE SUB help (a!) -DECLARE SUB alarm (a!) -DECLARE SUB gtw (y!, m!, t!, r!) -DECLARE SUB daysm (y!, m!, d!) -DECLARE SUB daysy (y!, d!) -DECLARE SUB chdat () -DECLARE SUB entcla () -DECLARE SUB entcl () -DECLARE SUB clrc (a!) -DECLARE SUB scroll () -DECLARE SUB ps (x!, y!, c!, s$) -DECLARE SUB vbox (x1!, y1!, x2!, y2!, c!) -DECLARE SUB quit () -DECLARE SUB start () -DECLARE SUB cns (a!, s$) -DECLARE SUB getkey (a$) -DECLARE SUB chkey (a$) -DECLARE SUB entquit () -DECLARE SUB ented () -DECLARE SUB ed (p!) -DECLARE SUB inpu (x!, y!, xl!, c!, a$) -DECLARE SUB box (x!, y!, xl!, yl!, a$) -DECLARE SUB sh () - -DIM SHARED celh(1 TO 20) -DIM SHARED celm(1 TO 20) -DIM SHARED cels(1 TO 20) - -DIM SHARED celm1$(1 TO 20) -DIM SHARED celm2$(1 TO 20) -DIM SHARED celc$(1 TO 20) - -DIM SHARED celt(1 TO 20)' 0 - empty 1 - onece 2 - every day 3 - specified days -DIM SHARED celw(1 TO 20, 1 TO 7) -DIM SHARED celx(1 TO 20) - -DIM SHARED virt(1 TO 80, 1 TO 25) -DIM SHARED tmr -DIM SHARED slp(1 TO 20) -DIM SHARED alq(1 TO 20) -DIM SHARED alarmo - -DIM SHARED alqm -DIM SHARED br$ - -start - -sh -1 -br$ = "Press F1 for help" -getkey a$ - -IF a$ = "q" THEN entquit -IF a$ = "e" THEN ented -IF a$ = "c" THEN entcl -IF a$ = "d" THEN entcla -IF a$ = CHR$(0) + CHR$(59) THEN help 1: getkey a$: sh -GOTO 1 - -SUB alarm (a) -alq(a) = 1 -alarmo = 1 -'DIM SHARED celm1$(1 TO 20) -'DIM SHARED celm2$(1 TO 20) -'DIM SHARED celc$(1 TO 20) - -IF celc$(a) <> "" THEN -SHELL celc$(a) -END IF - -IF celm1$(a) <> "" OR celm2$(a) <> "" THEN -OPEN "note.txt" FOR OUTPUT AS #1 -PRINT #1, celm1$(a) -PRINT #1, celm2$(a) -CLOSE #1 -SHELL "notepad note.txt" -END IF - - -FOR b = 100 TO 1000 STEP 20 -SOUND b, .1 -NEXT b -END SUB - -SUB bar -COLOR 0, 3 -LOCATE 22, 72 -PRINT CHR$(179) + TIME$ - -br$ = br$ + SPACE$(80) -br$ = LEFT$(br$, 70) -LOCATE 22, 1 -PRINT " " + br$ - -COLOR 7, 0 -END SUB - -SUB box (x, y, xl, yl, e$) -vbox x, y, xl, yl, 1 -' 201 205 187 -COLOR 11 - -a$ = "" -d$ = "" -FOR a = 1 TO xl - 2 -a$ = a$ + CHR$(205) -d$ = d$ + " " -NEXT a -b$ = CHR$(201) + a$ + CHR$(187) -c$ = CHR$(200) + a$ + CHR$(188) -d$ = CHR$(186) + d$ + CHR$(186) - -LOCATE y, x -PRINT b$ -LOCATE y + yl - 1, x -PRINT c$ - -FOR a = 1 TO yl - 2 -LOCATE y + a, x -PRINT d$ -NEXT a - -xt = INT(x + (xl / 2) - (LEN(e$) / 2) - 2) -LOCATE y, xt -PRINT "[ " -xt = xt + 2 - -COLOR 10 -LOCATE y, xt -PRINT e$ - -xt = xt + LEN(e$) - -COLOR 11 -LOCATE y, xt -PRINT " ]" - -COLOR 7, 0 -END SUB - -SUB chdat -a$ = DATE$ -qwy = VAL(RIGHT$(a$, 4)) -qwm = VAL(LEFT$(a$, 2)) -qwd = VAL(RIGHT$(LEFT$(a$, 5), 2)) -gtw qwy, qwm, qwd, w - -a$ = TIME$ -qes = VAL(RIGHT$(a$, 4)) -qeh = VAL(LEFT$(a$, 2)) -qem = VAL(RIGHT$(LEFT$(a$, 5), 2)) - -IF alqm <> qem THEN -alqm = qem - -FOR b = 1 TO 20 -alq(b) = 0 -NEXT b -END IF - - -'DIM SHARED celh(1 TO 20) -'DIM SHARED celm(1 TO 20) -'DIM SHARED cels(1 TO 20) - - -FOR a = 1 TO 20 -IF celt(a) = 0 THEN GOTO 19 -IF celt(a) = 3 THEN IF celw(a, w) = 0 THEN GOTO 19 -IF alq(a) = 1 THEN GOTO 19 -IF celh(a) <> qeh THEN GOTO 19 -IF celm(a) <> qem THEN GOTO 19 -alarm a -IF celt(a) = 1 THEN clrc a -19 -NEXT a -END SUB - -SUB chkey (a$) -a$ = INKEY$ - -IF a$ = "" THEN -IF tmr > 4 THEN scroll: tmr = 1 -SOUND 0, 1 -IF alarmo = 1 THEN SOUND 2000, 1 -tmr = tmr + 1 -chdat -bar -ELSE -IF alarmo = 1 THEN alarmo = 0: a$ = "" -END IF -END SUB - -SUB clrc (a) - -celh(a) = 0 -celm(a) = 0 -cels(a) = 0 -celt(a) = 0 - -celm1$(a) = "" -celm2$(a) = "" -celc$(a) = "" - -FOR b = 1 TO 7 -celw(a, b) = 0 -NEXT b - -END SUB - -SUB cns (a, s$) -s$ = STR$(a) -IF LEFT$(s$, 1) = " " THEN s$ = RIGHT$(s$, LEN(s$) - 1) -IF LEN(s$) = 1 THEN s$ = "0" + s$ -END SUB - -SUB daysm (y, m, d) -SELECT CASE m -CASE 1 -d = 31 - -CASE 2 -IF y / 4 = y \ 4 THEN d = 29 ELSE d = 28 - -CASE 3 -d = 31 - -CASE 4 -d = 30 - -CASE 5 -d = 31 - -CASE 6 -d = 30 - -CASE 7 -d = 31 - -CASE 8 -d = 31 - -CASE 9 -d = 30 - -CASE 10 -d = 31 - -CASE 11 -d = 30 - -CASE 12 -d = 31 -END SELECT - -END SUB - -SUB daysy (y, d) -d = 365 -IF y / 4 = y \ 4 THEN d = 366 -END SUB - -SUB ed (p) -br$ = "Press F1 for help, ESC to close window, CTRL + ENTER accept" -cns celh(p), s$ -tth$ = s$ -cns celm(p), s$ -ttm$ = s$ -cns cels(p), s$ -tts$ = s$ - -ms1$ = celm1$(p) -ms2$ = celm2$(p) -cm1$ = celc$(p) - -DIM wks(1 TO 7) -FOR a = 1 TO 7 -wks(a) = celw(p, a) -NEXT a -typ = celt(p) -IF typ = 0 THEN typ = 1 - -box 5, 5, 70, 11, "Edit entrie" -LOCATE 7, 7 -PRINT "Enter time (HH:MM:SS)" -LOCATE 8, 23 -PRINT ":" -LOCATE 8, 26 -PRINT ":" -inpu 21, 8, 2, 1, tth$ -inpu 24, 8, 2, 1, ttm$ -inpu 27, 8, 2, 1, tts$ - -LOCATE 10, 7 -PRINT "Enter message" -inpu 21, 10, 52, 1, ms1$ -inpu 21, 11, 52, 1, ms2$ - -LOCATE 13, 7 -PRINT "Enter command" -inpu 21, 13, 52, 1, cm1$ - -x = 1 -y = 1 -11 - -IF typ = 1 THEN COLOR 14, 4 ELSE COLOR 14, 0 -LOCATE 7, 32 -PRINT "O"; -COLOR 7 -PRINT "nce" - -IF typ = 2 THEN COLOR 14, 4 ELSE COLOR 14, 0 -LOCATE 7, 38 -PRINT "D"; -COLOR 7 -PRINT "aily" - -IF typ = 3 THEN COLOR 14, 4 ELSE COLOR 14, 0 -LOCATE 7, 45 -PRINT "S"; -COLOR 7 -PRINT "pecified weekdays" - -FOR a = 1 TO 7 -IF wks(a) = 1 THEN COLOR 10, 0 ELSE COLOR 8, 0 -LOCATE 8, 44 + (a * 2) -PRINT a -NEXT a - - -c = 0 - -IF y = 1 THEN -IF x = 1 THEN inpu 21, 8, 2, c, tth$ -IF x = 2 THEN inpu 24, 8, 2, c, ttm$ -IF x = 3 THEN inpu 27, 8, 2, c, tts$ -END IF - -IF y = 2 THEN inpu 21, 10, 52, c, ms1$ -IF y = 3 THEN inpu 21, 11, 52, c, ms2$ -IF y = 4 THEN inpu 21, 13, 52, c, cm1$ - -IF c = 100 THEN GOTO 13 -IF c = 102 THEN x = x + 1 -IF c = 103 THEN x = x - 1 -IF c = 104 THEN y = y - 1 -IF c = 105 THEN y = y + 1 -IF c = 106 THEN GOTO 12 - -tg = 0 -IF c = 107 THEN tg = 1 -IF c = 108 THEN tg = 2 -IF c = 109 THEN tg = 3 -IF c = 110 THEN tg = 4 -IF c = 111 THEN tg = 5 -IF c = 112 THEN tg = 6 -IF c = 113 THEN tg = 7 - -IF c = 114 THEN typ = 1 -IF c = 115 THEN typ = 2 -IF c = 116 THEN typ = 3 - -IF c = 117 THEN help 2 - -IF tg > 0 THEN -IF wks(tg) = 0 THEN wks(tg) = 1 ELSE wks(tg) = 0 -END IF - -IF c = 101 THEN -IF y = 1 THEN x = x + 1 ELSE y = y + 1 -END IF - - -IF y > 4 THEN y = 4 -IF y < 1 THEN y = 1 -IF x > 3 THEN x = 1: y = y + 1 -IF x < 1 THEN x = 1 - - -GOTO 11 -12 -celh(p) = VAL(tth$) -celm(p) = VAL(ttm$) -cels(p) = VAL(tts$) - -celm1$(p) = ms1$ -celm2$(p) = ms2$ -celc$(p) = cm1$ -celt(p) = typ - - -FOR a = 1 TO 7 -celw(p, a) = wks(a) -NEXT a -13 - -END SUB - -SUB entcl -a$ = "01" -box 20, 10, 40, 5, "Clear entrie" - -LOCATE 12, 23 -PRINT "Which cell do you need to clear?" - -15 -inpu 55, 12, 2, c, a$ -IF c = 100 THEN GOTO 16 -IF c = 101 THEN -clrc VAL(a$) -GOTO 16 -END IF -GOTO 15 - -16 -sh -END SUB - -SUB entcla - -box 15, 10, 50, 6, "Clearing" - -18 -LOCATE 12, 21 -PRINT "Are you sure you want to clear all cells?" -LOCATE 13, 36 -PRINT "[ Y / N ]" - - -getkey a$ -IF a$ = "y" OR a$ = "Y" THEN -FOR a = 1 TO 20 -clrc a -NEXT a -GOTO 17 -END IF -IF a$ = "n" OR a$ = "N" THEN GOTO 17 -box 15, 10, 50, 8, "Clearing" -LOCATE 15, 30 -COLOR 28 -PRINT "Use keys 'Y' or 'N'" -COLOR 7 -GOTO 18 - -17 -sh - - -END SUB - -SUB ented -br$ = "Enter cell number in range of 1 to 20" -a$ = "01" -box 20, 10, 40, 5, "Edit entrie" - -9 -LOCATE 12, 23 -PRINT "Which cell do you need to edit?" -'SUB inpu (x, y, xl, c, a$) - -6 -c = 0 -inpu 55, 12, 2, c, a$ -IF c = 100 THEN GOTO 7 -IF c = 101 THEN -b = VAL(a$) - -IF b = 0 THEN -IF a$ = " 0" OR a$ = "0 " OR a$ = "00" OR a$ = "-0" THEN GOTO 10 -box 20, 10, 40, 9, "Edit entrie" -COLOR 12, 0 -LOCATE 14, 23 -PRINT " Letters aren't allowed" -LOCATE 15, 23 -PRINT " enter number, or press ESC " -COLOR 7 -GOTO 9 -END IF - -IF b < 1 OR b > 20 THEN -10 -box 20, 10, 40, 9, "Edit entrie" -COLOR 12, 0 -LOCATE 14, 23 -PRINT " The entered number must be in" -LOCATE 15, 23 -PRINT " the range between 1 and 20" -LOCATE 16, 23 -PRINT "enter correct number, or press ESC" -COLOR 7 -GOTO 9 -END IF - -IF (b > 0) AND (b < 21) THEN sh: ed b: GOTO 7 - -END IF -GOTO 6 -7 - -sh -END SUB - -SUB entquit - -box 15, 10, 50, 6, "Quitting" - -5 -LOCATE 12, 21 -PRINT "Are you really sure you want to quit?" -LOCATE 13, 36 -PRINT "[ Y / N ]" - - -getkey a$ -IF a$ = "y" OR a$ = "Y" THEN quit -IF a$ = "n" OR a$ = "N" THEN GOTO 4 -box 15, 10, 50, 8, "Quitting" -LOCATE 15, 30 -COLOR 28 -PRINT "Use keys 'Y' or 'N'" -COLOR 7 -GOTO 5 - -4 -sh - -END SUB - -SUB getkey (a$) -3 -chkey a$ -IF a$ = "" THEN GOTO 3 - -END SUB - -SUB gtw (y, m, t, r) -d = 0 -FOR a = 1500 TO y - 1 -daysy a, b -d = d + b -NEXT a - -FOR a = 1 TO m - 1 -daysm y, a, b -d = d + b -NEXT a - -d = d + t + 2 -r = (d MOD 7) + 1 - -END SUB - -SUB help (a) -SELECT CASE a -CASE 1 -box 20, 3, 41, 17, "Help" - -LOCATE 5, 24 -PRINT "q - quit program" -LOCATE 6, 24 -PRINT "c - clear cell" -LOCATE 7, 24 -PRINT "d - clear all cells" -LOCATE 8, 24 -PRINT "e - edit cell" - -COLOR 14 -LOCATE 10, 24 -PRINT "This program allows you to" -LOCATE 11, 24 -PRINT "shedle messages and commands" -LOCATE 12, 24 -PRINT "to specified time: once, daily" -LOCATE 13, 24 -PRINT "and specified weekdays." - -LOCATE 15, 24 -PRINT " Copyright" -LOCATE 16, 24 -PRINT "Vladimir German &" -LOCATE 17, 24 -PRINT "Svjatoslav Agejenko" -br$ = "Press any key to close this window" - -CASE 2 -box 3, 16, 76, 5, "Help: allowed keys" -LOCATE 17, 5 -PRINT "CTRL + F1..F7 - toggle weekdays CTRL + O/D/S - toggle modes" -LOCATE 18, 5 -PRINT "Arrow keys - to move around CTRL + ENTER - Accept" -LOCATE 19, 5 -PRINT "ESC - close window" -br$ = "You can continue editing ..." - - -END SELECT - - - -END SUB - -SUB inpu (x, y, xl, c, a$) - -x1 = 1 - -2 -a$ = a$ + SPACE$(100) -a$ = LEFT$(a$, xl) - -COLOR 11, 1 -LOCATE y, x -PRINT a$ - -IF c = 1 THEN GOTO 8 -COLOR 30, 2 -LOCATE y, x + x1 - 1 -PRINT RIGHT$(LEFT$(a$, x1), 1) - -getkey b$ - -IF b$ = CHR$(27) THEN c = 100: GOTO 8 -IF b$ = CHR$(13) THEN c = 101: GOTO 8 - -IF (ASC(b$) > 31) AND (ASC(b$) < 122) AND (LEN(b$) = 1) THEN -a$ = LEFT$(a$, x1 - 1) + b$ + (RIGHT$(a$, xl - x1 + 1)) -x1 = x1 + 1 -END IF - -IF b$ = CHR$(8) THEN -IF x1 > 1 THEN -a$ = LEFT$(a$, x1 - 2) + RIGHT$(a$, xl - x1 + 1) -x1 = x1 - 1 -END IF -END IF - -IF b$ = CHR$(0) + "M" THEN x1 = x1 + 1 -IF b$ = CHR$(0) + "K" THEN x1 = x1 - 1 -IF b$ = CHR$(0) + CHR$(94) THEN c = 107: GOTO 8 -IF b$ = CHR$(0) + CHR$(95) THEN c = 108: GOTO 8 -IF b$ = CHR$(0) + CHR$(96) THEN c = 109: GOTO 8 -IF b$ = CHR$(0) + CHR$(97) THEN c = 110: GOTO 8 -IF b$ = CHR$(0) + CHR$(98) THEN c = 111: GOTO 8 -IF b$ = CHR$(0) + CHR$(99) THEN c = 112: GOTO 8 -IF b$ = CHR$(0) + CHR$(100) THEN c = 113: GOTO 8 -IF b$ = CHR$(0) + CHR$(59) THEN c = 117: GOTO 8 - -IF b$ = CHR$(0) + "S" THEN a$ = LEFT$(a$, x1 - 1) + RIGHT$(a$, xl - x1) -IF x1 < 1 THEN x1 = 1: c = 103: GOTO 8 -IF x1 > xl THEN x1 = xl: c = 102: GOTO 8 -IF b$ = CHR$(0) + "H" THEN c = 104: GOTO 8 -IF b$ = CHR$(0) + "P" THEN c = 105: GOTO 8 - -IF b$ = CHR$(10) THEN c = 106: GOTO 8 -IF b$ = CHR$(15) THEN c = 114: GOTO 8 -IF b$ = CHR$(4) THEN c = 115: GOTO 8 -IF b$ = CHR$(19) THEN c = 116: GOTO 8 - - -GOTO 2 -8 - -a$ = a$ + SPACE$(100) -a$ = LEFT$(a$, xl) -COLOR 11, 1 -LOCATE y, x -PRINT a$ - -IF a$ = SPACE$(LEN(a$)) THEN -a$ = "" -ELSE -14 -IF RIGHT$(a$, 1) = " " THEN a$ = LEFT$(a$, LEN(a$) - 1): GOTO 14 -END IF - -COLOR 7, 0 -END SUB - -SUB ps (x, y, c, s$) -COLOR c -FOR a = 1 TO LEN(s$) -x1 = x + a - 1 -IF (x1 > 21) AND (x1 < 81) THEN -IF virt(x1, y) = 0 THEN -LOCATE y, x1 -PRINT RIGHT$(LEFT$(s$, a), 1) -END IF -END IF -NEXT a -END SUB - -SUB quit -'DIM SHARED celh(1 TO 20) -'DIM SHARED celm(1 TO 20) -'DIM SHARED cels(1 TO 20) - -'DIM SHARED celm1$(1 TO 20) -'DIM SHARED celm2$(1 TO 20) -'DIM SHARED celc$(1 TO 20) - -'DIM SHARED celt(1 TO 20)' 0 - empty 1 - onece 2 - every day 3 - specified days -'DIM SHARED celw(1 TO 20, 1 TO 7) - - -OPEN "tim.dat" FOR OUTPUT AS #1 -FOR a = 1 TO 20 -PRINT #1, celh(a); celm(a); cels(a); celt(a) -FOR b = 1 TO 6 -PRINT #1, celw(a, b); -NEXT b -PRINT #1, celw(a, 7) - -PRINT #1, celm1$(a) -PRINT #1, celm2$(a) -PRINT #1, celc$(a) -NEXT a -CLOSE #1 -SYSTEM -END SUB - -SUB scroll -'ps RND * 60 + 1, RND * 20 + 1, RND * 13 + 1, "asi" - -'DIM SHARED celm1$(1 TO 20) -'DIM SHARED celm2$(1 TO 20) -'DIM SHARED celc$(1 TO 20) -'DIM SHARED celx(1 TO 20) -COLOR 7, 0 - -FOR a = 1 TO 20 -le = LEN(celm1$(a) + celm2$(a) + celc$(a)) + 2 -IF le > 59 THEN - x = 22 - celx(a) - IF slp(a) > 0 THEN - slp(a) = slp(a) - 1 - ELSE - celx(a) = celx(a) + 1 - IF x + le < 83 THEN slp(a) = 10 - IF x + le < 82 THEN slp(a) = 10: celx(a) = 0 - END IF -ELSE - x = 22 -END IF - -ps x, a + 1, 10, celc$(a) + " " -x = x + LEN(celc$(a)) + 1 -ps x, a + 1, 14, celm1$(a) + " " -x = x + LEN(celm1$(a)) + 1 -ps x, a + 1, 14, celm2$(a) + " " - -NEXT a - -END SUB - -SUB sh -vbox 1, 1, 80, 25, 0 -CLS -LOCATE 1, 1 -COLOR 0, 3 -PRINT "Num| Time | When? | Command & Message " -COLOR 7, 0 - -FOR a = 1 TO 20 -COLOR 14 -IF a < 10 THEN LOCATE a + 1, 2 ELSE LOCATE a + 1, 1 -PRINT a - -COLOR 3 -LOCATE a + 1, 4 -PRINT "|" - - -LOCATE a + 1, 5 -COLOR 14 -IF celt(a) = 0 THEN -PRINT "-- -- --" -ELSE -COLOR 14 -cns celh(a), s$ -PRINT s$ -LOCATE a + 1, 8 -cns celm(a), s$ -PRINT s$ -LOCATE a + 1, 11 -cns cels(a), s$ -PRINT s$ -END IF -COLOR 30 -LOCATE a + 1, 7 -PRINT ":" -LOCATE a + 1, 10 -PRINT ":" - -COLOR 3 -LOCATE a + 1, 13 -PRINT "|" -LOCATE a + 1, 14 - -IF celt(a) = 1 THEN -COLOR 14 -PRINT " Once" -END IF - -IF celt(a) = 2 THEN -COLOR 14 -PRINT " Daily" -END IF - -IF celt(a) = 3 THEN -COLOR 10 -FOR b = 1 TO 7 -'DIM SHARED celw(1 TO 20, 1 TO 7) -LOCATE a + 1, 13 + b -IF celw(a, b) = 1 THEN PRINT RIGHT$(STR$(b), 1) -NEXT b -END IF - -COLOR 3 -LOCATE a + 1, 21 -PRINT "|" - -NEXT a - -END SUB - -SUB start - -OPEN "tim.dat" FOR INPUT AS #1 -FOR a = 1 TO 20 -INPUT #1, celh(a), celm(a), cels(a), celt(a) -FOR b = 1 TO 7 -INPUT #1, celw(a, b) -NEXT b - -LINE INPUT #1, celm1$(a) -LINE INPUT #1, celm2$(a) -LINE INPUT #1, celc$(a) -NEXT a -CLOSE #1 - -alarmo = 0 -END SUB - -SUB vbox (x1, y1, x2, y2, c) -FOR y = y1 TO y1 + y2 - 1 -FOR x = x1 TO x1 + x2 - 1 -virt(x, y) = c -NEXT x -NEXT y -END SUB - diff --git a/wsystem.bas b/wsystem.bas deleted file mode 100755 index be1c406..0000000 --- a/wsystem.bas +++ /dev/null @@ -1,206 +0,0 @@ -' window engine, 2003 -' Svjatoslav Agejenko -' svjatoslav@svjatoslav.eu - -DECLARE SUB demo () -DECLARE FUNCTION getline$ (w%, l%) -DECLARE SUB loadfile (file$, d%) -DECLARE SUB sendline (w%, l%, newstring$) -DECLARE FUNCTION getflin% () -DECLARE SUB refresh () -DECLARE FUNCTION addpage% (x%, y%, xs%, ys%, title$) -DECLARE SUB box (x%, y%, xl%, yl%, e$) -DEFINT A-Z -DECLARE SUB shpage (a) -DECLARE SUB start () - -DIM SHARED stamo -stamo = 5000 -DIM SHARED st$(1 TO stamo) -DIM SHARED stpn - -DIM SHARED pag(1 TO 10, 1 TO 1000) -DIM SHARED pagx(1 TO 10), pagy(1 TO 10), pagxs(1 TO 10), pagys(1 TO 10) -DIM SHARED pagon(1 TO 10) -DIM SHARED pagtitle$(1 TO 10) - -DIM SHARED pagshx(1 TO 10) ' x & y shift -DIM SHARED pagshy(1 TO 10) - -DIM SHARED pageactive ' active page - -start - -demo - -FUNCTION addpage (x, y, xs, ys, title$) -FOR a = 1 TO 10 - IF pagon(a) = 0 THEN b = a: GOTO 1 -NEXT a -1 - -pagon(b) = 1 -pagx(b) = x -pagy(b) = y -pagxs(b) = xs -pagys(b) = ys -pagtitle$(b) = title$ - -addpage = b -END FUNCTION - -SUB clrwnd (w) -FOR a = 1 TO 1000 - IF pag(w, a) > 0 THEN st$(pag(w, a)) = "": pag(w, a) = 0 -NEXT a -END SUB - -SUB demo -w1 = addpage(1, 1, 30, 10, "window 1.") -w2 = addpage(1, 12, 80, 30, "second window") -w3 = addpage(31, 2, 30, 10, "last window") - -loadfile "wsystem.bas", w2 -loadfile "wsystem.bas", w1 -loadfile "wsystem.bas", w3 - -4 -pageactive = INT(RND * 3) + 1 -refresh - -FOR a = 1 TO 100 - pagshx(pageactive) = SIN(a / 10) * 10 + 10 - pagshy(pageactive) = a - shpage pageactive - SOUND 0, 1 - IF INKEY$ <> "" THEN SYSTEM -NEXT a - -GOTO 4 -END SUB - -FUNCTION getflin ' Get free line -2 -IF stpn > 1000 THEN stpn = 1 -IF st$(stpn) = "" THEN - getflin = stpn - stpn = stpn + 1 -ELSE - stpn = stpn + 1 - GOTO 2 -END IF -END FUNCTION - -FUNCTION getline$ (w, l) -IF pag(w, l) = 0 THEN - getline$ = "" -ELSE - getline$ = st$(pag(w, l)) -END IF -END FUNCTION - -SUB loadfile (file$, d) - -OPEN file$ FOR INPUT AS #1 -FOR a = 1 TO 1000 - IF EOF(1) <> 0 THEN GOTO 3 - LINE INPUT #1, a$ - sendline d, a, a$ -NEXT a -3 -CLOSE #1 - -FOR b = a TO 1000 - sendline d, b, "" -NEXT b -END SUB - -SUB refresh -CLS -FOR a = 1 TO 10 -IF pagon(a) > 0 THEN shpage (a) -NEXT a -END SUB - -SUB sendline (w, l, newstring$) ' window, lineNum, lineItself - ' send string into window memory -a$ = newstring$ - -IF a$ = SPACE$(LEN(a$)) THEN a$ = "" - -IF LEN(a$) > 0 THEN -5 - IF RIGHT$(a$, 1) = " " THEN - a$ = LEFT$(a$, LEN(a$) - 1) - GOTO 5 - END IF -END IF - -IF a$ = "" THEN - IF pag(w, l) > 0 THEN st$(pag(w, l)) = "": pag(w, l) = 0 -ELSE - IF pag(w, l) = 0 THEN pag(w, l) = getflin - st$(pag(w, l)) = a$ -END IF -END SUB - -SUB shpage (page) -IF page = pageactive THEN bg = 1 ELSE bg = 0 - -x = pagx(page) -y = pagy(page) -xl = pagxs(page) -yl = pagys(page) -e$ = pagtitle$(page) - -COLOR 11, bg - -a$ = "" -d$ = "" -FOR a = 1 TO xl - 2 -a$ = a$ + CHR$(205) -NEXT a -b$ = CHR$(201) + a$ + CHR$(187) -c$ = CHR$(200) + a$ + CHR$(188) - -LOCATE y, x -PRINT b$ -LOCATE y + yl - 1, x -PRINT c$ - -FOR a = 1 TO yl - 2 - LOCATE y + a, x - d$ = getline(page, a + pagshy(page)) - d$ = d$ + SPACE$(300) - d$ = RIGHT$(d$, LEN(d$) - pagshx(page)) - d$ = LEFT$(d$, xl - 2) - PRINT CHR$(186) + d$ + CHR$(186) -NEXT a - -xt = INT(x + (xl / 2) - (LEN(e$) / 2) - 2) -LOCATE y, xt -PRINT "[ " -xt = xt + 2 - -COLOR 10 -LOCATE y, xt -PRINT e$ - -xt = xt + LEN(e$) -COLOR 11 -LOCATE y, xt -PRINT " ]" -COLOR 7, 0 -END SUB - -SUB start -WIDTH 80, 50 -VIEW PRINT 1 TO 50 - -FOR a = 1 TO stamo -st$(a) = "" -NEXT a - -stpn = 1 -END SUB -