zillionプロジェクト開発ブログ kurageru 忍者ブログ

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

c-wrapperとSDLと自作のL-systemライブラリを使ってドラゴン曲線を描いてみた.

(use klib.list)
(use klib.sdl)
(use klib.turtle)
(use klib.l-system)

(define-rule x->x 'x '(x + y f))
(define-rule y->x 'y '(f x - y))

(define gen (make <G> :init '(f x) :rules `(,x->x ,y->x)))

(define (dragon-curve n level)
  (convert (gen level)
           `(f . ,(lambda (x) (forward (/. n (expt 1.4 level)))))
           `(+ . ,(lambda (x) (turn 90)))               
           `(- . ,(lambda (x) (turn -90)))
           `(x . ,(lambda (x) (turn 0)))
           `(y . ,(lambda (x) (turn 0)))
           ))

(define (main args)
  (set-caption! "Dragon Curve")
  (turtle-main args
               (color (make <color> :r 0 :g 0))
               (move 300)
               (dragon-curve 250 13)
               ))
 

20120413-202043.png
 

拍手[7回]

PR

mainの部分はGaucheクックブックから拝借.
かなり適当.
#!/usr/bin/env gosh
 
(use util.list)
 
(define (count-char ht file)
  (with-input-from-file file
    (lambda ()
      (port-for-each
       (lambda (c)
         (hash-table-update! ht c (cut + 1 <>) 0))
       read-char)
      ))
  ht)
 
(define (main args)
  (for-each
   print   
   (sort (hash-table->alist
          (count-char (make-hash-table) (cadr args)))
         (lambda (x y)
           (> (cdr x) (cdr y)))))
  )
 

拍手[0回]

kurageru.png







ネットワークプログラミングを勉強し始めたので自分用メモ.

 
 

拍手[0回]

 kurageru.png
個人的なメモ

GAEの環境構築
 
 自分のプラットフォーム用のSDKをダウンロード
 
Google App Engine Helper for Djangoをダウンロード
 
 
 
 
後はHelperのREADMEを参照
適当に要約
 
新規プロジェクトの作成
・appengine_helper_for_djangoをプロジェクトフォルダにコピー
・app.yamlのapplication: ***** の部分を自分のアプリケーションIDに書き換える
・Windows、Macなら以下は無視
 SDKのシンボリックリンクをプロジェクトフォルダに作成
 ln -s /home/me/google_appengine /home/me/myproject/.google_appengine
・Djangoをダウンロード
 http://www.djangoproject.com/download/
・解凍し、zipにする
・プロジェクトフォルダへコピー
・manage.pyを実行
 python manage.py startapp myapp



拍手[0回]

 kurageru.png







どうも,クラゲルです.
今日は気づいたことのちょっとしたメモ.

メンバ関数内で宣言された静的変数は,インスタンスごとに生成されるのではなく
クラスで共有するらしい.
静的メンバ変数の関数内でしか使えないバージョンみたいな.


#include <iostream>
 
class A
{
public:
void Test(void);
};
 
 
void A::Test(void)
{
static i=0;
std::cout << i++ << std::endl;
}
 
int main()
{
A a,b,c;
 
a.Test();
b.Test();
c.Test();
a.Test();
return 0;
}


結果

0
1
2
3


おー,ちゃんとクラスで共有されてる.
C言語の時みたいに使うには静的変数をメンバ変数にするしかないみたい.

拍手[0回]

◎ カウンター
◎ カレンダー
08 2017/09 10
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
◎ 最新CM
[10/24 名無しの権兵衛]
[08/30 名無しの権兵衛]
[08/14 no name no future]
[08/05 ゲームサークルEaSt]
[07/28 リオウ]
◎ プロフィール
HN:
kyasbal
年齢:
22
性別:
男性
誕生日:
1994/09/22
職業:
人間
趣味:
趣味ねぇ~~う~ん・・・
◎ ブログ内検索
◎ バーコード
◎ アクセス解析
◎ フリーエリア
◎ フリーエリア
Script: Ninja Blog 
Design by: タイムカプセル
忍者ブログ 
[PR]