MSX BASIC에서 유파를 구현해보십시오.
소개
 @Nemesis씨의 쓰여진 기사 『Java로 유파를 구현해 봅니다.』에 감명을 받아, 평상시 사용하고 있는 MSX BASIC에도 유파파를 실장해 보려고 했습니다.
 실행 화면
 
이런 느낌입니다.
 코드
YUBABA.BAS10 PRINTCHR$(153)CHR$(146)CHR$(244)CHR$(152)CHR$(156)CHR$(142)CHR$(224)"゙"CHR$(246)"。"CHR$(159)CHR$(154)CHR$(230)CHR$(229)CHR$(239)CHR$(148)CHR$(134)CHR$(150)CHR$(151)CHR$(229)"。"
20 OPEN"CON"FORINPUTAS#1:INPUT#1,N$:CLOSE#1
30 PRINT"フーン。「"N$"」"CHR$(228)CHR$(146)CHR$(147)CHR$(233)CHR$(150)CHR$(146)"。"CHR$(158)"゙"CHR$(146)CHR$(224)CHR$(152)CHR$(229)CHR$(229)CHR$(224)"゙"CHR$(232)"。"
40 A=RND(-TIME):NN$=MID$(N$,LEN(N$)-INT(LEN(N$)*RND(1)),1)
50 PRINTCHR$(146)CHR$(239)CHR$(150)CHR$(247)CHR$(149)CHR$(239)CHR$(148)CHR$(233)CHR$(229)CHR$(234)"「"NN$"」"CHR$(224)"゙。"CHR$(146)CHR$(146)CHR$(150)CHR$(146)"、「"NN$"」"CHR$(224)"゙"CHR$(246)"。"
60 PRINTCHR$(252)CHR$(150)CHR$(143)CHR$(224)CHR$(247)CHR$(237)CHR$(253)CHR$(156)"゙"CHR$(134)CHR$(157)CHR$(249)CHR$(253)CHR$(224)"゙、「"NN$"」!!"
70 END
MSX의 히라가나는 BASIC 프로그램중의 문자열에 직접 쓸 수 있습니다만, 문자 코드가 특수로 그대로 Qiita의 기사에 리스트를 게재하는 것은 곤란하기 때문에, 굳이 조금 번거로운 기술을 실시하고 있습니다.
 궁리한 곳
이름 입력에서 INPUT 명령을
INPUT "けいやくしょた゛よ。そこになまえをかきな。";N$
같이 사용하면 런타임에
けいやくしょた゛よ。そこになまえをかきな。? ■
처럼 마누케인 퀘스천 마크가 표시되어 버립니다. 이번에는 명령문 파일로 "CON"을 열고 거기에서 INPUT하여 그것을 피하고 있습니다. 또한 MSX BASIC에서 문자열 N\$에서 임의로 한 문자를 선택한다고 가정하면
NN$=MID$(N$,INT(LEN(N$)*RND(1))+1,1)
라든가 쓰는 것 같은 생각이 듭니다만, 이것으로는 N\$ 에 하늘의 이름을 입력했을 경우에 NN\$ 에는 빈 캐릭터 라인이 대입되는 것만으로 할머니가 크래시 해 주지 않습니다 . 따라서 일 비틀고 있습니다. 덕분에
 
유파의 충돌도 재현할 수 있었습니다.
 결론
끝입니다.
 그러고 보니 MSX2+ 이후에는 한자 BASIC이라는 것을 사용할 수 있다는 것을 상기했기 때문에 추기
