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.)
이런 느낌입니다.
코드
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.)
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.)
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.)