WPF

Python.use(better); Python 弾丸ツアー #DP

|OOP|デザインパターン|リファクタリング|Python.use(better) Python 弾丸ツアー #DP《デザインパターン篇》 《Python3.1|Jython2.5|IronPython2.6》《著》小粒ちゃん@博多組, 小粒ちゃん@湘南組《監修》小泉ひよ子とタマゴ倶楽部第0版♪2001/03/02 ● …

Python.use(better); Python 弾丸ツアー

|OOP|デザインパターン|リファクタリング|Python.use(better) Python 弾丸ツアー 《Python3.1|Jython2.5|IronPython2.6》《著》小粒ちゃん@博多組, 小粒ちゃん@湘南組《監修》小泉ひよ子とタマゴ倶楽部第0版♪2001/03/02 ● 第1版♪2003/05/23 ● 第4版…

《付録》exColorSlider.py

# -*- coding: utf-8 -*- #=============================================================================== # Copyright (C) 2000-2008, 小泉ひよ子とタマゴ倶楽部 # # History: WPF examples # 2008/01/25, IronPython 1.1.1 (download) # 2008/08/22, …

《付録》exColorSlider.xaml

第0章 データバインディング 1/1《IronPython2.6》

|記事一覧|第1章|第2章|第3章|第4章|第5章|第6章|第7章|余録A|余録B|余録C|C#.use(better, IronPython=”WPF”) データバインディング 《著》本間りす《監修》小泉ひよ子とタマゴ倶楽部 ■ 関連記事 INDEX〈Python〉 INDEX〈WPF〉 2008-07-08 第0章…

《付録》exListView.py

# -*- coding: utf-8 -*- #=============================================================================== # Copyright (C) 2000-2008, 小泉ひよ子とタマゴ倶楽部 # # History: WPF examples # 2008/01/25, IronPython 1.1.1 (download) # 2008/08/22, …

《付録》exListView.xaml

第2章 ListView 1/1《IronPython2.6》

|記事一覧|第1章|第2章|第3章|第4章|第5章|第6章|第7章|余録A|余録B|余録C|C#.use(better, IronPython=”WPF”) ListView 《著》本間りす《監修》小泉ひよ子とタマゴ倶楽部 ■ 関連記事 INDEX〈Python〉 INDEX〈WPF〉 2008-07-08 第0章 データバイ…

第7章 オセロゲーム(trinity/hexagon)8/24, IronPython

‖記事一覧‖ C#.use(better, IronPython=”WPF”)IronPython で学ぶ WPF プログラミングの世界 《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部第3版♪2008/04/28《 前の記事|次の記事 》関連記事 等方向に隣接するオブジェクト群を検出する ゲーム版に生息…

《付録》HoneyComb3.py

# -*- coding: utf-8 -*- #=============================================================================== # Copyright (C) 2000-2008, 小泉ひよ子とタマゴ倶楽部 # # Change History: WPF examples # 2008/01/25, IronPython 1.1.1 (download) # 2008/…

第7章 オセロゲーム(trinity/hexagon)7/24, IronPython

‖記事一覧‖ C#.use(better, IronPython=”WPF”)IronPython で学ぶ WPF プログラミングの世界 《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部第3版♪2008/04/28《 前の記事|次の記事 》関連記事 テストケース3:等方向のオブジェクト群 テストケースを起…

《付録》exHoneyComb3.py

# -*- coding: utf-8 -*- #=============================================================================== # Copyright (C) 2000-2008, 小泉ひよ子とタマゴ倶楽部 # # Change History: WPF examples # 2008/01/25, IronPython 1.1.1 (download) # 2008/…

状況設定

