Aktualności: C64 Power - online od stycznia 2000 !

Autor Wątek: Wielokolorowe znaki w Basicu  (Przeczytany 495 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Wata

  • Level 1
  • *
  • Wiadomości: 27
Wielokolorowe znaki w Basicu
« dnia: 08 Lutego 2007, 14:08 »
 Witam.  W  kilku  basicowych  demach  zauważyłem  wielokolorowe  znaki  wyświetlane  jednocześnie  na  ekranie  (bynajmniej  kolory  nie  były  zmieniane  za  pomocą  zmiany  kolorów  poszczególnych  punktów).  W  kodzie  zauważyłem  znaki  tego  typu:    
  http://img358.imageshack.us/img358/4228/znakidn6.jpg\' target=_blank>http://img358.imageshack.us/img358/4228/znakidn6.jpg
   
  Czy  ktoś  ma  doświadczenie  z  tego  typu  wyświetlaniem  i  czy  ew.  wie  w  jaki  sposób  uzyskać  takie  znaki  ?  Ciekawi  mnie  też  w  jaki  sposób  można  uzyskać  znak  \'pełnego  kwadratu\'  8x8  którego  nie  ma  w  tablicy  znaków  (przynajmniej  tak  mi  się  wydaje:)  i  nie  chodzi  mi  tu  o  ręczne  wypełnianie  pamięci  a  wyświetlenie  z  poziomu  print  chr$.  
  Pozdrawiam.



Gringo_w

  • Gość
Wielokolorowe znaki w Basicu
« Odpowiedź #1 dnia: 08 Lutego 2007, 18:07 »
 Napisz  i  urucho  sobie  taki  program  :  
   
  10  for  i=0  to  255  
  20  poke  1024+i,i  
  30  next  
   
  run  
   
  i  masz  :D

Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034
Wielokolorowe znaki w Basicu
« Odpowiedź #2 dnia: 08 Lutego 2007, 18:13 »
 He...  zmiana  koloru  w  basicu  nie  jest  trudna,  ale  wymaga  obszerniejszego  opisu  (zależy  jaki  masz  stan  wiedzy  na  temat  Basic`a).    
  Ogólnie  mówiąc  znaczki  te  powstają  w  trybie  cudzysłowu  (jak  wpiszesz  pierwszy  raz  \'  to  włączasz  ten  tryb,  kolejny  \'  wyłączenie  lub  return)  
  W  trybie  tym,  wciskając  kombinacje  klawiszy  t.j.  shift+home,  zmiana  koloru  ctrl+0..9  albo  z  C=    itd,-  nie  spowodujesz  wykonania  rozkazu  sterującego,  ale  właśnie  wyświetli  ci  się  jeden  ze  znaczków  który  podałeś.  Przy  uruchomieniu  programu  znaczki  te  odpowiadają  wciśnięciom  właśnie  tych  kombinacji  klawiszy,  czyli  zmienią  ci  kolor  znaków,  albo  wyczyszczą  ekran.  
  Ta  zasada  akurat  dotyczy  też  \'pełnego\'  kwadratu  8x8  (bo  to  jest  inwersja  znaku  pustego  SPACJI),  ctrl+9  włączasz  inwersję  znaków  ctrl+0  wyłączasz  (oczywiście  w  trybie  cudzysłowu  pokażą  ci  się  odp.  znaczki)  
  Kolor  znaków  można  również  zmieniać  instrukcją  :  poke  646,nr_koloru  
   
  Nie  wiem,  czy  wytłumaczyłem  -  ale  się  starałem.  pozdro

Offline Wata

  • Level 1
  • *
  • Wiadomości: 27
Wielokolorowe znaki w Basicu
« Odpowiedź #3 dnia: 08 Lutego 2007, 18:33 »
 Skull  dzięki.  Nie  wiedziałem  że  poprzez  print  odpowiedniego  znaku  można  zmienić  kolor.  Mam  jeszcze  pytanie  o  wyświetlenie  tego  zapełnionego  kwadratu.  W  jaki  sposób  uzyskać  inwersję  spacji  ?  po  uruchomieniu  trybu  wyświetlania  znaków  specjalnych  C=  ze  spacją  daje  zwykłą  spację...  Pozdrawiam  i  dzieki  jeszcze  raz

Gringo_w

  • Gość
Wielokolorowe znaki w Basicu
« Odpowiedź #4 dnia: 08 Lutego 2007, 18:37 »
 Albo  dajesz  control  +  9    
  albo  piszesz  np  coś  takiego  
   
  print  chr$(18);:printchr$(64);:  
   
  w  ten  sposób  będziesz  miał  odwrócony  znakczek  \'A\'  
   
  albo  jak  wyżej  tyle  że  zamiast  drugiego  printa  piszesz  print\'ODWROCONY  TEKST\'  
   

Offline Wata

  • Level 1
  • *
  • Wiadomości: 27
Wielokolorowe znaki w Basicu
« Odpowiedź #5 dnia: 08 Lutego 2007, 18:53 »
 Dzięki.  Jakoś  się  udało.  Nie  wiedziałem  że  ctrl+9  (dające  R  z  tłem)  +  spacja  (której  nie  widać)  dadzą  w  cudzysłowach  zapełniony  kwadrat.  Pozdrawiam  i  dzięki  jeszcze  raz.

Offline Raf

  • Master of disaster
  • Administrator
  • Level 7
  • **********
  • Wiadomości: 7339
  • Wolność, własność, sprawiedliwość
Wielokolorowe znaki w Basicu
« Odpowiedź #6 dnia: 08 Lutego 2007, 19:15 »
 w  zestawie  znakow  podstaowywch  znaki  128-255  to  revers  znakow  0-127  ,  czyli  jesli  spacja  to  32  =>  odwrocona  spacja  to  160  ;-)
"Cokolwiek powiesz albo napiszesz, znajdzie się ktoś, kto słyszy lub czyta coś zupełnie innego i jeszcze bezczelnie wmawia Ci to"