spin on the RITZ -81ページ目

5cm/s

○| ̄|_






WBC韓国戦に負け、おいおい何やってんだよ日本と思いつつチャンネルを変えていたら、こんな時間に珍しくアニメがやっているじゃあござんせんか


基本的にアニメは見るタイプじゃないんですが(00はネタ的に好き)、いやぁ綺麗な映像だなぁ~なんて見ていたわけですよ。


1話を途中から見始める

主人公であろう男の子と、ヒロインであろう女の子

どっちかが引越ししてしまって会えなくなるんでしょうねぇ・・・・甘酸っぱい感じです


2話

ある女の子(1話の子とは違う)が、引っ越してきた1話の主人公に惚れる

だが撃沈!残念!


3話

大人になった主人公は東京でIT土方として働く、ヒロインとは会ってない。

最終的にヒロインと結ばれるかと思いきや、ヒロインは別の人と婚約。

主人公は会社をやめる

昔の女を引きずっている主人公でしたとさ





うわぁ、しょっぱい・・・・・

現実の味がするよ・・・・・・・・

へこむなぁ・・・・・・・・



明日はハガレンのシャンバラがやるらしいです



秒速5センチメートル -Wikipedia-

ウォッチ

#include "DxLib.h"
#include <math.h>

#define MAX_Y 500
#define MAX_X 500

typedef struct tag_Point {
    int x;
    int y;
} Point;

int init_window();
void proc();
void draw_back();
void draw_triangle(Point p1, Point p2, Point p3);
int check(Point p1, Point p2, Point p3);
int isLeftDown();
int isRightDown();

///////////////////////////////////////////////
// main
///////////////////////////////////////////////
int WINAPI WinMain(
    HINSTANCE hIns, HINSTANCE hPIns, LPSTR cl, int ncs
) {
    if (init_window() == -1)
        return 1;
    proc();
    DxLib_End();
    return 0;
}

///////////////////////////////////////////////
// 初期化
///////////////////////////////////////////////
int init_window()
{
    ChangeWindowMode(TRUE);
    SetGraphMode(MAX_X, MAX_Y, 32) ;
    if (DxLib_Init() == -1)
        return -1;
    SetDrawScreen(DX_SCREEN_BACK);
    return 0;
}

///////////////////////////////////////////////
// 描画・位置計算など
///////////////////////////////////////////////
void proc()
{
    Point A, B, C, tmp;
    A.x = MAX_X/2;    A.y = MAX_Y/2;
    B.x = MAX_X/4;    B.y = MAX_Y/4;
    C.x = MAX_X/4*3;    C.y = MAX_Y/4;

    while (ProcessMessage() != -1) {
        ClsDrawScreen();
        draw_back();
        draw_triangle(A, B, C);
        if (isLeftDown()) {
            GetMousePoint(&tmp.x, &tmp.y);
            B.x = tmp.x;
            B.y = MAX_Y - tmp.y;
        }
        if (isRightDown()) {
            GetMousePoint(&tmp.x, &tmp.y);
            C.x = tmp.x;
            C.y = MAX_Y - tmp.y;
        }
        ScreenFlip();
    }
}

///////////////////////////////////////////////
// 背景
///////////////////////////////////////////////
void draw_back()
{
    DrawBox(0, 0, MAX_X, MAX_Y, GetColor(255,255,255), TRUE);
    DrawLine(0, MAX_Y/2, MAX_X, MAX_Y/2, GetColor(0,0,0));
    DrawLine(MAX_X/2, 0, MAX_X/2, MAX_Y, GetColor(0,0,0));
}

///////////////////////////////////////////////
// 三角形
///////////////////////////////////////////////
void draw_triangle(Point p1, Point p2, Point p3)
{
    int col;
    if (check(p1, p2, p3) == -1)
        col = GetColor(255,127,127);
    else
        col = GetColor(127,127,255);

    DrawTriangle(p1.x, MAX_Y-p1.y,
                 p2.x, MAX_Y-p2.y,
                 p3.x, MAX_Y-p3.y,
                 col, TRUE);
}