K-YUBABA.BAS10 PRINT"契約書だよ。そこに名前を書きな。"
20 OPEN"CON"FORINPUTAS#1:INPUT#1,N$:CLOSE#1
30 PRINT"フーン。"N$"というのかい。贅沢な名だね。"
40 A=RND(-TIME):CALLKLEN(NL,N$):CALLKMID(NN$,N$,NL-INT(NL*RND(1)),1)
50 PRINT"今からお前の名は"NN$"だ。いいかい、"NN$"だよ。分かったら返事をするんだ、"NN$"!!"
60 END
  
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(MSX BASIC에서 유파를 구현해보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/fujitanozomu/items/4891b168121a86d11128
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            

이런 느낌입니다.
코드
YUBABA.BAS10 PRINTCHR$(153)CHR$(146)CHR$(244)CHR$(152)CHR$(156)CHR$(142)CHR$(224)"゙"CHR$(246)"。"CHR$(159)CHR$(154)CHR$(230)CHR$(229)CHR$(239)CHR$(148)CHR$(134)CHR$(150)CHR$(151)CHR$(229)"。"
20 OPEN"CON"FORINPUTAS#1:INPUT#1,N$:CLOSE#1
30 PRINT"フーン。「"N$"」"CHR$(228)CHR$(146)CHR$(147)CHR$(233)CHR$(150)CHR$(146)"。"CHR$(158)"゙"CHR$(146)CHR$(224)CHR$(152)CHR$(229)CHR$(229)CHR$(224)"゙"CHR$(232)"。"
40 A=RND(-TIME):NN$=MID$(N$,LEN(N$)-INT(LEN(N$)*RND(1)),1)
50 PRINTCHR$(146)CHR$(239)CHR$(150)CHR$(247)CHR$(149)CHR$(239)CHR$(148)CHR$(233)CHR$(229)CHR$(234)"「"NN$"」"CHR$(224)"゙。"CHR$(146)CHR$(146)CHR$(150)CHR$(146)"、「"NN$"」"CHR$(224)"゙"CHR$(246)"。"
60 PRINTCHR$(252)CHR$(150)CHR$(143)CHR$(224)CHR$(247)CHR$(237)CHR$(253)CHR$(156)"゙"CHR$(134)CHR$(157)CHR$(249)CHR$(253)CHR$(224)"゙、「"NN$"」!!"
70 END
MSX의 히라가나는 BASIC 프로그램중의 문자열에 직접 쓸 수 있습니다만, 문자 코드가 특수로 그대로 Qiita의 기사에 리스트를 게재하는 것은 곤란하기 때문에, 굳이 조금 번거로운 기술을 실시하고 있습니다.
 궁리한 곳
이름 입력에서 INPUT 명령을
INPUT "けいやくしょた゛よ。そこになまえをかきな。";N$
같이 사용하면 런타임에
けいやくしょた゛よ。そこになまえをかきな。? ■
처럼 마누케인 퀘스천 마크가 표시되어 버립니다. 이번에는 명령문 파일로 "CON"을 열고 거기에서 INPUT하여 그것을 피하고 있습니다. 또한 MSX BASIC에서 문자열 N\$에서 임의로 한 문자를 선택한다고 가정하면
NN$=MID$(N$,INT(LEN(N$)*RND(1))+1,1)
라든가 쓰는 것 같은 생각이 듭니다만, 이것으로는 N\$ 에 하늘의 이름을 입력했을 경우에 NN\$ 에는 빈 캐릭터 라인이 대입되는 것만으로 할머니가 크래시 해 주지 않습니다 . 따라서 일 비틀고 있습니다. 덕분에
 
유파의 충돌도 재현할 수 있었습니다.
 결론
끝입니다.
 그러고 보니 MSX2+ 이후에는 한자 BASIC이라는 것을 사용할 수 있다는 것을 상기했기 때문에 추기
K-YUBABA.BAS10 PRINT"契約書だよ。そこに名前を書きな。"
20 OPEN"CON"FORINPUTAS#1:INPUT#1,N$:CLOSE#1
30 PRINT"フーン。"N$"というのかい。贅沢な名だね。"
40 A=RND(-TIME):CALLKLEN(NL,N$):CALLKMID(NN$,N$,NL-INT(NL*RND(1)),1)
50 PRINT"今からお前の名は"NN$"だ。いいかい、"NN$"だよ。分かったら返事をするんだ、"NN$"!!"
60 END
  
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(MSX BASIC에서 유파를 구현해보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/fujitanozomu/items/4891b168121a86d11128
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
10 PRINTCHR$(153)CHR$(146)CHR$(244)CHR$(152)CHR$(156)CHR$(142)CHR$(224)"゙"CHR$(246)"。"CHR$(159)CHR$(154)CHR$(230)CHR$(229)CHR$(239)CHR$(148)CHR$(134)CHR$(150)CHR$(151)CHR$(229)"。"
20 OPEN"CON"FORINPUTAS#1:INPUT#1,N$:CLOSE#1
30 PRINT"フーン。「"N$"」"CHR$(228)CHR$(146)CHR$(147)CHR$(233)CHR$(150)CHR$(146)"。"CHR$(158)"゙"CHR$(146)CHR$(224)CHR$(152)CHR$(229)CHR$(229)CHR$(224)"゙"CHR$(232)"。"
40 A=RND(-TIME):NN$=MID$(N$,LEN(N$)-INT(LEN(N$)*RND(1)),1)
50 PRINTCHR$(146)CHR$(239)CHR$(150)CHR$(247)CHR$(149)CHR$(239)CHR$(148)CHR$(233)CHR$(229)CHR$(234)"「"NN$"」"CHR$(224)"゙。"CHR$(146)CHR$(146)CHR$(150)CHR$(146)"、「"NN$"」"CHR$(224)"゙"CHR$(246)"。"
60 PRINTCHR$(252)CHR$(150)CHR$(143)CHR$(224)CHR$(247)CHR$(237)CHR$(253)CHR$(156)"゙"CHR$(134)CHR$(157)CHR$(249)CHR$(253)CHR$(224)"゙、「"NN$"」!!"
70 END
이름 입력에서 INPUT 명령을
INPUT "けいやくしょた゛よ。そこになまえをかきな。";N$
같이 사용하면 런타임에
けいやくしょた゛よ。そこになまえをかきな。? ■
처럼 마누케인 퀘스천 마크가 표시되어 버립니다. 이번에는 명령문 파일로 "CON"을 열고 거기에서 INPUT하여 그것을 피하고 있습니다. 또한 MSX BASIC에서 문자열 N\$에서 임의로 한 문자를 선택한다고 가정하면
NN$=MID$(N$,INT(LEN(N$)*RND(1))+1,1)
라든가 쓰는 것 같은 생각이 듭니다만, 이것으로는 N\$ 에 하늘의 이름을 입력했을 경우에 NN\$ 에는 빈 캐릭터 라인이 대입되는 것만으로 할머니가 크래시 해 주지 않습니다 . 따라서 일 비틀고 있습니다. 덕분에

유파의 충돌도 재현할 수 있었습니다.
결론
끝입니다.
 그러고 보니 MSX2+ 이후에는 한자 BASIC이라는 것을 사용할 수 있다는 것을 상기했기 때문에 추기
K-YUBABA.BAS10 PRINT"契約書だよ。そこに名前を書きな。"
20 OPEN"CON"FORINPUTAS#1:INPUT#1,N$:CLOSE#1
30 PRINT"フーン。"N$"というのかい。贅沢な名だね。"
40 A=RND(-TIME):CALLKLEN(NL,N$):CALLKMID(NN$,N$,NL-INT(NL*RND(1)),1)
50 PRINT"今からお前の名は"NN$"だ。いいかい、"NN$"だよ。分かったら返事をするんだ、"NN$"!!"
60 END
  
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(MSX BASIC에서 유파를 구현해보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/fujitanozomu/items/4891b168121a86d11128
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
K-YUBABA.BAS
10 PRINT"契約書だよ。そこに名前を書きな。"
20 OPEN"CON"FORINPUTAS#1:INPUT#1,N$:CLOSE#1
30 PRINT"フーン。"N$"というのかい。贅沢な名だね。"
40 A=RND(-TIME):CALLKLEN(NL,N$):CALLKMID(NN$,N$,NL-INT(NL*RND(1)),1)
50 PRINT"今からお前の名は"NN$"だ。いいかい、"NN$"だよ。分かったら返事をするんだ、"NN$"!!"
60 END
 
                Reference
이 문제에 관하여(MSX BASIC에서 유파를 구현해보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fujitanozomu/items/4891b168121a86d11128텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)