Entries from 2008-10-01 to 1 month

最中限オンライン自動対戦ボット

ついにできた!!なんか嬉しい。 # -*- encoding: utf-8 -*- import mechanize import re from saichugenlib import * # 履歴の読み取り用 def str2num(str): a = ['c', 'd', 'h', 's'] return (int(str[1:]) - 1) * 4 + a.index(str[0]) # ブラウザ設定 br …

今さら知った

NSLogって標準エラー出力だったんだ!?

オンラインに攻める

なんとかオンラインでできるように、とmechanizeを入れて色々とチャレンジ。 うーん、こんなんでいいのかな…よくわからない >< とりあえずゲーム始められるところまではたどり着いているけど。 pythonで頑張る必要はあるのかな?perlのMechanizeも使ったこ…

バラつきをなくす、各ラウンドの最終ターンで最善の手を考える

同じカードが固まっていると選択肢が狭まり、最善を考えようにもどうしようもなくなるときもある。 ということで最善の手を考えないときでも、まったくのramdomではなく複数枚持っているカードから優先的に出すように変更。 # 偏っているカードから出してい…

最中限・最後の一手に最前を尽くすだけでどれだけ勝てるようになるか

5ラウンド目の3ターン目、つまり最後に残り3枚から選択する場面で最善の一手を選ぶ方法を考えてみた。 ・自分が3枚のうちから1枚を選ぶとする →自分が得点するか、自分以外(RandomAI1 or RandomAI2)が得点する。すべてのパターンを洗い出す。 →すべての…

最中限AIその2

ちょいちょい書き直してみた。 どうしても分岐が多くなって見にくくなる。。。 なんとなく自分が勝負するときに考えてることを実現させようとは思ってるんだけど、なんとも難しい。 # -*- encoding: utf-8 -*- from saichugen import Player from saichugenl…

最中限にハマった

id:nishiohirokazuさんの作った最中限オンライン。 http://saichugen-online.appspot.com/ これが面白くてついついハマってしまいまして。 参考:http://d.hatena.ne.jp/nishiohirokazu/searchdiary?word=%2a%5b%BA%C7%C3%E6%B8%C2%5d 現在29戦で9得点、まだ…

PerlでTwitterとWassr

とりあえず投稿もできるようになったので、ある程度使い物になりそうな気がする #!/usr/bin/perl use strict; use warnings; use Encode; use Getopt::Std; use HTTP::Date; # Net::Wassrは以下から取得 # http://svn.coderepos.org/share/lang/perl/Net-Was…

WassrとTwitter両方のヒトコトを取得する

ガーっと書いてみた。 #!/usr/bin/perl use strict; use warnings; use HTTP::Date; use Encode; # Net::Wassrを使用する use Net::Wassr; # Net::Twitterを使用する use Net::Twitter; # ハッシュデータのキー名 my $name = 'name'; my $time = 'time'; my …

Twitter API タイムスタンプ一時対処法

Twitter APIで取得するタイムスタンプ - すぎゃーんメモ続き。 Thu Oct 23 12:47:56 +0000 2008 と返ってくる限りは、 use HTTP::Date; my $date = 'Thu Oct 23 12:47:56 +0000 2008'; $date =~ s/\+0000/UTC/; print scalar(localtime(str2time($date))), "…

Subversionのファイル名は大文字/小文字が区別されない!?

Windowsにも対応できるように、ってことかな。 普通に大文字/小文字が違うと別ファイルだと思ってリネームしたら挙動がおかしくてビックリした。 以後気をつけよう。

Twitter APIで取得するタイムスタンプ

Twitter APIで返ってくる日付・時刻の形式はRFC2822? http://apiwiki.twitter.com/REST+API+Documentationには明記されていないみたい。あんまりマトモに読んでないけど。 [観] Twitter API 仕様書 (勝手に日本語訳シリーズ)によれば、 JSON 形式で応答を受…

言語環境の優先順位

Mac

昨日のiPhoneアプリにおけるローカライズの挙動が謎 - すぎゃーんメモについて。 どうやら勘違いだったらしく、iPhoneの場合もMac OS Xの場合と同じように言語環境の優先順位が変わるようだ。 ただし、「英語は3番目以下に並ぶことはない」という仕様が入っ…

Wassrタイムラインをコマンドラインから覗く

Wassrを堂々とブラウザで開くのも何だか気が引けるので。 #!/usr/bin/perl use strict; use warnings; use Net::Wassr; use Encode; # ユーザー情報の入力 # 例: # username=hogefugapiyo # password=******** my %conf; for (<>) { $conf{$1} = $2 if $_ =…

iPhoneアプリにおけるローカライズの挙動が謎

Mac

Cocoaアプリ/iPhoneアプリに共通して、NSLocalizedStringによる文字列のローカライズが可能になっている。 方法はだいたい以下の通り。 使用したい文字列をNSLocalizedString関数で呼び出すようにする。 NSLog(NSLocalizedString(@"helloworld", nil)); →1つ…

