Skip to content

Instantly share code, notes, and snippets.

@puriketu99
puriketu99 / dominion_chapel_strategy.py
Created December 14, 2011 01:21
ドミニオン圧縮プレイをモンテカルロ法で分析 ref: http://qiita.com/items/1366
#coding: UTF-8
#ドミニオンの圧縮戦略で、5枚以上のカードの情報(銀、金、属州礼拝堂)を与えると、その状態から属州を5枚買うまでの平均ターン数を返すプログラム。
#適宜手動で実験してみてください。かなり理想化しているので、参考程度にどうぞ。
#下記のプログラムによれば、結論としては、「属州を買えるときは常に属州を買おう。そうでないときは、マナブースト(この場合は金)を買おう」となりそう。
#これは、圧縮戦略によらなそうな気もしているが、そこは自分でかんがえろ。
#chokudaiが解析的に解いた結果、G3枚買ってから、上記の戦略に移るのが正しいとのこと。
import random
moto = ['s','s','s','g','z']#sは銀貨、gは金貨、zは属州と礼拝堂
lib = moto[:]
@puriketu99
puriketu99 / rank.sql
Created December 15, 2011 13:20
SQLでレコードの値を縦に比較してランキングを動的に実装する ref: http://qiita.com/items/1382
SELECT P1.name,
P1.price,
(SELECT COUNT(P2.price)
FROM Products P2
WHERE P2.price > P1.price) + 1 AS rank
FROM Products P1
ORDER BY rank;
@puriketu99
puriketu99 / dominion_moat_defence.py
Created December 18, 2011 13:26
ドミニオン 堀の防御率 ref: http://qiita.com/items/1405
sum = 25.0
hit = 3.0
def kai(x):
if x == 0:
return 1
else:
return x * kai(x-1)
bunbo = kai(sum) / kai(sum-5)
@puriketu99
puriketu99 / dominion_moat_defence.py
Created December 18, 2011 13:29
ドミニオン 堀の防御率 ref: http://qiita.com/items/1406
sum = 25.0
hit = 3.0
def kai(x):
if x == 0:
return 1
else:
return x * kai(x-1)
bunbo = kai(sum) / kai(sum-5)
@puriketu99
puriketu99 / prime.scala
Created December 23, 2011 09:51
素数かどうかを判定する関数 ref: http://qiita.com/items/1436
def prime(x:Int) = (2 to math.sqrt(x).toInt).toList.filter(a => x % a == 0).length == 0 && x != 1
@puriketu99
puriketu99 / adbkm_remove_add.js
Created January 2, 2012 11:15
アダルト動画ブックマークの動画上の広告を削除するブックマークレット ref: http://qiita.com/items/1526
javascript:(function(d){var ad = d.getElementById('adlyr'); ad.parentNode.removeChild(ad)})(document)
@puriketu99
puriketu99 / get_timeline.js
Created February 7, 2012 06:40
twitterの@anywhereによるタイムライン取得について ref: http://qiita.com/items/2036
var get_timeline = function(screenName) {
twttr.anywhere(function(a){a.User.find(screenName, {
success : function(user){
user.timeline({
page : 0,
count : 100,
success : function(r){console.log(r)},
error : function(r){console.log(r)}
});
@puriketu99
puriketu99 / get_timeline.js
Created February 10, 2012 05:08
twitterの@anywhereによるタイムライン取得について ref: http://qiita.com/items/2036
var get_timeline = function(screenName) {
twttr.anywhere(function(a){a.User.find(screenName, {
success : function(user){
user.timeline({
page : 0,
count : 100,
success : function(r){console.log(r)},
error : function(r){console.log(r)}
});
@puriketu99
puriketu99 / request.php
Created February 15, 2012 13:46
httpリクエストしてコンテンツを取得する ref: http://qiita.com/items/2518
$url = 'http://revinx.net/';
$postdata = array(
'mode' => 'test'
);
$options = array('http' => array(
'method' => 'POST',
'content' => http_build_query($postdata),
));
$contents = file_get_contents($url, false, stream_context_create($options));
@puriketu99
puriketu99 / debug.js
Created February 21, 2012 02:54
常識的に使われていて簡単で効果的なのに入門サイトに余り書かれないhtml+css+javascriptのデバッグ ref: http://qiita.com/items/2675
//まず、jQueryでちゃんと取れるか試す
>$("#login_twitter")
<div id=​"login_twitter">​…​</div>​
//とれたので、iframeの中身を試す
//過去の入力履歴を呼び出して、iframeの部分を書き足して実行
>$("#login_twitter iframe")
[<iframe allowtransparency=​"true" frameborder=​"0" tabindex=​"0" role=​"presentation" scrolling=​"no" style=​"vertical-align:​ middle;​ width:​ 170px;​ height:​ 26px;​ ">​…​</iframe>​]
//不安は杞憂だったようだ。余裕余裕。