///////////////////////////////////////////////
// 半時計回りかどうか
///////////////////////////////////////////////
int check(Point p1, Point p2, Point p3)
{
    double r1, r2;
    double PI = 3.141592;
    r1 = atan2((p2.y-p1.y),(p2.x-p1.x));
    r2 = atan2((p3.y-p1.y),(p3.x-p1.x));

    if (r1 > 0 && r2 < 0) {
        if (r1-PI < r2)
            return 1;
        else
            return -1;
    } else if (r1 < 0 && r2 > 0) {
        if (r1+PI < r2)
            return 1;
        else
            return -1;
    }
    if (r1 > r2)
        return 1;
    return -1;
}

///////////////////////////////////////////////
// 左クリック処理
///////////////////////////////////////////////
int isLeftDown()
{
    static int flag = 0;

    if((GetMouseInput() & MOUSE_INPUT_LEFT) != 0)
        return 1;
    return 0;
/*
//クリックした時のみ更新
    if((GetMouseInput() & MOUSE_INPUT_LEFT) != 0) {
        if (flag == 0) {
            flag = 1;
            return 1;
        } else {
            return 0;
        }
    }
    flag = 0;
    return 0;
*/
}

///////////////////////////////////////////////
// 右クリック処理
///////////////////////////////////////////////
int isRightDown()
{
    static int flag = 0;

    if((GetMouseInput() & MOUSE_INPUT_RIGHT) != 0)
        return 1;
    return 0;
/*
//クリックした時のみ更新
    if((GetMouseInput() & MOUSE_INPUT_RIGHT) != 0) {
        if (flag == 0) {
            flag = 1;
            return 1;
        } else {
            return 0;
        }
    }
    flag = 0;
    return 0;
*/
}

三角関係

結構前に三角形の時計・半時計をチェックする方法を考えて面積求めたりしてましたが、他にいい方法はないのかと考え中。



『緑と赤の欠けた円の中心を基準の頂点として考えたときに、
赤色の角度と緑色の角度の大小によって残りの二つの点の位置関係を調べる』

って方法でチェックしてたんですが、毎回逆タンジェント関数を呼ぶ必要があるので、なんか泥臭くてイヤだなぁと思ってたわけなのですよ。



と、ここまではこの間書いた

ここから追記




明らかに上の判定方じゃマズいところがあることが容易にわかるわけでして。

三角形ABCにおいて、Aを原点としたときに、B,Cがどの象限にいるかも問題みたい。


さっき載せたプログラムはそれについてちょこちょこ動くやつ



もちろん「そげなめんどーなことせんと、この方法でよか!」ってのがあったら別ですが。。。

浪人

現役の時に国公立受からなかったら、一年浪人する
それでも国公立受からなかったら、合格した滑り止めの私立に行こう

なんて考えてるやつはダメだ
そんなことするくらいなら現役の時に受かった私立行け





と、高校時代の先生が言っていたのをふと思い出す今日この頃。
俺、あの先生大嫌いだった。

「先生のこと嫌いだったけど、今思うと良い先生だったと思う」

とかそういう感情は微塵もなくて、今でもすごく嫌いですごめんなさいw
いや、もうなんていうか本当に嫌いだったんだってばw



あの先生のおかげで地理嫌いになれました。ありがとうございます。

まー昔から社会は嫌いだったんだけどねw

立体ピクロス

立体ピクロス


CMで見たけど、すげーなこれ。

ただ立体にしただけじゃんって言われればそうなんだけど。



やりたいんだけどなぁ・・・・俺絶対途中で詰んじゃうからなぁ

パズル系のゲームはクリア出来たためしがありません。マリオのピクロス然り。




ありそうでなかった感じだな、立体ピクロスって。


だって、ピクロスだよ?ネタとしては十二分に使い古されたモノだよ?

枯れた技術の水平思考とでも言うべきか。。。




ライトゲーマーなので、こういうタイプのゲームは好きだったりします