スプラトゥーンのボードゲーム(案)
このブログ、いろんな人に見られたときにどうだろうか?
ブログとつなぐのじゃ。
— ざこん (@zakontheowl) 2019年8月14日
ツイッターと連携しようと思い立ち、
ちょっと気になったので過去の記事を読み直してみた。
まあいろいろひどいやwww
見られてやばそうなのはぱっと見た感じなかったかな。
でも記事の内容が全体的に薄いなーと。
これならツイッターでつぶやく程度で解決しそうだね。
ツイッターを進められたのはかなーり前だったけど、
本格的に使い出したのは2015年だから4年前。
しかも最初に作ったアカウントはずっと放置してた。
最近ちゃんと供養したけど、そのときよりもツイッター使えてると思う。
身内だけじゃなくていろんな人とつながることのできるツールってのはとても楽しいね♪
まあ、こちらのブログにはツイッターだと(長さ的に)書きにくいものを書いていくことにするさね。
久々に
CD買ってみた。
学生時代にお世話になった曲やら満載。
- アーティスト:ゲーム・ミュージック
- 発売日: 2002/09/27
- メディア: CD
flashか何かで『鳥の詩』聴いたときにビビッときたのでいつか買ってやるとおもってました。
『鳥の詩』はいつ聴いてもやっぱりいいものですね。regret は『Last regrets X'mas floor style』のためだけに購入。
初めて聞いたときは知らなかったのですが・・これ歌ってるの”島みやえい子”さんだったんですね。
I've sound で自分が惹かれる曲はたいてい”島みやえい子”さんらしいですね。
えい子先生、最高や!奏光のストレインは友人の勧めで見たアニメ。
音楽は非常に気に入っていたので、主題歌とサントラはいつか手に入れようと思ったら主題歌のCDが安値(底値?)で売ってました。
いい曲なのに・・・ラッキーですね。
奏光のストレインのサントラは残念ながら見つからなかったのでそれはまた次回ということで。
「明日のナージャ」Music Boxシリーズ BGMコレクション その2
- アーティスト:TVサントラ
- 発売日: 2003/09/25
- メディア: CD
オープニングCDの高騰に引きずられてBGMも価格が高騰。
中古でも定価では手に入らない状態だったので定価より安かっただけでも満足です。
(最近は多少落ち付いてきてますね。まだちょい高めですが・・・)
馬のためのプログラム(Erlang版)
-module(uma). -export([uma/2]). uma({X,Y}, S) -> next({X,Y}, S, [], [{oth,[]}], []). next(P,S,K,Oth,R) -> NewK = [P] ++ K, Next = getNext(P,S,K), if length(NewK) == S*S -> recode(S,NewK,[{oth,[]}] ++ Oth, R); length(Next) == 0 -> undo(S,K,Oth,R); true -> [NewP|OtherP] = Next, next(NewP, S, NewK, [{oth,OtherP}] ++ Oth,R) end. recode(S,K,Oth,R) -> NewR = [{kif,K}] ++ R, undo(S,K,Oth,NewR). undo(S,K,Oth,R) -> [_|NewK] = K, [Other|NewOth] = Oth, if Other =:= {oth,[]}, NewK =:= [] -> R; Other =:= {oth,[]} -> undo(S, NewK, NewOth, R); true -> {oth,[NewP|OtherP]} = Other, next(NewP,S,K,[{oth,OtherP}] ++ NewOth,R) end. getNext({X,Y}, S, Kif) -> NextList = [{2,1},{2,-1},{-2,1},{-2,-1},{1,2},{1,-2},{-1,2},{-1,-2}], NextPos = [{X+V,Y+H} || {V,H} <- NextList], isValid(NextPos, S, Kif). isValid(L, S, Kif) -> [ {X,Y} || {X,Y} <- L , 0 =< X, X < S, 0 =< Y, Y < S , not lists:member({X,Y},Kif)].
馬のためのプログラム
package test; public class MyTest01 { private final int d=8; private final int s; private final int l; private final boolean[] b; private final int[] k; private int t; public MyTest01(int x){ s = x; l = x*x; b = new boolean[l]; k = new int[l]; t = 0; } private void s(int p){ for(int i=0; i<b.length; i++){ b[i] = false; } for(int i=0; i<k.length; i++){ k[i] = -1; } t = 0; n(p); } private boolean g(){ for(int i=0; i<b.length; i++){ if(!b[i]){ return false; }} return true; } private int p(int p, int d){ int v1 = p/s; int v2 = p%s; if(d==0){ v1-=1; v2-=2; } if(d==1){ v1-=1; v2+=2; } if(d==2){ v1+=1; v2-=2; } if(d==3){ v1+=1; v2+=2; } if(d==4){ v1-=2; v2-=1; } if(d==5){ v1-=2; v2+=1; } if(d==6){ v1+=2; v2-=1; } if(d==7){ v1+=2; v2+=1; } int v=v1*s+v2; return (v<0 || l<=v || v1<0 || s<=v1 || v2<0 || s<=v2 || b[v] ? -1 : v); } private void u(int p){ b[p] = true; k[t] = p; t++; } private void d(int p){ t--; k[t] =-1; b[p] = false; } private void n(int p){ u(p); if(g()){ for(int i=0; i<k.length; i++){ System.out.print("["+(k[i]+1)+"]"); } System.out.println(""); } else{ for(int i=0; i<d; i++){ int n=p(p,i); if(n!=-1){ n(n); } } } d(p); } public static void main(String[] args) { MyTest01 myTest01 = new MyTest01(5); System.out.println("---"); myTest01.s(0); System.out.println("---"); } }
window.open()
JavaScriptにあるwindow.open()についてのメモ。
これを使ってポップアップ表示させると
1 親の窓からリクエスト
2 サーバからレスポンス
3 受け取ったものを新しい窓に表示
って動きっぽい。
なので、window.open('hogehogeAction.do'); とかやると
ポップアップで画面遷移し、ブラウザの戻るボタンとか押しても
ポップアップ画面からは 開くときに呼び出した hogehogeAction.do は呼ばれないみたい。
・・・この解釈であってるのかな?