ここでは、switch 文が抱えるハードコーディングの問題点を解消するために、既存のモジュール 《付録》TetrisCenter.py - 続・ひよ子のきもち を閉じます。 そして、開放閉鎖原則〔OCL: Open-Closed Principle〕に沿って、このモジュールを(閉じたまま Clos…

リファクタリングを実践する:開放閉鎖原則

switch 文に象徴されるハードコーディングの問題点は、要求仕様の変更に伴って、コードの改変を余儀なくされることです。そのため、いつまでもそのモジュールを閉じることができません。そこで、この問題点を解消するとともに、開放閉鎖原則に沿って、モジュ…

リファクタリング:switch 文の隘路

switch 文が抱えるハードコーディングの問題点を回避するとともに、動的スキーマを適用して、実行時にオブジェクトの動作を規定する方法を紹介します。すでに、矢印キーを使って、テトリミノの回転/シフトができます。これに加えて、space キーを押すと、テ…

状況設定

《こちらに移動中です》2008-11-30

C#.use(better, IronPython=”WPF”) 《記事一覧》 アプリケーションギャラリー 《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部 一覧 ここで紹介するプログラムは、ちょうど20年前(1988年)に Smalltalk-80 で作成したものを、Swing/Jython 版を経て、今…

リファクタリング:Python におけるクロージャーの隘路

Python では、メソッド関数を使って(いくつかの制約はあるものの)クロージャーを記述できます。そこで、Smalltalk 版には及ばないものの、汎用性を損なわず簡潔な表現が可能となるように、Python 版でのリファクタリングを実践します。これを機に、リファ…

WPF に対する非依存性を促進する

たとえば、Windows Form で作成した既存のアプリケーションを、新たに WPF アプリケーションとして再構築するときに「再利用可能なモジュールだけが整理整頓されていたら」どんなに楽でしょうか。私たち「タマゴ倶楽部」のモットーにも「楽をするための努力…

リファクタリング:内包の隘路

(遅まきながら)Python 3 では list 以外(たとえば dict)にも、内包表現ができるようになりました。しかし、Smalltalk のような汎用的な記述はできず、VDM++ が期待しているプログラミング言語仕様と比べても、Python 3 ではまだそのギャップを埋めるには…

テストケース4:テトリミノの落下

テストケースを俯瞰する(4)

第7章 ライフゲーム(amorphous/torus surface)6/15, IronPython

‖記事一覧‖ C#.use(better, IronPython=”WPF”)IronPython で学ぶ WPF プログラミングの世界 《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部第3版♪2008/04/28《 前の記事|次の記事 》関連記事 指針:モデルの再利用 既存のモジュール(Swing/Jython 版…

再びアニメーションの原理

第0章(第4章)でも述べたように、目の錯覚を利用して、物が動いているように見せる技法を応用したのが「アニメーション」でした。テストケースでは、実際に図形オブジェクトを移動(座標値を再設定)させましたが、これは必須ではありません。 その代わり…

《付録》HoneyComb2.py

# -*- coding: utf-8 -*- #=============================================================================== # Copyright (C) 2000-2008, 小泉ひよ子とタマゴ倶楽部 # # Change History: WPF examples # 2008/01/25, IronPython 1.1.1 (download) # 2008/…

第7章 オセロゲーム(trinity/hexagon)6/24, IronPython

‖記事一覧‖ C#.use(better, IronPython=”WPF”)IronPython で学ぶ WPF プログラミングの世界 《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部第3版♪2008/04/28《 前の記事|次の記事 》関連記事 隣接するオブジェクト群を管理する ゲーム盤を構成する各セ…

テストケース3:テトリミノの動きの制約

テストケースを起動すると、ウィンドウが開きます。テトリミノを左右にシフト/回転させて、境界に達すると、内側に押し戻されます。 シフト テトリミノが「左」の境界に達すると、その先には移動できません。 テトリミノは境界内を自由に移動できます。 テト…

テストケースを俯瞰する(3)

既存のアプリケーションに組み込む前に、それとは独立した環境下のテストケースで、新規のモジュールの動作を確認します。 既存のモジュール hexagon.py を再利用しながら、新たなモジュールの動作を検証するために、テストケースを作成します。

テストケースを記述する(3)

(Jython で作成した)既存のモジュール hexagon.py を再利用しながら、新たなモジュールの動作を検証するために、テストケースを作成します。 class ExWindow(Window): def init(self): target = "tabControl", "button", self._Controls(target) self.item…

テトリミノの盤面を構成する

class Tray: def _tiles(self): ... s = {} for x, y in [(e*m1+2, 0) for e in range(5)]: for _ in range(3): s[x, y] = Tile(x, y); y += m2 for x, y in [(e*m1+3, 2) for e in range(4)]: for _ in range(2): s[x, y] = Tile(x, y); y += m2 return s d…