home *** CD-ROM | disk | FTP | other *** search
/ X Dome 2 / X-Dome_2_1995_Error_2000_de.d64 / w.i.c.p. (.txt) < prev   
Commodore BASIC  |  2023-02-26  |  3KB  |  101 lines

  1. 1 rem *********************************
  2. 2 rem *           w.i.c.p.            *
  3. 3 rem *********************************
  4. 4 rem *(c)opyright 1995 by phoenix of *
  5. 5 rem *high-tech and error2000!       *
  6. 6 rem *********************************
  7. 7 rem *                               *
  8. 8 rem *hope you have fun with this prg*
  9. 9 rem *********************************
  10. 10 me$(1,1)="please":me$(1,2)="press ":me$(1,3)="[210]eturn"
  11. 12 poke53280,.:poke53281,.:printchr$(8)chr$(14)
  12. 16 rem ++++++++++++++++++++++
  13. 17 rem + window vorbereiten +
  14. 18 rem ++++++++++++++++++++++
  15. 20 ze=3:sp=3:br=6:ho=5:gosub10000
  16. 21 rem ++++++++++++++++++++
  17. 22 rem + menue-auswaehlen +
  18. 23 rem ++++++++++++++++++++
  19. 30 za=3:m=1:gosub17000
  20. 31 rem +++++++++
  21. 32 rem + input +
  22. 33 rem +++++++++
  23. 40 ze=15:sp=15:la=18:gosub20000
  24. 50 rem --------------------------------
  25. 60 ze=2:sp=2:br=len(f$)+8:ho=1:gosub10000:poke211,3:poke214,3:sys58640
  26. 70 print"[200]allo ";f$;" !"
  27. 80 end
  28. 90 rem ++++++++++++++++++++++++++++++++
  29. 10000 rem ********************
  30. 10010 rem * window erstellen *
  31. 10020 rem ********************
  32. 10030 gosub15000:rem bildschirm retten
  33. 10040 poke1024+40*ze+sp,112:ifbr=0then10060
  34. 10050 fori=1tobr:poke1024+40*ze+sp+i,64:next
  35. 10060 poke1024+40*ze+sp+br+1,110:ifho=0then10090
  36. 10070 fori=1toho:poke1024+40*(i+ze)+sp,93:forj=1tobr:poke1024+40*(i+ze)+sp+j,32
  37. 10080 next:poke1024+40*(i+ze)+sp+j,93:next
  38. 10090 poke1024+40*(ze+ho+1)+sp,109:ifbr=0then10110
  39. 10100 fori=1tobr:poke1024+40*(ze+ho+1)+sp+i,64:next
  40. 10110 poke1024+40*(ze+ho+1)+sp+br+1,125
  41. 10120 return
  42. 15000 rem ---------------------
  43. 15010 rem - bildschirm retten -
  44. 15020 rem ---------------------
  45. 15030 fori=0to(ho+1)
  46. 15040 forj=0to(br+1)
  47. 15050 poke49152+40*i+j,peek(1024+40*(i+ze)+(j+sp))
  48. 15060 nextj,i
  49. 15070 return
  50. 16000 rem ---------------------------
  51. 16010 rem - bildschirm zurueckholen -
  52. 16020 rem ---------------------------
  53. 16030 fori=0to(ho+1)
  54. 16040 forj=0to(br+1)
  55. 16050 poke(1024+40*(i+ze)+(j+sp)),peek(49152+40*i+j)
  56. 16060 nextj,i
  57. 16070 return
  58. 17000 rem ********************
  59. 17010 rem * strings ausgeben *
  60. 17020 rem ********************
  61. 17030 fori=1toza
  62. 17040 poke211,sp+1:poke214,ze+2*i-1:sys58640
  63. 17050 printme$(m,i):next
  64. 18000 rem -----------------
  65. 18010 rem - menue-auswahl -
  66. 18020 rem -----------------
  67. 18030 i=1:u=1
  68. 18040 poke211,sp+1:poke214,ze+2*i-1:sys58640
  69. 18050 print"";me$(m,u);"[146]"
  70. 18060 geta$:ifa$=""then18060
  71. 18070 ifa$="[145]"thengosub19050:i=i-1:u=u-1:ifi<1theni=za:u=za:goto18040
  72. 18080 ifa$=""thengosub19050:i=i+1:u=u+1:ifi>zatheni=1:u=1:goto18040
  73. 18090 ifa$="_"thens=1:return
  74. 19000 ifa$=chr$(13)thengosub16000:return
  75. 19010 goto18040
  76. 19050 rem ------------------------
  77. 19060 rem - altes menue loeschen -
  78. 19070 rem ------------------------
  79. 19080 poke211,sp+1:poke214,ze+2*i-1:sys58640:printme$(m,u):return
  80. 20000 rem *****************
  81. 20010 rem * input-routine *
  82. 20020 rem *****************
  83. 20030 rem *** eingabefeld anfang ***
  84. 20040 sp=sp-1:ze=ze-1
  85. 20050 br=la+1:ho=1
  86. 20060 gosub10000:rem*** eingabefeld ***
  87. 20070 rem *** eingabefeld ende ***
  88. 20080 poke211,sp+1:poke214,ze+1:sys58640
  89. 20090 print"[164]";:f$="":h=0
  90. 20100 geta$:ifa$=""then20100
  91. 20110 ifa$=chr$(13)thengosub16000:return
  92. 20120 ifa$="_"thens=1:return
  93. 20130 ifa$=chr$(20)andh>0thenf$=left$(f$,h-1):h=h-1:print"[157][157]  ";:goto20200
  94. 20140 ifa$="[147]"thenf$="":h=0:goto20190
  95. 20150 ifa$<" "ora$>"[218]"then20100
  96. 20160 ifa$>chr$(122)anda$<chr$(192)then20100
  97. 20170 ifh=lathen20100
  98. 20180 f$=f$+a$:h=h+1:goto20200
  99. 20190 poke211,sp+1:poke214,ze+1:sys58640:fori=1tola+1:print" ";:next
  100. 20200 poke211,sp+1:poke214,ze+1:sys58640:printf$"[164]";:goto20100
  101.