プチコンまとめWiki (初代/mkII)

Toukou/シェルピンスキーのギャスケット の変更点


#title(投稿プログラム : シェルピンスキーのギャスケット)
#contents
// ↑この2行は削除しないでください。
// ←このように「//」で始まる行はコメントです。ページ本文には反映されません。
//------------------------------------------------------------------------------
// ・投稿年月日は、このページを投稿しようとしている今日の日付を半角数字で入力してください。
//   この日付は、投稿プログラムを自動的に年月日順に並べる際に使用されます。
// ↓↓↓
2013年3月12日投稿
// ↑↑↑
//------------------------------------------------------------------------------
// ・投稿者名は、将来的に投稿プログラム一覧に表示するために使用します。
// ・「名無しさん」のままにしておくと、匿名の方からの投稿として扱われます。
// ↓↓↓
/ 投稿者 : J2
// ↑↑↑
//------------------------------------------------------------------------------
// ・適当にタグをつけることができます。半角のコンマ区切りで複数つけられます。
//   タグをつけると、同じタグが付いたページを検索することができます。
// ★次に該当するプログラムは、特定のタグを設定するようご協力お願いします。
//   これらを設定すると、将来的に投稿プログラム一覧に目立つマークが付くようになる予定です。
// ・短いプログラム → 「1行プログラム」「数行プログラム」「1画面プログラム」タグのいずれか1つ
// ・初代プチコンでも動作するプログラム → 「初代対応」タグ
// ・mkII 以降専用のプログラム → 「mkII専用」タグ
// ・QRコードを掲載している → 「QRコード」タグ
// ・該当するなら「ゲーム」「実用ツール」「音楽」タグのいずれか
// ↓↓↓
/ &tag(投稿プログラム,ちょっといじって見てるだけ,QRコード);
// ↑↑↑

//------------------------------------------------------------------------------
// ここに概要とか書きます。
// ・** や *** で始まる行は子見出しとなります。* の数で深さが決まります。
// ・[#英数字] はページ内リンクに使用されるアンカーですが、
//   書かなかったり、消したりしてもかまいません。ない場合はランダムな文字列が自動付与されます。

