Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2021/07/17 23:55:29

MixJuice GET URL : kidspod.club/mj/2076

Ichigoサイコロ

サイコロの目を*で表示する、簡単なIchigoJamBASICプログラムです(・は空白で実際には表示されないところ)。
 ・・・  *・・  *・・  *・*  *・*  *・* 
 ・*・  ・・・  ・*・  ・・・  ・*・  *・* 
 ・・・  ・・*  ・・*  *・*  *・*  *・* 
 1    2    3    4    5    6


プログラムの考え方は人それぞれ異なるので、書いたコードも違うことが多いでしょう。
そこで今回は、実行結果が同じでも、考え方が異なるプログラムをいくつか作ってみました(厳密にはちょっと違ったり、かなり強引なのもありますが・・・)。
プログラミング教室などでは、1つのプログラム例しか説明されなかったりすることも多いのです。
しかし、本来プログラムの考え方は、いろいろあるのだということを理解してもらえればと思います。
いろいろな考え方の中で、見やすかったり、あとで改良しやすかったり、バグしにくかったりする書き方を発見していくのだと思います。

おまけとして、「でっかいサイコロ」の改造プログラムを画像に貼りました。
他にもひらめきが来たら、チャレンジしてみてください。

  • 1
  • 2
  • 4
  • 5
  • 1
  • 2
  • 4
  • 5

SOURCE CODE

プログラム例1
10 LET R,RND(6)
20 LET R,R+1
30 IF R=1 ?"   ":?" * ":?
40 IF R=2 ?"*  ":?"   ":?"  *"
50 IF R=3 ?"*  ":?" * ":?"  *"
60 IF R=4 ?"* *":?"   ":?"* *"
70 IF R=5 ?"* *":?" * ":?"* *"
80 IF R=6 ?"* *":?"* *":?"* *"
90 PRINT R


プログラム例2
10 R=RND(6)
20 R=R+1
30 IF R>=2  ?"*"; ELSE ?" ";
35 ?" ";
40 IF R>=4  ?"*"  ELSE ?" "
50 IF R=6   ?"*"; ELSE ?" ";
60 IF R%2=1 ?"*"; ELSE ?" ";
70 IF R=6   ?"*"  ELSE ?" "
80 IF R>=4  ?"*"; ELSE ?" ";
85 ?" ";
90 IF R>=2  ?"* "  ELSE ?"  "
100 ? R


プログラム例3
10 S=ASC("*"):T=ASC(" ")
20 R=RND(6)+1
30 IF R>1 A=S ELSE A=T
40 IF R>3 B=S ELSE B=T
50 IF R=6 C=S ELSE C=T
60 IF R%2 D=S ELSE D=T
70 ? CHR$(A,T,B)
80 ? CHR$(C,D,C)
90 ? CHR$(B,T,A)
100 ? R


プログラム例4
10 S=#2A
20 R=RND(6)+1
30 LET A,S*(R>1)
40 LET B,S*(R>3)
50 LET C,S*(R=6)
60 LET D,S*(R%2)
70 ? CHR$(A,0,B)
80 ? CHR$(C,D,C)
90 ? CHR$(B,0,A)
100 ? R


プログラム例5
20 R=RND(6)+1
70 ? CHR$(#2A*(R>1),0,#2A*(R>3))
80 ? CHR$(#2A*(R=6),#2A*(R%2),#2A*(R=6))
90 ? CHR$(#2A*(R>3),0,#2A*(R>1))
100 ? R


プログラム例6
10 S=ASC("*")-32
20 R=RND(6)+1
30 X="***"
40 Y="***"
50 Z="***"
60 POKE X,S*(R>1)+32,32,S*(R>3)+32
70 POKE Y,S*(R=6)+32,S*(R%2)+32,S*(R=6)+32
80 POKE Z,S*(R>3)+32,32,S*(R>1)+32
90 ?STR$(X):?STR$(Y):?STR$(Z)
100 ?R

COMMENT

Kidspod運営チーム
Kidspod運営チーム2021/07/20 11:31:42

シンプルなサイコロプログラム……から、たくさんのプログラムのパターンを考えるとは、見事! おっしゃるとおり、作るものが同じでも色々な考え方ができるので、プログラムも様々ですよね。色んなパターンを考えてみるというのは、すごく勉強になると思います!