ことえりの小文字

Mac

今までずっと小文字の入力に「L+[aiueo]」を使ってきたので、 Macでたまに小文字を使おうとするとどうしても「らりるれろ」になってしまう。 「X+[aiueo]」に慣れるしかないのだろうか?「L+[aiueo]」でも小文字が入力できるように設定を変えられないのか? …

なんとなく唐突にPythonに触ってみた

こんなカンジでいいのかな。 #!/usr/bin/python a = [2] for i in range(3, 10000): flg = True for j in a: if (i % j) == 0: flg = False break if (flg): a.append(i) for i in a: print i

ファイル名の一括変更

$ ls hoge1.txt fuga1.txt piyo1.txtというファイル群に対し、ファイル名に含まれる番号だけを変えて $ ls hoge2.txt fuga2.txt piyo2.txtとなるようにしたくて、調べてた。 最初は、 $ for a in `ls *1*`; do mv $a `echo $a | sed "s/1/2/"`; doneというの…

hexdumpでASCII文字も同時に表示

hexdumpに'-C'オプションを付けると同時にASCII文字も表示できる $hexdump -C hoge.c 00000000 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e |#include <stdio.| 00000010 68 3e 0a 0a 69 6e 74 20 6d 61 69 6e 28 69 6e 74 |h>..int main(int| 00000020 20 61 72 67 63 2c 20 63 68 61 72 20 2a 61 72 67 | argc, char *arg| </stdio.|>…

Emacsのsubshellとターミナルのbash

ターミナルを開いたときは".profile"は読まれるけど".bashrc"は読まれないみたい。 Emacsのsubshellでは、".bashrc"は読まれるけど".profile"は読まれないみたい。 どちらかだけに環境変数の設定とかを書いているとターミナルとEmacs subshellで整合性がとれ…

Subversionのupdate

MacBookに標準で入っているSubversionが1.4.4とかで1.5系じゃなかったので、アップデートしようと思って $ sudo port install subversionってやるとなんか色々とエラーが出て失敗する。 dependenciesなんちゃらとかメッセージが出ていたので、そこに書いてあ…

目指せマカー

新しいのが出たおかげで安くなった、旧型MacBookをそこそこの値段で買った。 MacBook 買った後にやったことまとめ - IT戦記 というわけでマカーになりました - 西尾泰和のはてなダイアリー MacBookAirを買ったあとにやったことまとめ - 帰ってきたHolyGrail…

ついでにjava-ja飲み会にも参加しちゃったよ!

「『俺、java-ja』と思ったらjava-jaだよ」という言葉を本気で信じ、java-ja飲み会に混ざってみた。 知らないヒトだらけだったけど、自分なりに頑張って色んなヒトと話をしてみた >< 毎度おなじみのキャビアも出てきたよ! とりあえず、モンハン仲間になっ…

JJUG Cross Community Conferenceに参加してみたよ!

Javaを触り始めて1年半、業務でJavaを書いたことも無い素人の自分が、id:higayasuoさんの 華のあるイベントやりまーす - yvsu pron. yasがあまりに面白そうだったので行ってみた。 日本Javaユーザーグループ それとなく感想を書き殴ってみる。適当でスミマセ…

StringBuilderの初期化 続き

StringBuilderの初期化 - すぎゃーんメモについて、id:todogzmさんコメントありがとうございました。 AbstractStringクラスというのはググっても見当たらないですが、とにかくchar[]を内部で持っているものだと解釈していいんですかね? 新しいインスタンス…

StringBuilderの初期化

StringBuilderを使いまわすために一度中身を空文字列に変えたい、というとき StringBuilder sb = new StringBuilder(); という毎回新しいインスタンスを作成する方法、 sb.delete(0, sb.length() - 1); という同じインスタンスの中で中身を全削除する方法、 …

「伝説の焼肉」

「エンジニアの未来サミット」に参加し、 Wassrというサービスがあることを知り登録し、 ひがやすを飲み会で話せなかったid:hyoshiokさんをフォローし、 「今夜は飲みに行けるよ!」ボタンに興味を持ち、 ついにチャンスが訪れたので有楽町に突撃してみた。 …

JavaでRSSフィードを取得する

import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Iterator; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.com…

がびーん

そうか。自分がやりたかったのは ・はてブのホッテントリ一覧を取得 ・あるURLに対し、ブクマしているユーザーの一覧を取得 ・あるユーザーのブクマ一覧を取得 といったところだったんだけど、これってAtomAPIでWSSE認証通す必要なくて、RSSで配信されている…

Jakartaさん、お世話になります

org.apache.commons.codec.binary.Base64 Base64のエンコーディングをするときに使う。 org.apache.commons.lang.time.DateFormatUtils ISO-8601の形式で日付・時刻を表したいときに使う。 eclipseでライブラリを追加する場合はプロジェクトのプロパティから…