C64Power Forum

Ogólne => Forum Ogólnodyskusyjne => Wątek zaczęty przez: kabel w 18 Maja 2010, 21:24

Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 18 Maja 2010, 21:24
 Mam  kilka  pytań  dot.  programowania:  
  1.Jak  zrobić,  by  nie  wypisywać  kilkadziesiąt  razy  tego  samego,  tylko  raz,  a  komputer  resztę  zrobi?Tak,  jak  np.  w  BB8  
  2.Jak  zrobić  aby  postawić  kursor  nie  cały  czas  pod  spodem,tylko  w  różnych  miejscach  np.  u  góry.Chodzi  mi  o  to,  żeby  pisać  na  tekście  powyżej.  
  3.Jak  zmienić  kolor  tekstu?  
  4.Jak  wpisywać  parametry  IF,  tak,  żeby  nie  wyskakiwał  błąd?  
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Skull w 19 Maja 2010, 08:12
 ad.1  Jaśniej  
  ad.2  używaj  klawiszy  kursora  z  SHIFT,  wtedy  ruch  jest  w  przeciwnym  kierunku  
  ad.3  przytrzymaj  control  lub  C=,  a  wtedy  klawisze  od  1  do  8    
  ad.4  a  jak  wpisujesz?
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Mikra_Lbn w 19 Maja 2010, 13:50
 Proponuję  zacząć  przygodę  od:  
  \'Instrukcji  obsługi  C64\'  http://www.filety.net/arty/literatura/offline/instrukcja-c64.rar
  \'Commodore  64\'  Bohdana  Frelka.  http://retroreaders.makii.pl/dload.php?action=file&id=268
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 19 Maja 2010, 21:50
 @skull:  
  Nie  chodzi    mi  o  to,  o  czym  piszesz,  tylko  ,  o  programowanie,  czyli  np:  
  1  ?\'  witam\'  
  2  input\'  co  u  was\';  a$  
   
  Rozumiesz  o  co  mi  chodzi?
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 19 Maja 2010, 21:51
 A,  zapomniałem:  
  Z  if  koniec  problemu.
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Skull w 20 Maja 2010, 08:33
 Radze  przejrzeć  te  dwie  pozycje  ksiązkowe,  bo  tam  są  wszystkie  odpowiedzi  na  Twoje  pytania.    
   
  Niestety  nie  ma  instrukcji  typu:  PRINT  AT  ..  gdzie  wpisujesz  pozycję  x  i  y  na  ekranie,    
  ale  w  trybie  cudzysłowu  (jak  wpiszesz  pierwszy  raz  zaraz  po  print/?)  obowiązują  te  same  zasady  co  przy  obsłudze  z  klawiatury.  Czyli  jak  nacisniesz  shift+crsr  to  np.  wcale  się  nie  cofniesz/w  dół/w  górę,  tylko  pojawią  Ci  się  dziwne  znaczki  -  nie  panikuj,  to  są  właśnie  znaczniki  ruchu  kursora.  Przy  wykonaniu  instrukcji  nie  będzie  ich  widać,  za  to  kursor  przemiści  się  do  miejsca  jaki  utworzyłeś  z  takiej  \'ścieżki\'.  To  samodo  tyczy  kolorów.  Tryb  cudzysłowu  kończy  się  po  następnym  znaku  cudzysłowu(drugi  po  print).  
   
   
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Skull w 20 Maja 2010, 08:34
 powtarzanie  \'robi  się\'  za  pomocą  instrukcji  pętli,  np.  
   
  for  i=1  to  10  
  print  \'dupa\'  
  next  i  
   
     
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Mikra_Lbn w 20 Maja 2010, 12:50
 A  i  jeszcze  jedna  pozycja:  Roman  Poznański  \'Przygody  z  komputerem  i  bez  komputera\'.  
  Autor  książki  napisał  dla  \'Bajtka\'  wiele  fajnych  artykułów  dla  młodszych  czytelników  o  programowaniu.  Wszystko  co  początkujący  powinien  wiedzieć,  jest  dokładnie  napisane,  choć  sama  książka  opisuje  Basic  wspólny  dla  Atari,  Amstrada,  Commodore  i  Spectrum.  
  Do  pobrania  z  Filetów:  http://www.filety.net/arty/literatura/offline/przygody-z-komputerem.rar
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: suchy w 20 Maja 2010, 16:24
 ...  a  jak  znasz  angielski,  to  na  serwerze:  bombjack  masz  dopiero  \'używanie\'!  Możesz  sobie  ściągnąć  co  chcesz  na  temat  C64  za  free.  Samych  książek  o  C64  -  kilkadziesiąt  o  programowaniu  (basic,  asembler)  tworzeniu  grafiki,  muzyki  itp.  itd.  
   
  http://www.bombjack.org/commodore/
   
   
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Kisiel w 20 Maja 2010, 22:14
 ja  zacząłem  przygodę  z  bajtkiem  i  artykułem  jak  zrobić  mikroprocesor  gdzie  autor  pokazywał  mechaniczną  logikę  z  kulkami..  pamięta  to  ktoś?
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 22 Maja 2010, 13:24
 Jak  tworzyć  muzykę,  bo  w  tej  książce  jest  niejasno  opisane,  pozatym  wyskakuje  ?illegal  quantity  error.
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 22 Maja 2010, 14:49
 Acha,  i  jak  zrobić,  aby  funkcje  rnd,  int  itp  znalazły  się  w  np.  a$?
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Mikra_Lbn w 22 Maja 2010, 20:55
 zmienne  liczbowe  w  tekstowe  można  zmienić  dzięki  funkcji  STR$(),  np.  
  10  I=RND(1)  
  20  A$=STR$(I)  
  30  PRINT  A$  
   
  Odwrotnie  działa  funkcja  VAL(),  np.  
  10  A$=\'1234.56\'  
  20  I  =  VAL(A$)  
  30  PRINT  I  
   
  Co  do  muzyki  -  sprawdź,  czy  na  pewno  nie  popełniłeś  błędu  przy  przepisywaniu.  Poza  tym  muszę  cię  zmartwić  -  bardzo  ciężko  jest  napisać  w  miarę  dobry  program  do  odtwarzania  muzyki  w  BASIC-u  (poza  kilkoma  prostymi  melodyjkami).  
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 23 Maja 2010, 11:31
 No  dobra,  zrobiłem,  jest  dobrze,  poza  jednym  wyjątkiem-  wszystkie  liczby  wylosowane  są  takie  same.
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Mikra_Lbn w 23 Maja 2010, 13:00
 Przed  pierwszym  użyciem  funkcji  RND()  wpisz  gdzieś  w  programu  linię:  
  10  ZMIENNA=RND(-TI)  
  O  ile  dobrze  pamiętam,  RND(-TI)  powoduje  to  inicjacje  generatora  liczb  pseudolosowych.  
   
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Mikra_Lbn w 23 Maja 2010, 13:02
 Przepraszam,  że  jeden  post  pod  drugim,  ale  tamten  wyszedł  nie  całkiem  po  polsku.  
   
  Przed  pierwszym  użyciem  funkcji  RND()  wpisz:  
  10  ZMIENNA=RND(-TI)  
  O  ile  dobrze  pamiętam,  RND(-TI)  powoduje  inicjację  generatora  liczb  pseudolosowych.  
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 23 Maja 2010, 21:18
   \'\'  nie  działa-  wyskakuje  ?type  mismath  error  in  1600
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Mikra_Lbn w 23 Maja 2010, 21:25
 Niestety,  wróżka,  którą  na  co  dzień  zatrudniam,  ma  tydzień  wolnego,  więc  nie  odpowiem  ci,  dlaczego  ci  coś  takiego  wyskoczyło.  
   
  Jeśli  chcesz  wyręczyć  moją  wróżkę,  to  wklep  LIST  1600  i  przepisz  na  forum  tą  linię.
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 24 Maja 2010, 16:34
 1600  z$=rnd(-ti)  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Mikra_Lbn w 24 Maja 2010, 17:49
 jeśli  nazwa  zmiennej  jest  zakończona  znakiem  dolara  ($),  to  oznacza  tekst.  A  funkcja  RND()  zwraca  liczbę.  Jeśli  chcesz  zamienić  liczbę  na  tekst,  musisz  użyć  funkcji  opisanej  przeze  mnie  kilka  postów  wyżej  -  STR$  
  STR$  i  VAL  masz  opisane  w  książce  B.  Frelka  na  stronie  42,  w  oryginalnej  instrukcji  obsługi  na  stronie  154  (w  wersji  internetowej  na  78).  O  stosowaniu  zmiennych  dużo  jest  też  w  książce  R.  Poznańskiego  (Przygoda  trzynasta  LET  i  piętnasta  INPUT)  
   
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 24 Maja 2010, 18:22
 Coś  nie  zrozumiałem,    \'\'  ale  może  wkleje  fragment  programu,  w  którym  występuje  błąd:  
   
  1600  z=rnd(-ti)  
  1610  print  
  1620  print\'  wylosowane  liczby  to:\'  
  1630  z=int(rnd(1)*45)+1  
  1640  z=str$(i)  
  1700  for  i=1  to  5  
  1800  print  z;  
  1900  nexti  
  2000  if  a$=z$  then  goto  3000  
  2100  if  a$<z$then  goto2500  
  2200  if  a$>z$  then  goto  2500  
   
   
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Kisiel w 24 Maja 2010, 18:55
 a  jak  wygrasz  w  lotto  to  podziałkujesz  się  brachu?
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 24 Maja 2010, 21:48
 Hehe    \'\'  zgadłeś  Kisiel,  zgadłeś,  robie  gre  lotto,  tyle,  że  nie  będzie  się  opierała  na  prawdziwych  zasadach,  tylko  fikcyjnech.
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Mikra_Lbn w 25 Maja 2010, 09:59
 W  tym  programie  musisz  zastosować  tablice  zmiennych.  
  Najpierw  deklarujesz  taką  tablicę  za  pomocą  DIM,  np:  
  DIM  T(5)  
  Wtedy  każda  z  sześciu  zmiennych  (sześciu  bo  liczy  się  od  zera  do  pięciu)  ma  tę  samą  nazwę  (w  tym  przypadku  T),  ale  inny  indeks.  
  Jak  to  wykorzystać?  Na  przykład  w  ten  sposób:  
   
  10  dim  t(3)  
  20  for  q=1  to  3  
  30  print  \'podaj\';q;\'liczbe\';:  input  t(q)  
  40  next  
  50  for  q=1  to  3  
  60  s  =  s  +  t(q)  
  70  next  
  80  print  \'suma  podanych  liczb  to\';s  
   
  Podpowiem  ci,  że  losowanie  liczby  powinno  być  w  pętli,  między  \'for  i=1  to  5  a  \'next  i\'.
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 25 Maja 2010, 16:30
   \'\'  ...  Chyba  zrobie  `Twój  szczęśliwy  numerek`  \'\'  
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 25 Maja 2010, 18:02
 Przepraszam  ,  że  post  pod  postem  ,    ale  skonczyłem.teraz  kolejne  pytanie:jak  zrobić,  aby  odwołać`  rozkaz  ?  chr$(14)  
   
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Kisiel w 25 Maja 2010, 18:09
 undo
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 25 Maja 2010, 18:28
 syntax  error..
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Kisiel w 25 Maja 2010, 19:00
 a  jaką  masz  wersje  visual  basica?
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 25 Maja 2010, 19:16
 przecierz  to  commodore  basic  v2!
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Mikra_Lbn w 25 Maja 2010, 21:03
 \'teraz  kolejne  pytanie:jak  zrobić,  aby  odwołać  rozkaz?  chr$(14)\'  
  Niestety  nie  wiem,  co  to  znaczy  odwołać  rozkaz.  Jeśli  chodzi  ci  o  likwidację  danej  linii,  to...  
   
  20  print  \'do  usunięcia\'  
  żeby  zlikwidować  powyższą  linię  piszemy  tylko  
  20  
  zatwierdzając  klawiszem  Return.
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 26 Maja 2010, 20:33
 Nie  chodziło  mi  o  to.Ale  się  z  tym  uporałem.Jednak  o  co  chodzi  z  tymi  tablicami?  Jak  je  zaprogramować?Jak  ja  taką  zaprogramuje,  to  ona  ma  tylko  jeden  wymiar...
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: uka w 26 Maja 2010, 22:23
 Tablice  wielowymiarowe  tworzysz  za  pomocą  tej  samej  komendy,  co  jednowymiarowe,  podając  kolejne  \'wymiary\'.    
  Czyli  np  tak:  
   
  DIM  A(3,3)  -  tworzy  tablice  dwuwymiarową  4x4  pola  
  DIM  B(2,5,2)  -  tablica  3wymiarowa  3x6x3  pol  
   
  przy  odwoływaniu  się  do  określonego  pola  tablicy  wielowymiarowej,  są  takie  same  zasady  jak  przy  zwykłej  tablicy.  
   
  np  żeby  przypisać  w  tablicy  A(3,3)  każdemu  polu  drugiego  rzędu  wartość  10  robimy  tak:  
   
  10  DIM  A(3,3)  
  20  FOR  Y=0TO3  
  30  A(Y,1)=10  
  40  NEXT  Y  
   
  żeby  wyświetlić  wszystkie  pola  tej  tablicy:  
   
  50  FOR  I=0TO3  
  60  FOR  J=0TO3  
  70  PRINT\'A(\';:PRINTI;:PRINT\',\';:PRINTJ; :PRINT\')=\';:PRINT(I,J)  
  80  NEXT  I  
  90  NEXT  J        
   
  a  tak  w  ogóle,  to  zajrzyj  do  tych  poleconych  książek…  przecież  to  nie  boli  :P  
   
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: uka w 26 Maja 2010, 22:36
 jest  błąd  w  linii  70  
  miało  być:  
   
  70  PRINT\'A(\';:PRINTI;:PRINT\',\';:PRINTJ; :PRINT\')=\';:PRINTA(I,J)  
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 27 Maja 2010, 21:28
 A  co  do  tej  książki  Mikrokomputery,  to  jak  ją  ściągnąć  z  tego  serwisu?
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: suchy w 27 Maja 2010, 23:28
 @kabel,  trochę  więcej  inwencji!  
   
  Na  początek  zacznij  od  tego:  
   
  http://filety.net/arty/literatura/offline/frelek-c64-cz1i2.rar
   
  ...  jak  rozpakować  to  chyba  wiesz?    \'\'    
   
  Przeczytaj  ze  zrozumieniem    \'\'  i  dopiero  zacznij  zadawać  pytania.    
   
  Inne  pozycje  dla  Ciebie  do  ściągnięcia  z  netu:  
   
  Radosław  Zieliński  \'C64  Programować  może  każdy\'  
  Kladiusz  Dybowski  \'Basic  C-64,  C-128\'  
   
  ...  były  na  elysium  dzięki  wegi`emu  wrzucone  przez  Reitera,  tutaj  linki:  
   
  http://forum.c64power.com/index.php?id=1901&fid=1
   
  ale  teraz  elysium  coś  nie  ten  teges  (rejestrować  się  trzeba,  czy  jak??)  
   
  W  każdym  bądź  razie  mam  te  pozycje  i  jak  będziesz  chciał  to  je  udostępnię  na  moment  do  zerżnięcia.
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: uka w 27 Maja 2010, 23:59
 @Suchy,  wystarczy  wpisać  w  pola  magiczne  słowo  \'elysium\'  :)
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: suchy w 28 Maja 2010, 11:01
 @uka,  dzięki,  fakt  -  nie  doczytałem  do  końca,  to  co  trzeba!    
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Kisiel w 28 Maja 2010, 20:37
 dokładnie  to  dzięki  reiterowi  i  filetom  jest  mirror  elysium.  Polecam  więc  i  filety.
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Reiter w 02 Czerwca 2010, 22:54
 Wszystko  działa,  Suchy,  trzeba  się  tylko  wlogować,  login  i  hasło  takie  samo,  czyli  \'elysium\'.  
  Sorry,  ale  musieliśmy  tak  zrobić,  bo  się  spam  boty  bardzo  interesowały  tą  stroną.
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 06 Czerwca 2010, 11:52
 A,  jeszcze  jedno  pytanie:  
  Gdzie  podziały  się  artykuły  z  c64  power,  które  nazywały  się  \'Kurs  BASICa  cz.,  i  odpowiednio  1,2,3,4\'?Bo  tam  jest  tylko  jeden  artykuł,  w  którym  nic  ciekawego  nie  pisze.
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Flooder w 06 Czerwca 2010, 12:24
 wszystkie  czesci  kursu  basica  sa  w  artykuly/programowanie  na  3  podstronie...  moze  sortowanie  ustawiles  i  masz  na  roznych  podstronach...  
   
  tutaj  masz  link:  http://c64power.com/index.php?option=com_content&view=category&id=40%3Aprogramowanie&Itemid=2&layout=default&limitstart=40
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Skull w 06 Czerwca 2010, 18:49
 teraz  to  nawet  można  poszukać  i  tu:  
   
  http://exbee.pl/emu64/menu.php?plik=news.php
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 07 Czerwca 2010, 17:39
 No,dobra,narazie  wiem  wiele,  tylko  zadam  jedno  pytanie,  nie  związane  z  tematem-  Dlaczego,  po  uruchomieniu  gry,  programu,  na  ekranie  pojawiają  się  jakieś  znaczki,  ramka  miga  itp.?
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: zyga w 07 Czerwca 2010, 19:18
 Żeby  było  wiadomo  że  komputer  coś  robi  :)  
   
  Program  depakujący  ładuje  różne  wartości  np.  do  komórki  $d020  (odpowiedzialnej  za  kolor  ramki)  i  to  jest  to  co  widzisz.    
   
  W  niektórych  pakerach  masz  możliwość  wyboru  \'efektów\'  przy  depacku.
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: Mikra_Lbn w 08 Czerwca 2010, 08:53
 W  przypadku  loaderów  LK  Avalon,  to  migająca  ramka  była  jedynym  objawem  potwierdzającym,  że  komputer  się  nie  zawiesił.  Bo  na  załadowanie  gry  czekało  się,  oj  czekało...  
   
  Znaczki  pojawiają  się  też  dlatego,  że  (o  ile  się  nie  mylę)  -  pamięć  ekranu  (zwykle  #1024-#2043)  była  wykorzystywana  przy  dekompresji.
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: suchy w 08 Czerwca 2010, 10:52
 ...  a  dlatego  ekranu,  że  komcio  tak  w  ogóle  nie  ma  tej  pamięci  za  wiele!
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: suchy w 08 Czerwca 2010, 10:55
 ...  i  gdzieś  te  procedury,  dekompresji  i  loaderów  trzeba  umieścić
Tytuł: Pytania, programowanie.
Wiadomość wysłana przez: kabel w 08 Czerwca 2010, 21:12
 a,to  już  rozumiem...