開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
Head First C#―頭とからだで覚えるC#の基本 (Andrew Stellman (著)、Jennifer Green (著)、佐藤 嘉一 (監修)、木下 哲也 (翻訳)、オライリージャパン)の2章(オブジェクト指向になる!: わかりやすいコードにする)、エクササイズ(p.117)をDartで考えてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
エクササイズ(p.117)
コード
sample.dart
import 'dart:html'; void main() { update(); b0.onClick.listen((MouseEvent event){ if (bank >= 1000) { bank -= joe.receiveCash(1000); update(); } else { window.alert('銀行にお金がありません。'); } }); b1.onClick.listen((MouseEvent event){ bank += bob.giveCash(500); update(); }); joe2bob.onClick.listen((MouseEvent event){ bob.receiveCash(joe.giveCash(1000)); update(); }); bob2joe.onClick.listen((MouseEvent event){ joe.receiveCash(bob.giveCash(500)); update(); }); } LIElement li_joe = querySelector('#joe_cash'); LIElement li_bob = querySelector('#bob_cash'); LIElement li_bank = querySelector('#bank'); ParagraphElement msg_joe = querySelector('#msg_joe'); ParagraphElement msg_bob = querySelector('#msg_bob'); ButtonElement b0 = querySelector('#b0'); ButtonElement b1 = querySelector('#b1'); ButtonElement joe2bob = querySelector('#joe2bob'); ButtonElement bob2joe = querySelector('#bob2joe'); Guy joe = new Guy('Joe', 5000); Guy bob = new Guy('Bob', 10000); int bank = 10000; void update() { li_joe.text = '${joe.name}の所持金は${joe.cash}円'; li_bob.text = '${bob.name}の所持金は${bob.cash}円'; li_bank.text = '銀行の所持金は$bank円'; } class Guy { String name; int cash; Guy(this.name, this.cash); int giveCash(int amount) { if (amount <= cash && amount > 0) { cash -= amount; return amount; } window.alert('「私はもう$amount円もお金がありません。」と$nameが言った…'); return 0; } int receiveCash(int amount) { if (amount > 0) { cash += amount; return amount; } window.alert('「$amount円では足りません」と$nameが言った…'); return 0; } }
0 コメント:
コメントを投稿