* 概要 [#x1d73956]
フラクタル画像 シェルピンスキーのギャスケット (三角形)を描画します。

** 操作方法 [#s5b7e4ed]
実行すると、左上に1ドットが点滅し始めますので、画面上の適当な位置に3箇所タッチしてください。~
タッチした3箇所を頂点とする三角形で描画しつづけます。~
ボタンでまたは十字キーで終了します。~

下画面にはデフォルトパレットで、上画面には色を最適化したパレットで表示します。
*** 描画アルゴリズム [#qe88e455]
指定された3点のいずれか 1箇所に1/2近づけ、点を打つことを繰り返す。
*** 色指定アルゴリズム [#o7cb2c1e]
+ 頂点の履歴5回分を保管する。(12行目 変数Cを参照)
+ 頂点となる3点に赤、緑、青 を割り当て、~
履歴の新しい側から順に最大輝度(255)の1/2,1/4,1/8,1/16,1/32をとり、累計する。
--(履歴が RGRRB であれば、~
R=128+0+32+16+0=176~
G=0+64+0+0+0=64~
B=0+0+0+0+8=8 となる。)
+ 履歴5回分は 3^5=243となり、パレットに収まる数なので、~
全数 色を計算してパレットに収める。
+ 乱数で頂点と色を決定したら、変数を3で割り、81倍(3^4)した値を加算する

** 学習型じゃんけんへの応用 [#v964e529]
履歴5回分を1次元配列に収められるため、~
学習内容の管理が容易になり、結果をファイル化しやすくなると思われます。~
(正直、5回分は多過ぎるとは思いますが)
/////////////////////////////////

* スクリーンショット・動画 [#j4027322]
// 動作しているところを撮影した写真や動画があれば貼り付けてください。

// ページを作成すると、画像の添付ができるようになります。(作成する前はできません)
// 作成後のページの右上、ウィキメニューにある「添付」から画像をアップロードできます。
// (添付ファイルはページごとに別個に管理されています。必ず作成後のページに添付してください)
// 画像をアップロードしたら、以下の書式でページ内に貼り付けられます。
#ref(SIELP.png,,100%)

// 以下の書式で、YouTube やニコニコ動画を貼り付けられます。
// #youtube(0HWX7kovgY8)
// #nicovideo(sm13684820)

/////////////////////////////////
// QR コードがない場合は、この部分は削除してください

* QR コード [#i23ca08e]
プチコンmkII 向けの QR コードです。

|&ref(J2_SIELP.png,,100%);|
// |>|>|~PRG:J2SIELP|
// |~1/3|~2/3|~3/3|
// |&ref(qr0.png,,200%);|&ref(qr1.png,,200%);|&ref(qr2.png,,200%);|

/////////////////////////////////

* プログラムリスト [#zb270ec0]
#basic{{
ACLS:CLEAR:PNLTYPE "OFF"
GPAGE 1,0,0:GPAGE 0,0,0
DIM TX(3),TY(3),C(3)
GOSUB @PALETSET
FOR I=0 TO 1
 IF TCHST-Z<1 GOTO @END_IF
  TX(P)=TCHX:TY(P)=TCHY
  P=(P+1)%3:GCLS
  PX=TX(0):PY=TY(0)
 @END_IF
 Z=TCHST
 R=RND(3):C=0OR C/3+R*81
 PX=(PX+TX(R))/2
 PY=(PY+TY(R))/2
 GPSET PX,PY,C+13
 I=BUTTON()
NEXT
END

@PALETSET
FOR I=0 TO 242
  R=0:G=0:B=0:K=I
  FOR J=0 TO 4
    C=K%3:K=0OR K/3
    R=R/2+(C%3==0)*128
    G=G/2+(C%3==1)*128
    B=B/2+(C%3==2)*128
  NEXT
  A$=HEX$(R,2)+HEX$(G,2)+HEX$(B,2)
  COLSET "GRP",I+13,A$
NEXT
RETURN
}}

/////////////////////////////////
// コメントを募集したくないなら、ここから下は削除してください

* CHECKER FLAG (ひとことコメント) [#vc766de4]
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は[[掲示板>Board]]へ)
- ''J2'' : スナップショットを投稿してみたけど、正直この画質はないわー。orz (&new{2013/03/12 (火) 01:06:55};)
- ''名無しさん'' : 昔のケータイのカメラで撮影したような画質w (&new{2013/03/12 (火) 01:13:41};)
- ''J2'' : DSi を DSiLLで撮ってみました (&new{2013/03/12 (火) 01:31:59};)
- ''名無しさん'' : 他にデジカメ等は無かったの? (&new{2013/03/12 (火) 02:35:50};)
- ''J2'' : いえ、発掘に失敗してまして。 次回は綺麗に撮ります。 (&new{2013/03/12 (火) 07:57:38};)
- ''シトリン'' : グラフィック面に描くんだから書きだして変換すればいいのに (&new{2013/03/12 (火) 18:01:41};)
- ''天郷思音'' : あ、2SC使う必要はないか。GRP→pngの変換はこれをどうぞhttp://nulll7.web.fc2.com/ptc2sdgrpv/ (&new{2013/03/12 (火) 18:33:55};)
- ''J2'' : 綺麗になりました。ありがとうございます! (&new{2013/03/12 (火) 19:49:29};) ※改竄があったため再修正
- ''名無しさん'' : これなら問題ないなw (&new{2013/03/12 (火) 20:03:51};)
- ''名無しさん'' : 強いじゃんけんプログラムを作って (&new{2013/03/12 (火) 21:20:34};)
- ''進'' : じゃんけんなんか運ゲー (&new{2013/03/13 (水) 16:25:51};)
- ''名無しさん'' : ちゃんとした思考ルーチンさえ作れれば運ゲーにはならないぞ (&new{2013/03/13 (水) 17:04:35};)
- ''.EXE'' : パターンをプチコンに覚えさせるとか? (&new{2013/03/13 (水) 17:29:40};)
- ''名無しさん'' : ゼ○ダ笑 (&new{2013/03/16 (土) 23:41:15};)
- ''名無しさん'' : なぜか緑色が出ないorz (&new{2013/03/23 (土) 21:16:02};)
- ''J2'' : プログラムを手打ちした結果、特に問題ありませんでした。本体の個体差でないことを祈ります。 (&new{2013/04/27 (土) 19:23:08};)

#comment

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.005 秒 | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30