はてなキーワード: eX.とは
ttps://twitter.com/hisayo_w000/status/1350801173595316224
ttps://www.instagram.com/croquiscafe/
https://e-hentai.org/g/1383297/605020f175/
https://e-hentai.org/tag/parody:getsuyoubi+no+tawawa
月曜日のたわわ
ttps://chan.sankakucomplex.com/?tags=himura_kiseki%20order%3Apopular
https://e-hentai.org/g/1568331/7eb9441874/
https://e-hentai.org/g/1520949/67a7887ed5/
[よー清水]「キャラの背景」描き方教室 CLIP STUDIO PAINTで描く! キャラの想いを物語る風景の技術
https://e-hentai.org/g/1511811/c6c1574bad/
[isuZu] プロが教える!CLIP STUDIO PAINT PROの教科書
ttps://e-hentai.org/g/1483978/1f6473e191/?p=4
ttps://e-hentai.org/g/1508441/aa361ba353/
ttps://e-hentai.org/g/1581326/3fc1dc150a/
ミカピカゾ
ttps://danbooru.donmai.us/posts?tags=mika_pikazo
ミカピカゾ2
ttps://e-hentai.org/g/1489415/90f6b1c158/?p=2
ttps://e-hentai.org/?f_cats=34&f_search=megami+magazine&advsearch=1&f_sname=on&f_stags=on&f_spf=&f_spt=
ttps://e-hentai.org/g/1353102/869b408c7e/
ttps://e-hentai.org/g/1338066/466687e162/
ttps://e-hentai.org/g/1526505/50eed6bb19/
ttps://e-hentai.org/g/1559166/2b371b13b1/
ttps://e-hentai.org/g/562431/389777fa90/
ttps://danbooru.donmai.us/posts?page=4&tags=love_live%21+official_art+
ttps://danbooru.donmai.us/posts?tags=atelier_%28series%29+official_art
ttps://danbooru.donmai.us/posts?page=1&tags=hibike%21_euphonium+official_art
ttps://danbooru.donmai.us/posts?page=1&tags=tamako_market+official_art
ttps://danbooru.donmai.us/posts?page=1&tags=k-on%21+official_art+
ttps://yande.re/post?page=1&tags=houkago_no_pleiades
ttps://yande.re/post?page=1&tags=fantasista_doll
ttps://e-hentai.org/g/1076222/6a007e40b0/
ttps://yande.re/post?tags=disc_cover
ttps://danbooru.donmai.us/posts?tags=mandrill
mandrill氏イラスト集
ttps://danbooru.donmai.us/posts?tags=kantoku
ttps://danbooru.donmai.us/posts?tags=kanzaki_hiro
ttps://danbooru.donmai.us/posts?tags=namori
ttps://danbooru.donmai.us/posts?page=1&tags=nardack
ttps://chan.sankakucomplex.com/?tags=hanamura_mai%20order%3Apopular
hanamura mai
ttps://chan.sankakucomplex.com/?tags=narumi_arata%20order%3Apopular
arata narumi
ttps://chan.sankakucomplex.com/ja/?tags=monable
monable
ttps://chan.sankakucomplex.com/ja/?tags=mokyu
mokyu
ttps://chan.sankakucomplex.com/ja/?tags=mmu
ttps://chan.sankakucomplex.com/ja/?tags=utako_yukihiro
ttps://chan.sankakucomplex.com/?tags=non-web_source%20order%3Apopular
ttps://chan.sankakucomplex.com/?tags=dengeki_girl%27s_style%20order%3Apopular
ttps://danbooru.donmai.us/posts?tags=whoisshe
whoisshe
ttps://danbooru.donmai.us/posts?page=2&tags=anmi
ttps://danbooru.donmai.us/posts?tags=tiv
tiv
ttps://danbooru.donmai.us/posts?tags=misoni_comi
misonikcomi
ttps://yande.re/post?page=3&tags=shirabi
shirabi
ttps://yande.re/post?page=2&tags=range_murata
ttps://danbooru.donmai.us/posts?page=1&tags=ataruman
ataruman
ttps://yande.re/post?page=1&tags=cuteg
cuteg
ttps://yande.re/post?page=3&tags=oyari_ashito
ttps://danbooru.donmai.us/posts?page=1&tags=kuroboshi_kouhaku
ttps://danbooru.donmai.us/posts?page=1&tags=momoko_%28momopoco%29
ttps://danbooru.donmai.us/posts?tags=necomi
necomi
ttps://e-hentai.org/g/1515496/7385b962a1/
幻像黒兎
ttps://danbooru.donmai.us/posts?tags=naruko_hanaharu
ttps://danbooru.donmai.us/posts?page=6&tags=narumi_arata
鳴海アラタ
ttps://danbooru.donmai.us/posts?page=1&tags=nishihara_isao
いさお
ttps://danbooru.donmai.us/posts?tags=shigure_ui
しぐれうい
ttps://danbooru.donmai.us/posts?page=1&tags=nekometaru
ttps://danbooru.donmai.us/posts?tags=himura_kiseki
月曜日のたわわ
ttps://danbooru.donmai.us/posts?tags=u_jie
ttps://danbooru.donmai.us/posts?page=1&tags=kkuem
kkuem
ttps://danbooru.donmai.us/posts?tags=mery_%28yangmalgage%29
ttps://danbooru.donmai.us/posts?page=1&tags=akizone
akizone
ttps://danbooru.donmai.us/posts?tags=kagawa_yuusaku
香川悠作
ttps://ocolorboard.tumblr.com/
ocolorboard
ttps://danbooru.donmai.us/posts?page=1&tags=lf
If
ttps://danbooru.donmai.us/posts?page=1&tags=handheld_game_console+official_art+
ttps://danbooru.donmai.us/posts?tags=heart_hands
ttps://chan.sankakucomplex.com/?tags=shopping+order%3Apopular+%E5%85%AC%E5%BC%8F%E3%82%A2%E3%83%BC%E3%83%88&commit=Search
買い物シチュエーション
ttps://danbooru.donmai.us/posts?page=1&tags=undressing+official_art+
ttps://danbooru.donmai.us/posts?tags=novel_illustration
ttps://danbooru.donmai.us/posts?tags=hiota_no_kanojo_ga_ore_no_motteru_eroge_ni_kyoumi_shinshin_nandaga......
ttps://danbooru.donmai.us/posts?page=492&tags=multiple_girls+official_art+
https://e-hentai.org/g/1393321/d6d6ceb56b/
https://e-hentai.org/g/1211889/df9210a0f8/
https://e-hentai.org/g/1307324/9b7765cdb4/
■仕事が来たという報告があったサイト 他に情報が上がれば随時追加
・アイラブユーカンパニー ttp://www.iloveyou-company.com/
・Arrows ttp://www.arrows-g.jp/
・アンシャントマン ttp://www.mangaculture.com/
・S-TRIVE ttp://s-trive.com/
・オートクチュール ttp://hautecouture.jp/
・Ga-show ttp://ga-show.co.jp/";
・クラウドゲート ttp://www.crowdgate.co.jp/
・QBIST ttps://www.qbist.co.jp/
・クラウドグラフィックス ttp://crowdgraphics.jp/
・クリークアンドリバー ttp://www.cri.co.jp/
・サイドランチ ttp://www.sideranch.co.jp/
・スカイリンク ttps://sky-link.co.jp/
・スタジオハードデラックス ttp://www.hard.co.jp/
・Skillots ttp://www.skillots.com/design/
・テクノアート ttp://technoart-tokyo.com/
・デジタルハーツ ttp://www.digitalhearts.co.jp/
・デジタル職人 ttp://digishoku.co.jp/
・トゥーザワールド ttp://totheworld.jp/
・PANDAGRAPHICS ttp://panda-graphics.net/
・Permission ttp://www.permission.co.jp/
・フロンティアエージェント ttp://www.frontier-agent.co.jp/
・BookLive Artstudio ttp://booklive.co.jp/artstudio/
・フーモア ttp://whomor.com/
・マグノリアファクトリー ttp://magnolia-factory.com/
・水野プロダクション ttp://www.mizunopro.co.jp
・ムゲンアップ ttps://station.mugenup.com/
・ベアトリックス ttp://www.beatrixx.co.jp/
・ロータス ttp://www.lotus-creative.net/
・ロフトワーク ttp://www.loftwork.jp/
・Wakka ttps://www.wakka-illustorder.com/
・キュートロン ttp://www.qtron.jp/index.html
・ex-design ttp://www.exdesign.info/
・Asian Bridg ttp://graphics.asianbridge.jp/
・ツジヒール ttp://tsujiheal.com...contact/recruit.html
・シリコンスタジオ ttp://www.siliconstudio.co.jp/
・Lavan7(マエストロ?) ttp://maestro-work.com/
・フロンティアクリエイターズプロジェクト(FCP) ttps://fw-fcp.jp/
261名無しさん@お腹いっぱい。2020/02/02(日) 21:51:40.21ID:eRB+DOb2
自分もツイとかシブやってなくて飛び込み面接でポートフォリオ持って仕事貰いに行ったわ
全くの素人(デッサン赤まみれレベル)だったけど普通に仕事貰えて今まで悶々としていたのは全て無駄だった事に気がついた
上手くなるには~とか、仕事受けられるレベルは~ってのは自分の妄想が混じる
263名無しさん@お腹いっぱい。2020/02/02(日) 22:07:41.75ID:wA0UU6Qz>>264
上手くなって何とかしようという発想しかねぇわ
264名無しさん@お腹いっぱい。2020/02/02(日) 22:20:28.70ID:eRB+DOb2
企業から「上手いです!仕事受けて貰えますか…!?」ってのを期待するのが勘違い
「なに?仕事欲しいの?…じゃあお前でもできる仕事これな」って感じでもいいから何か仕事する
近年(と言っても10数年前くらいからになるが)秋葉原にはメイドカフェなどの萌産業の店舗が増えてきている。
一方で従来の電子部品や家電、オーディオ、パソコン、ビデオゲームなどを取り扱う店舗は減る傾向にある。
そのためか、秋葉原のことをよく知らずに「秋葉原は風俗街になってしまった」とか「もう昔の秋葉原のような店舗は無い」など間違った知識で秋葉原を表現する者が後を絶たない。
そんな勘違いした方が秋葉原に来て歩くのは中央通りと1本裏に入った程度だろ?
お前らダンゴムシ探すときに新宿駅前で探すのかよ。ダンゴムシはジメジメした石の下にいるんだよ!
秋葉原の昔ながらの店はジメジメした裏通りだったりラジオセンターやラジオデパートのようなところにブワァーっとたくさんあるんだよ!
それでは従来の電子部品やら家電やらパソコンやらの店舗はどれくらいあるのか一覧を作ってみた。
個人が作った一覧なので間違いや閉店していたり漏れもあるだろうがまあ誤差程度だろう。
秋葉原の定義については、外神田1〜6丁目+その周辺を秋葉原としている。
電気街中央通りからみて、北は蔵前橋通り+50mくらいまで、西は昌平橋通りくらいまで、東は昭和通りくらいまで、南は神田川くらいまで。
北についてはaitendoと遊舎工房を入れたかったので少し範囲を広げました。
店舗については、一般消費者が購入できる店舗をリストアップしました。
主に自分の目で確認したのが多いですが、ストリートビューや店舗公式Webサイトなども参考にしています。
精神症状
抑うつ気分
不安・焦り
興味または喜びの喪失
意欲の低下・億劫感
自分を責める
会話や本の内容が入ってこない
食欲の変動
疲労感・倦怠感
動悸・息苦しさ・口が乾く
私の場合
発症時期と変遷
F32.0(.14 中旬) F32.1(.16 1) F32.2(.17 7救急搬送以降)F32.3 (意識レベル低下により主観記憶上に明確な時期の認識が存在しない)IDC-10 2016
自覚(あるいは過去の主観記憶からあったであろう)症状 おおよそ時系列順
微小妄想 病感あり
醜形妄想 病感あり
離人症 病感あり
精神運動遅滞 psychomotor retardation 自覚症状の発現は遅い(暗記テストの点数の変遷により推測)
ex.暗記事項が覚えられない 何をしようとしていたかわからない、掲示物の内容を記憶できず何度も見直すなど日常生活に支障
読解、読字速度の低下、不能
会話の内容が把握できない
罪業妄想 some idea of guilt and worthlessness 病感なし
意欲低下 eduction of energy, and decrease in activity 病感なし より早くから存在した可能性大
自殺念慮や行為 Suicidal thoughts and acts 意識喪失二回 三回だったかも
一時的な興奮 agitation
嗜眠 傾眠 somnolence lethargy
てんさい(笑)なので意欲低下や精神運動遅滞を隠すことができた(教授などで認知症の発症が遅く進行が早いのと同じ)
親が昏迷とか睡眠障害、精神運動遅滞を発症している本人に受診等の判断をさせた(させようとした)
が当然無理
朝方の(一般例と同じく朝方が一番ひどい)昏迷・嗜眠・傾眠状態のときに散々に学校にいけと怒鳴られ身体的暴力も受けた
本人に治す気がない(セルフネグレクトの気がある)
キツめの破滅願望がある?
どうすべきか
やすむ
そのた
現状
現状家事くらいはできるようになったが、そのため社会復帰して卒業資格取ってこいとの圧がつよい
しにたい
EDIT 一部見やすく
// WindowsProject7.cpp: アプリケーションのエントリ ポイントを定義します。 // #include "stdafx.h" #include "WindowsProject7.h" #define MAX_LOADSTRING 100 // グローバル変数: HINSTANCE hInst; // 現在のインターフェイス WCHAR szTitle[MAX_LOADSTRING]; // タイトル バーのテキスト WCHAR szWindowClass[MAX_LOADSTRING]; // メイン ウィンドウ クラス名 // このコード モジュールに含まれる関数の宣言を転送します: //ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); #include <list> class MyWindow; std::list< MyWindow *> windows; class MyWindow { public: HWND hWnd; MyWindow() :hWnd(NULL) { windows.push_back(this); } virtual ~MyWindow() { std::list< MyWindow *>::iterator it; for (it = windows.begin(); it != windows.end(); it++) { if (*it == this) { windows.erase(it); break; } } } static MyWindow * find(HWND key) { std::list< MyWindow *>::iterator it; for (it = windows.begin(); it != windows.end(); it++) { MyWindow *target = *it; if (target->hWnd == key) { return target; } } return NULL; } // // 関数: MyRegisterClass() // // 目的: ウィンドウ クラスを登録します。 // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEXW wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINDOWSPROJECT7)); wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_WINDOWSPROJECT7); wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassExW(&amp;wcex); } // // 関数: InitInstance(HINSTANCE, int) // // 目的: インスタンス ハンドルを保存して、メイン ウィンドウを作成します。 // // コメント: // // この関数で、グローバル変数でインスタンス ハンドルを保存し、 // メイン プログラム ウィンドウを作成および表示します。 // int blocks[100][100]; BOOL InitInstance() { hInst = hInstance; // グローバル変数にインスタンス処理を格納します。 ATOM c = MyRegisterClass(hInstance); x = 0; y = 0; boxType = 0; hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); for(int x = 0 ; x < 100 ; x++) { for (int y = 0; y < 100; y++) { blocks[y][x] = 0; } } if (!hWnd) { return FALSE; } return TRUE; } BOOL ShowWindow() { BOOL ret; ret = ::ShowWindow(hWnd, SW_SHOW); ::UpdateWindow(hWnd); return ret; } HINSTANCE hInstance; MSG msg; BOOL run; int x; int y; BOOL Main() { HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_WINDOWSPROJECT7)); run = true; int rc; // メイン メッセージ ループ: while (run) { DWORD obj = MsgWaitForMultipleObjectsEx(0, NULL, 100 , QS_PAINT| QS_ALLEVENTS,0); if (obj <= WAIT_OBJECT_0) { while (PeekMessage(&amp;msg, NULL, 0, 0, PM_REMOVE)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &amp;msg)) { TranslateMessage(&amp;msg); DispatchMessage(&amp;msg); } if (msg.message == WM_QUIT) { run = FALSE; } if (msg.message == WM_CLOSE) { run = FALSE; } } } else if (obj == WAIT_TIMEOUT) { y++; PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &amp;ps); this->OnPaint(ps); EndPaint(hWnd, &amp;ps); ::UpdateWindow(hWnd); RECT Rect2 = { 0,0,48*9,48 * 100 }; InvalidateRect(hWnd, &amp;Rect2, TRUE); } else if (obj == WAIT_FAILED) { rc = GetLastError(); } else { } } return TRUE; } int boxType; BOOL WriteBoxOLDBox() { int width = 24; HDC hdc = GetDC(hWnd); HBRUSH hBrush = CreateSolidBrush(RGB(48, 48, 48)); for (int y = 0; y < 30; y++) { for (int x = 0; x < 8; x++) { if (blocks[y][x] == 0) { continue; } RECT Rect = { 0,0,48,48 }; BOOL ret; Rect.left = width * x + 1; Rect.right = width * (x + 1) - 1; Rect.top = width * y + 1; Rect.bottom = width * (y + 1) - 1; ret = FillRect(hdc, &amp;Rect, hBrush); } } DeleteObject(hBrush); return FALSE; } BOOL WriteBox() { WriteBoxOLDBox(); switch (boxType) { case 0: return WriteBoxI(); case 1: return WriteBoxL(); case 2: return WriteBoxZ(); } return TRUE; } BOOL WriteBoxZ() { HDC hdc = GetDC(hWnd); HBRUSH hBrush = CreateSolidBrush(RGB(48, 48, 246)); int width = 24; RECT Rect = { 0,0,48,48 }; BOOL ret; Rect.left = width * x + 1; Rect.right = width * (x + 1) - 1; Rect.top = width * y + 1; Rect.bottom = width * (y + 1) - 1; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.top += width; Rect.bottom += width; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.left += width; Rect.right += width; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.top += width; Rect.bottom += width; ret = FillRect(hdc, &amp;Rect, hBrush); DeleteObject(hBrush); return TRUE; } BOOL WriteBoxL() { HDC hdc = GetDC(hWnd); HBRUSH hBrush = CreateSolidBrush(RGB(48, 246 , 48)); int width = 24; RECT Rect = { 0,0,48,48 }; BOOL ret; Rect.left = width * x + 1; Rect.right = width * (x + 1) -1 ; Rect.top = width * y + 1; Rect.bottom = width * (y + 1) -1; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.top += width; Rect.bottom += width; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.top += width; Rect.bottom += width; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.left += width; Rect.right += width; ret = FillRect(hdc, &amp;Rect, hBrush); DeleteObject(hBrush); return TRUE; } BOOL WriteBoxI() { HDC hdc = GetDC(hWnd); HBRUSH hBrush = CreateSolidBrush(RGB( 246 , 48 , 48)); int width = 24; RECT Rect = { 0,0,48,48 }; BOOL ret; Rect.left = width * x + 1; Rect.right = width * (x + 1) - 1; Rect.top = width * y + 1; Rect.bottom = width * (y + 1) - 1; ret = FillRect(hdc, &amp;Rect, hBrush); //Rect.left += width; //Rect.right += width; Rect.top += width; Rect.bottom += width; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.top += width; Rect.bottom += width; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.top += width; Rect.bottom += width; ret = FillRect(hdc, &amp;Rect, hBrush); DeleteObject(hBrush); return TRUE; } BOOL SaveBoxI() { blocks[y ][x] = 1; blocks[y+1][x] = 1; blocks[y+2][x] = 1; blocks[y+3][x] = 1; return TRUE; } BOOL OnPaint(PAINTSTRUCT &amp;ps) { if (x > 8) { x = 0; } if (x <0) { x = 8; } if (y > 20) { switch (boxType) { case 0: SaveBoxI(); break; case 1: break; case 2: break; } y = 0; boxType++; if (boxType > 2) { boxType = 0; } } this->WriteBox(); return TRUE; } BOOL OnKey(WPARAM wParam) { if (wParam == VK_LEFT) { x++; } if (wParam == VK_RIGHT) { x--; } return TRUE; } }; int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO: ここにコードを挿入してください。 // グローバル文字列を初期化しています。 LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadStringW(hInstance, IDC_WINDOWSPROJECT7, szWindowClass, MAX_LOADSTRING); //MyRegisterClass(hInstance); MyWindow win; win.hInstance = hInstance; // アプリケーションの初期化を実行します: if (!win.InitInstance()) { return FALSE; } BOOL ret; win.ShowWindow(); ret = win.Main(); if (ret) { return 0; }else { return (int)win.msg.wParam; } } // // 関数: WndProc(HWND, UINT, WPARAM, LPARAM) // // 目的: メイン ウィンドウのメッセージを処理します。 // // WM_COMMAND - アプリケーション メニューの処理 // WM_PAINT - メイン ウィンドウの描画 // WM_DESTROY - 中止メッセージを表示して戻る // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_COMMAND: { int wmId = LOWORD(wParam); // 選択されたメニューの解析: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } } break; case WM_KEYDOWN: { MyWindow *target = MyWindow::find(hWnd); target->OnKey(wParam); } break; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &amp;ps); MyWindow *target = MyWindow::find(hWnd); target->OnPaint(ps); // TODO: HDC を使用する描画コードをここに追加してください... EndPaint(hWnd, &amp;ps); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // バージョン情報ボックスのメッセージ ハンドラーです。 INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG: return (INT_PTR)TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; } break; } return (INT_PTR)FALSE; }
テトリス風
落ちてくるブロックの描き方
まずはブロックの種類は3種類
の違いをよく見比べて
自力で違いがわかれば
プログラマーにはなれるとおもう
とはいえ、コレを自力でわかるならもっと儲かる仕事あるとはおもうけどな
BOOL WriteBox() { switch (boxType) { case 0: return WriteBoxI(); case 1: return WriteBoxL(); case 2: return WriteBoxZ(); } }
// WindowsProject7.cpp: アプリケーションのエントリ ポイントを定義します。 // #include "stdafx.h" #include "WindowsProject7.h" #define MAX_LOADSTRING 100 // グローバル変数: HINSTANCE hInst; // 現在のインターフェイス WCHAR szTitle[MAX_LOADSTRING]; // タイトル バーのテキスト WCHAR szWindowClass[MAX_LOADSTRING]; // メイン ウィンドウ クラス名 // このコード モジュールに含まれる関数の宣言を転送します: //ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); #include <list> class MyWindow; std::list< MyWindow *> windows; class MyWindow { public: HWND hWnd; MyWindow() :hWnd(NULL) { windows.push_back(this); } virtual ~MyWindow() { std::list< MyWindow *>::iterator it; for (it = windows.begin(); it != windows.end(); it++) { if (*it == this) { windows.erase(it); break; } } } static MyWindow * find(HWND key) { std::list< MyWindow *>::iterator it; for (it = windows.begin(); it != windows.end(); it++) { MyWindow *target = *it; if (target->hWnd == key) { return target; } } return NULL; } // // 関数: MyRegisterClass() // // 目的: ウィンドウ クラスを登録します。 // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEXW wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINDOWSPROJECT7)); wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_WINDOWSPROJECT7); wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassExW(&amp;wcex); } // // 関数: InitInstance(HINSTANCE, int) // // 目的: インスタンス ハンドルを保存して、メイン ウィンドウを作成します。 // // コメント: // // この関数で、グローバル変数でインスタンス ハンドルを保存し、 // メイン プログラム ウィンドウを作成および表示します。 // BOOL InitInstance() { hInst = hInstance; // グローバル変数にインスタンス処理を格納します。 ATOM c = MyRegisterClass(hInstance); x = 0; y = 0; boxType = 0; hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); if (!hWnd) { return FALSE; } return TRUE; } BOOL ShowWindow() { BOOL ret; ret = ::ShowWindow(hWnd, SW_SHOW); ::UpdateWindow(hWnd); return ret; } HINSTANCE hInstance; MSG msg; BOOL run; int x; int y; BOOL Main() { HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_WINDOWSPROJECT7)); run = true; int rc; // メイン メッセージ ループ: while (run) { DWORD obj = MsgWaitForMultipleObjectsEx(0, NULL, 100 , QS_PAINT| QS_ALLEVENTS,0); if (obj <= WAIT_OBJECT_0) { while (PeekMessage(&amp;msg, NULL, 0, 0, PM_REMOVE)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &amp;msg)) { TranslateMessage(&amp;msg); DispatchMessage(&amp;msg); } if (msg.message == WM_QUIT) { run = FALSE; } if (msg.message == WM_CLOSE) { run = FALSE; } } } else if (obj == WAIT_TIMEOUT) { y++; PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &amp;ps); this->OnPaint(ps); EndPaint(hWnd, &amp;ps); ::UpdateWindow(hWnd); RECT Rect2 = { 0,0,48*9,48 * 8 }; InvalidateRect(hWnd, &amp;Rect2, TRUE); } else if (obj == WAIT_FAILED) { rc = GetLastError(); } else { } } return TRUE; } int boxType; BOOL WriteBox() { switch (boxType) { case 0: return WriteBoxI(); case 1: return WriteBoxL(); case 2: return WriteBoxZ(); } } BOOL WriteBoxZ() { HDC hdc = GetDC(hWnd); HBRUSH hBrush = CreateSolidBrush(RGB(48, 48, 246)); int width = 24; RECT Rect = { 0,0,48,48 }; BOOL ret; Rect.left = width * x + 1; Rect.right = width * (x + 1) - 1; Rect.top = width * y + 1; Rect.bottom = width * (y + 1) - 1; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.top += width; Rect.bottom += width; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.left += width; Rect.right += width; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.top += width; Rect.bottom += width; ret = FillRect(hdc, &amp;Rect, hBrush); DeleteObject(hBrush); return TRUE; } BOOL WriteBoxL() { HDC hdc = GetDC(hWnd); HBRUSH hBrush = CreateSolidBrush(RGB(48, 48, 246)); int width = 24; RECT Rect = { 0,0,48,48 }; BOOL ret; Rect.left = width * x + 1; Rect.right = width * (x + 1) -1 ; Rect.top = width * y + 1; Rect.bottom = width * (y + 1) -1; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.top += width; Rect.bottom += width; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.top += width; Rect.bottom += width; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.left += width; Rect.right += width; ret = FillRect(hdc, &amp;Rect, hBrush); DeleteObject(hBrush); return TRUE; } BOOL WriteBoxI() { HDC hdc = GetDC(hWnd); HBRUSH hBrush = CreateSolidBrush(RGB(48, 48, 246)); int width = 24; RECT Rect = { 0,0,48,48 }; BOOL ret; Rect.left = width * x + 1; Rect.right = width * (x + 1) - 1; Rect.top = width * y + 1; Rect.bottom = width * (y + 1) - 1; ret = FillRect(hdc, &amp;Rect, hBrush); //Rect.left += width; //Rect.right += width; Rect.top += width; Rect.bottom += width; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.top += width; Rect.bottom += width; ret = FillRect(hdc, &amp;Rect, hBrush); Rect.top += width; Rect.bottom += width; ret = FillRect(hdc, &amp;Rect, hBrush); DeleteObject(hBrush); return TRUE; } BOOL OnPaint(PAINTSTRUCT &amp;ps) { if (x > 8) { x = 0; } if (x <0) { x = 8; } if (y > 8) { y = 0; boxType++; if (boxType > 2) { boxType = 0; } } this->WriteBox(); return TRUE; } BOOL OnKey() { x++; return TRUE; } }; int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO: ここにコードを挿入してください。 // グローバル文字列を初期化しています。 LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadStringW(hInstance, IDC_WINDOWSPROJECT7, szWindowClass, MAX_LOADSTRING); //MyRegisterClass(hInstance); MyWindow win; win.hInstance = hInstance; // アプリケーションの初期化を実行します: if (!win.InitInstance()) { return FALSE; } BOOL ret; win.ShowWindow(); ret = win.Main(); if (ret) { return 0; }else { return (int)win.msg.wParam; } } // // 関数: WndProc(HWND, UINT, WPARAM, LPARAM) // // 目的: メイン ウィンドウのメッセージを処理します。 // // WM_COMMAND - アプリケーション メニューの処理 // WM_PAINT - メイン ウィンドウの描画 // WM_DESTROY - 中止メッセージを表示して戻る // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_COMMAND: { int wmId = LOWORD(wParam); // 選択されたメニューの解析: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } } break; case WM_KEYDOWN: { MyWindow *target = MyWindow::find(hWnd); target->OnKey(); } break; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &amp;ps); MyWindow *target = MyWindow::find(hWnd); target->OnPaint(ps); // TODO: HDC を使用する描画コードをここに追加してください... EndPaint(hWnd, &amp;ps); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // バージョン情報ボックスのメッセージ ハンドラーです。 INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG: return (INT_PTR)TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; } break; } return (INT_PTR)FALSE; }
第何回だろうな
まだ、何を押してもブロックが右に移動するだけ(右端にいくと左にワープ)
// WindowsProject7.cpp: アプリケーションのエントリ ポイントを定義します。 // #include "stdafx.h" #include "WindowsProject7.h" #define MAX_LOADSTRING 100 // グローバル変数: HINSTANCE hInst; // 現在のインターフェイス WCHAR szTitle[MAX_LOADSTRING]; // タイトル バーのテキスト WCHAR szWindowClass[MAX_LOADSTRING]; // メイン ウィンドウ クラス名 // このコード モジュールに含まれる関数の宣言を転送します: //ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); #include <list> class MyWindow; std::list< MyWindow *> windows; class MyWindow { public: HWND hWnd; MyWindow() :hWnd(NULL) { windows.push_back(this); } virtual ~MyWindow() { std::list< MyWindow *>::iterator it; for (it = windows.begin(); it != windows.end(); it++) { if (*it == this) { windows.erase(it); break; } } } static MyWindow * find(HWND key) { std::list< MyWindow *>::iterator it; for (it = windows.begin(); it != windows.end(); it++) { MyWindow *target = *it; if (target->hWnd == key) { return target; } } return NULL; } // // 関数: MyRegisterClass() // // 目的: ウィンドウ クラスを登録します。 // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEXW wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINDOWSPROJECT7)); wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_WINDOWSPROJECT7); wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassExW(&amp;wcex); } // // 関数: InitInstance(HINSTANCE, int) // // 目的: インスタンス ハンドルを保存して、メイン ウィンドウを作成します。 // // コメント: // // この関数で、グローバル変数でインスタンス ハンドルを保存し、 // メイン プログラム ウィンドウを作成および表示します。 // BOOL InitInstance() { hInst = hInstance; // グローバル変数にインスタンス処理を格納します。 ATOM c = MyRegisterClass(hInstance); x = 0; y = 0; hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); if (!hWnd) { return FALSE; } return TRUE; } BOOL ShowWindow() { BOOL ret; ret = ::ShowWindow(hWnd, SW_SHOW); ::UpdateWindow(hWnd); return ret; } HINSTANCE hInstance; MSG msg; BOOL run; int x; int y; BOOL Main() { HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_WINDOWSPROJECT7)); run = true; int rc; // メイン メッセージ ループ: while (run) { DWORD obj = MsgWaitForMultipleObjectsEx(0, NULL, 100 , QS_PAINT| QS_ALLEVENTS,0); if (obj <= WAIT_OBJECT_0) { while (PeekMessage(&amp;msg, NULL, 0, 0, PM_REMOVE)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &amp;msg)) { TranslateMessage(&amp;msg); DispatchMessage(&amp;msg); } if (msg.message == WM_QUIT) { run = FALSE; } if (msg.message == WM_CLOSE) { run = FALSE; } } } else if (obj == WAIT_TIMEOUT) { y++; PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &amp;ps); this->OnPaint(ps); EndPaint(hWnd, &amp;ps); ::UpdateWindow(hWnd); RECT Rect2 = { 0,0,48*9,48 * 8 }; InvalidateRect(hWnd, &amp;Rect2, TRUE); } else if (obj == WAIT_FAILED) { rc = GetLastError(); } else { } } return TRUE; } BOOL OnPaint(PAINTSTRUCT &amp;ps) { HDC hdc = GetDC(hWnd); HBRUSH hBrush = CreateSolidBrush(RGB(48, 48, 246)); RECT Rect = { 0,0,48,48 }; Rect.left = 48 * x; Rect.right = 48 * (x+1); Rect.top = 48 * y; Rect.bottom = 48 * (y+1); if (x > 8) { x = 0; } if (x <0) { x = 8; } if (y > 8) { y = 0; } BOOL ret = FillRect(ps.hdc, &amp;Rect, hBrush); DeleteObject(hBrush); return TRUE; } BOOL OnKey() { x++; return TRUE; } }; int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO: ここにコードを挿入してください。 // グローバル文字列を初期化しています。 LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadStringW(hInstance, IDC_WINDOWSPROJECT7, szWindowClass, MAX_LOADSTRING); //MyRegisterClass(hInstance); MyWindow win; win.hInstance = hInstance; // アプリケーションの初期化を実行します: if (!win.InitInstance()) { return FALSE; } BOOL ret; win.ShowWindow(); ret = win.Main(); if (ret) { return 0; }else { return (int)win.msg.wParam; } } // // 関数: WndProc(HWND, UINT, WPARAM, LPARAM) // // 目的: メイン ウィンドウのメッセージを処理します。 // // WM_COMMAND - アプリケーション メニューの処理 // WM_PAINT - メイン ウィンドウの描画 // WM_DESTROY - 中止メッセージを表示して戻る // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_COMMAND: { int wmId = LOWORD(wParam); // 選択されたメニューの解析: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } } break; case WM_KEYDOWN: { MyWindow *target = MyWindow::find(hWnd); target->OnKey(); } break; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &amp;ps); MyWindow *target = MyWindow::find(hWnd); target->OnPaint(ps); // TODO: HDC を使用する描画コードをここに追加してください... EndPaint(hWnd, &amp;ps); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // バージョン情報ボックスのメッセージ ハンドラーです。 INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG: return (INT_PTR)TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; } break; } return (INT_PTR)FALSE; }
// WindowsProject7.cpp: アプリケーションのエントリ ポイントを定義します。 // #include "stdafx.h" #include "WindowsProject7.h" #define MAX_LOADSTRING 100 // グローバル変数: HINSTANCE hInst; // 現在のインターフェイス WCHAR szTitle[MAX_LOADSTRING]; // タイトル バーのテキスト WCHAR szWindowClass[MAX_LOADSTRING]; // メイン ウィンドウ クラス名 // このコード モジュールに含まれる関数の宣言を転送します: //ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); #include <list> class MyWindow; std::list< MyWindow *> windows; class MyWindow { public: HWND hWnd; MyWindow() :hWnd(NULL) { windows.push_back(this); } virtual ~MyWindow() { std::list< MyWindow *>::iterator it; for (it = windows.begin(); it != windows.end(); it++) { if (*it == this) { windows.erase(it); break; } } } static MyWindow * find(HWND key) { std::list< MyWindow *>::iterator it; for (it = windows.begin(); it != windows.end(); it++) { MyWindow *target = *it; if (target->hWnd == key) { return target; } } return NULL; } // // 関数: MyRegisterClass() // // 目的: ウィンドウ クラスを登録します。 // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEXW wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINDOWSPROJECT7)); wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_WINDOWSPROJECT7); wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassExW(&amp;wcex); } // // 関数: InitInstance(HINSTANCE, int) // // 目的: インスタンス ハンドルを保存して、メイン ウィンドウを作成します。 // // コメント: // // この関数で、グローバル変数でインスタンス ハンドルを保存し、 // メイン プログラム ウィンドウを作成および表示します。 // BOOL InitInstance() { hInst = hInstance; // グローバル変数にインスタンス処理を格納します。 ATOM c = MyRegisterClass(hInstance); y = 0; hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); if (!hWnd) { return FALSE; } return TRUE; } BOOL ShowWindow() { BOOL ret; ret = ::ShowWindow(hWnd, SW_SHOW); ::UpdateWindow(hWnd); return ret; } HINSTANCE hInstance; MSG msg; BOOL run; int y; BOOL Main() { HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_WINDOWSPROJECT7)); run = true; int rc; // メイン メッセージ ループ: while (run) { DWORD obj = MsgWaitForMultipleObjectsEx(0, NULL, 100 , QS_PAINT| QS_ALLEVENTS,0); if (obj <= WAIT_OBJECT_0) { while (PeekMessage(&amp;msg, NULL, 0, 0, PM_REMOVE)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &amp;msg)) { TranslateMessage(&amp;msg); DispatchMessage(&amp;msg); } if (msg.message == WM_QUIT) { run = FALSE; } if (msg.message == WM_CLOSE) { run = FALSE; } } } else if (obj == WAIT_TIMEOUT) { y++; PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &amp;ps); this->OnPaint(ps); EndPaint(hWnd, &amp;ps); ::UpdateWindow(hWnd); RECT Rect2 = { 0,0,48,48 * 8 }; InvalidateRect(hWnd, &amp;Rect2, TRUE); } else if (obj == WAIT_FAILED) { rc = GetLastError(); } else { } } return TRUE; } BOOL OnPaint(PAINTSTRUCT &amp;ps) { HDC hdc = GetDC(hWnd); HBRUSH hBrush = CreateSolidBrush(RGB(48, 48, 246)); RECT Rect = { 0,0,48,48 }; Rect.top = 48 * y; Rect.bottom = 48 * (y+1); if (y > 8) { y = 0; } BOOL ret = FillRect(ps.hdc, &amp;Rect, hBrush); DeleteObject(hBrush); return TRUE; } }; int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO: ここにコードを挿入してください。 // グローバル文字列を初期化しています。 LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadStringW(hInstance, IDC_WINDOWSPROJECT7, szWindowClass, MAX_LOADSTRING); //MyRegisterClass(hInstance); MyWindow win; win.hInstance = hInstance; // アプリケーションの初期化を実行します: if (!win.InitInstance()) { return FALSE; } BOOL ret; win.ShowWindow(); ret = win.Main(); if (ret) { return 0; }else { return (int)win.msg.wParam; } } // // 関数: WndProc(HWND, UINT, WPARAM, LPARAM) // // 目的: メイン ウィンドウのメッセージを処理します。 // // WM_COMMAND - アプリケーション メニューの処理 // WM_PAINT - メイン ウィンドウの描画 // WM_DESTROY - 中止メッセージを表示して戻る // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_COMMAND: { int wmId = LOWORD(wParam); // 選択されたメニューの解析: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } } break; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &amp;ps); MyWindow *target = MyWindow::find(hWnd); target->OnPaint(ps); // TODO: HDC を使用する描画コードをここに追加してください... EndPaint(hWnd, &amp;ps); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // バージョン情報ボックスのメッセージ ハンドラーです。 INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG: return (INT_PTR)TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; } break; } return (INT_PTR)FALSE; }
青い■を表示するだけ
// WindowsProject7.cpp: アプリケーションのエントリ ポイントを定義します。 // #include "stdafx.h" #include "WindowsProject7.h" #define MAX_LOADSTRING 100 // グローバル変数: HINSTANCE hInst; // 現在のインターフェイス WCHAR szTitle[MAX_LOADSTRING]; // タイトル バーのテキスト WCHAR szWindowClass[MAX_LOADSTRING]; // メイン ウィンドウ クラス名 // このコード モジュールに含まれる関数の宣言を転送します: //ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); #include <list> class MyWindow; std::list< MyWindow *> windows; class MyWindow { public: HWND hWnd; MyWindow() :hWnd(NULL) { windows.push_back(this); } virtual ~MyWindow() { std::list< MyWindow *>::iterator it; for (it = windows.begin(); it != windows.end(); it++) { if (*it == this) { windows.erase(it); break; } } } static MyWindow * find(HWND key) { std::list< MyWindow *>::iterator it; for (it = windows.begin(); it != windows.end(); it++) { MyWindow *target = *it; if (target->hWnd == key) { return target; } } return NULL; } // // 関数: MyRegisterClass() // // 目的: ウィンドウ クラスを登録します。 // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEXW wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINDOWSPROJECT7)); wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_WINDOWSPROJECT7); wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassExW(&amp;wcex); } // // 関数: InitInstance(HINSTANCE, int) // // 目的: インスタンス ハンドルを保存して、メイン ウィンドウを作成します。 // // コメント: // // この関数で、グローバル変数でインスタンス ハンドルを保存し、 // メイン プログラム ウィンドウを作成および表示します。 // BOOL InitInstance() { hInst = hInstance; // グローバル変数にインスタンス処理を格納します。 ATOM c = MyRegisterClass(hInstance); hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); if (!hWnd) { return FALSE; } return TRUE; } BOOL ShowWindow() { BOOL ret; ret = ::ShowWindow(hWnd, SW_SHOW); ::UpdateWindow(hWnd); return ret; } HINSTANCE hInstance; MSG msg; BOOL Main() { HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_WINDOWSPROJECT7)); // メイン メッセージ ループ: while (GetMessage(&amp;msg, nullptr, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &amp;msg)) { TranslateMessage(&amp;msg); DispatchMessage(&amp;msg); } } return TRUE; } BOOL OnPaint(PAINTSTRUCT &amp;ps) { HBRUSH hBrush = CreateSolidBrush(RGB(48, 48, 246)); RECT Rect = { 0,0,48,48 }; BOOL ret = FillRect(ps.hdc, &amp;Rect, hBrush); DeleteObject(hBrush); return TRUE; } }; int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO: ここにコードを挿入してください。 // グローバル文字列を初期化しています。 LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadStringW(hInstance, IDC_WINDOWSPROJECT7, szWindowClass, MAX_LOADSTRING); //MyRegisterClass(hInstance); MyWindow win; win.hInstance = hInstance; // アプリケーションの初期化を実行します: if (!win.InitInstance()) { return FALSE; } BOOL ret; win.ShowWindow(); ret = win.Main(); if (ret) { return 0; }else { return (int)win.msg.wParam; } } // // 関数: WndProc(HWND, UINT, WPARAM, LPARAM) // // 目的: メイン ウィンドウのメッセージを処理します。 // // WM_COMMAND - アプリケーション メニューの処理 // WM_PAINT - メイン ウィンドウの描画 // WM_DESTROY - 中止メッセージを表示して戻る // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_COMMAND: { int wmId = LOWORD(wParam); // 選択されたメニューの解析: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } } break; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &amp;ps); MyWindow *target = MyWindow::find(hWnd); target->OnPaint(ps); // TODO: HDC を使用する描画コードをここに追加してください... EndPaint(hWnd, &amp;ps); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // バージョン情報ボックスのメッセージ ハンドラーです。 INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG: return (INT_PTR)TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; } break; } return (INT_PTR)FALSE; }
// WindowsProject7.cpp: アプリケーションのエントリ ポイントを定義します。 // #include "stdafx.h" #include "WindowsProject7.h" #define MAX_LOADSTRING 100 // グローバル変数: HINSTANCE hInst; // 現在のインターフェイス WCHAR szTitle[MAX_LOADSTRING]; // タイトル バーのテキスト WCHAR szWindowClass[MAX_LOADSTRING]; // メイン ウィンドウ クラス名 // このコード モジュールに含まれる関数の宣言を転送します: //ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); #include <list> class MyWindow; std::list< MyWindow *> windows; class MyWindow { public: HWND hWnd; MyWindow() :hWnd(NULL) { windows.push_back(this); } virtual ~MyWindow() { std::list< MyWindow *>::iterator it; for (it = windows.begin(); it != windows.end(); it++) { if (*it == this) { windows.erase(it); break; } } } static MyWindow * find(HWND key) { std::list< MyWindow *>::iterator it; for (it = windows.begin(); it != windows.end(); it++) { MyWindow *target = *it; if (target->hWnd == key) { return target; } } return NULL; } // // 関数: MyRegisterClass() // // 目的: ウィンドウ クラスを登録します。 // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEXW wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINDOWSPROJECT7)); wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_WINDOWSPROJECT7); wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassExW(&amp;wcex); } // // 関数: InitInstance(HINSTANCE, int) // // 目的: インスタンス ハンドルを保存して、メイン ウィンドウを作成します。 // // コメント: // // この関数で、グローバル変数でインスタンス ハンドルを保存し、 // メイン プログラム ウィンドウを作成および表示します。 // BOOL InitInstance() { hInst = hInstance; // グローバル変数にインスタンス処理を格納します。 ATOM c = MyRegisterClass(hInstance); hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); if (!hWnd) { return FALSE; } return TRUE; } BOOL ShowWindow() { BOOL ret; ret = ::ShowWindow(hWnd, SW_SHOW); ::UpdateWindow(hWnd); return ret; } HINSTANCE hInstance; MSG msg; BOOL Main() { HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_WINDOWSPROJECT7)); // メイン メッセージ ループ: while (GetMessage(&amp;msg, nullptr, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &amp;msg)) { TranslateMessage(&amp;msg); DispatchMessage(&amp;msg); } } return TRUE; } BOOL OnPaint() { return TRUE; } }; int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO: ここにコードを挿入してください。 // グローバル文字列を初期化しています。 LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadStringW(hInstance, IDC_WINDOWSPROJECT7, szWindowClass, MAX_LOADSTRING); //MyRegisterClass(hInstance); MyWindow win; win.hInstance = hInstance; // アプリケーションの初期化を実行します: if (!win.InitInstance()) { return FALSE; } BOOL ret; win.ShowWindow(); ret = win.Main(); if (ret) { return 0; }else { return (int)win.msg.wParam; } } // // 関数: WndProc(HWND, UINT, WPARAM, LPARAM) // // 目的: メイン ウィンドウのメッセージを処理します。 // // WM_COMMAND - アプリケーション メニューの処理 // WM_PAINT - メイン ウィンドウの描画 // WM_DESTROY - 中止メッセージを表示して戻る // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_COMMAND: { int wmId = LOWORD(wParam); // 選択されたメニューの解析: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } } break; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &amp;ps); MyWindow *target = MyWindow::find(hWnd); target->OnPaint(); // TODO: HDC を使用する描画コードをここに追加してください... EndPaint(hWnd, &amp;ps); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // バージョン情報ボックスのメッセージ ハンドラーです。 INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG: return (INT_PTR)TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; } break; } return (INT_PTR)FALSE; }
// WindowsProject7.cpp: アプリケーションのエントリ ポイントを定義します。 // #include "stdafx.h" #include "WindowsProject7.h" #define MAX_LOADSTRING 100 // グローバル変数: HINSTANCE hInst; // 現在のインターフェイス WCHAR szTitle[MAX_LOADSTRING]; // タイトル バーのテキスト WCHAR szWindowClass[MAX_LOADSTRING]; // メイン ウィンドウ クラス名 // このコード モジュールに含まれる関数の宣言を転送します: //ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); class MyWindow { public: HWND hWnd; MyWindow() :hWnd(NULL) { } // // 関数: MyRegisterClass() // // 目的: ウィンドウ クラスを登録します。 // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEXW wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINDOWSPROJECT7)); wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_WINDOWSPROJECT7); wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassExW(&amp;wcex); } // // 関数: InitInstance(HINSTANCE, int) // // 目的: インスタンス ハンドルを保存して、メイン ウィンドウを作成します。 // // コメント: // // この関数で、グローバル変数でインスタンス ハンドルを保存し、 // メイン プログラム ウィンドウを作成および表示します。 // BOOL InitInstance() { hInst = hInstance; // グローバル変数にインスタンス処理を格納します。 ATOM c = MyRegisterClass(hInstance); hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); if (!hWnd) { return FALSE; } return TRUE; } BOOL ShowWindow() { BOOL ret; ret = ::ShowWindow(hWnd, SW_SHOW); ::UpdateWindow(hWnd); return ret; } HINSTANCE hInstance; MSG msg; BOOL Main() { HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_WINDOWSPROJECT7)); // メイン メッセージ ループ: while (GetMessage(&amp;msg, nullptr, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &amp;msg)) { TranslateMessage(&amp;msg); DispatchMessage(&amp;msg); } } return TRUE; } }; int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO: ここにコードを挿入してください。 // グローバル文字列を初期化しています。 LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadStringW(hInstance, IDC_WINDOWSPROJECT7, szWindowClass, MAX_LOADSTRING); //MyRegisterClass(hInstance); MyWindow win; win.hInstance = hInstance; // アプリケーションの初期化を実行します: if (!win.InitInstance()) { return FALSE; } BOOL ret; win.ShowWindow(); ret = win.Main(); if (ret) { return 0; }else { return (int)win.msg.wParam; } } // // 関数: WndProc(HWND, UINT, WPARAM, LPARAM) // // 目的: メイン ウィンドウのメッセージを処理します。 // // WM_COMMAND - アプリケーション メニューの処理 // WM_PAINT - メイン ウィンドウの描画 // WM_DESTROY - 中止メッセージを表示して戻る // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_COMMAND: { int wmId = LOWORD(wParam); // 選択されたメニューの解析: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } } break; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &amp;ps); // TODO: HDC を使用する描画コードをここに追加してください... EndPaint(hWnd, &amp;ps); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // バージョン情報ボックスのメッセージ ハンドラーです。 INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG: return (INT_PTR)TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; } break; } return (INT_PTR)FALSE; }
こんなかんじ。クラス化した
とりあえず、Visual Studioが作ってくれるテンプレ
// // 関数: MyRegisterClass() // // 目的: ウィンドウ クラスを登録します。 // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEXW wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINDOWSPROJECT7)); wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_WINDOWSPROJECT7); wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassExW(&amp;wcex); }
お前(受け取り拒否見たの)初めてか?力抜けよ。
当方の主張は「左のいつもの手口」。であるから左の類似事例を挙げてるわけよ。受け取れないように受け取れないようにやって、相手のせいにするプロパガンダ、もういつもの手口ですわ。
「その人」じゃなくて、左系はそういう行動をしばしば(100%ではないぞ)とるよね、様式だよね、という話なわけ。で、様式であることを示すために、ちゃらっと調べて出てきたのを張ってるわけ。チョコの奴は記憶だから曖昧だがね。どっかにいい無料のニュースアーカイバねぇかね。
今回通告してるし
んじゃ、今回の「抗議文」どうやって渡したんでしょうね。まず抗議集会の開始は、はい、「午後7時」。普通の企業団体ならもうとっくに店じまいだわ。そんな時間に判断がいるモノ受け取れるわけないでしょう。夜間警備の警備員しかいねぇんだから。婚姻届ぐらいだわそんな時受け取るのは。ちなみにご本尊のツイッターだと渡し損ねて記念写真が午後8時ごろですわ。そりゃ絵図が当たってニッコニコのエビス顔で記念写真も撮ろうってなるわな。
え、特級市民にして偉大なるLGBT様のためならカス自民党職員共は居残りでも残業でもしろと?そのために事前連絡もしましたと? さすが特級市民の皆様、ブラックだねぇ、下々にはそんな発想できねぇね。その事前連絡いつよ?それ、リスケできるタイミングじゃないでしょ?
で、この行動のどこに、真摯に相手方に文書を手交しようという意図があるの?
一方的に電話で通告するのが真摯なの? 時間外に呼びつけるのが真摯なの? 衆の力を借りて暴力的に囲むことが真摯なの? 判断もできない現場の警備員をいじめ散らかすのが真摯なの? すげぇな、偉大なる領導であらせられるるLGBT様って奴は。
大体「連絡した」っつってるの、片側の主張じゃね?それ丸呑みして相手のせいだっての、すでにプロパガンダの丸のみなわけよ。
で、絵図かいてはめた連中がいろんなところで「我々の聖なる抗議文を極悪なジミンは拒否した!特級市民様の声を聴かないジミンを成敗せよ!」とかやる。低能な支援者とか間抜けなブクマカとかが「まあ自民党やっぱり感じ悪い!1!!」ってなる。そりゃお左さまにしてみりゃウハウハ、低能釣りのために飽きもせず繰り返しますわ。左Aがやれば左Bがぱくって、それと連帯する左Cがコピッて、その団体から崩れたやつが流れ着いた左Dでもチャレンジして・・・・ってやってるうちに行動様式として定着するわけよ。
ちなみに、例えば、じゃあ45分後におまえんちか、お前の関係先に抗議文渡すからちゃんと受け取れよ、罪状は無断IDコールによる心的外傷で謝罪と賠償要求するからな? と言ったらどうするんだよ?受け取るのか?得体も知れねぇ野郎(or尼orその他な有象無象)を近寄せようとするか?
http://b.hatena.ne.jp/entry/s/anond.hatelabo.jp/20180730024721
よくあることについてはご理解頂けたようで何より。
遺憾ながら左派はいついかなる時でも虚偽を言う事当然(ex.放射脳共が意図的にふりまくデマ、国会におけるイラク2外交官殺害米軍陰謀説を唱えた民主党)況やほかの状況においておや。
大体「通告」なるモノの内容時間はだれか公開してましたっけ?
それに党員が出ろとは言ってないよね?時間が遅いから最初から警備員に渡しててそこは問題にしてない。しかも最終的に受け取られたし
関係ない業者が受け取っていいものかどうかわからんのに押し付けようとする行為が是なんだ、ふーん。業者いじめやね。政治家なら、政治的な文章の取り扱い位どうすべきか知ってるのにわざわざ末端が困るように行動して恥じないわけだ。さすが特級市民にして偉大なるLGBT様はちげぇね
さらに言えば
https://twitter.com/KamikawaAya/status/1022910260418207749
いないこと知っててやってるわけですよ? これでイノセントだって言い張るんだ。さすL
http://b.hatena.ne.jp/entry/b.hatena.ne.jp/entry/s/anond.hatelabo.jp/20180730024721
公開され無くても自民が通告に抗議しない以上、常識的だったと理解すべきだ。警備員は関係ないというが、受け取り自体は業務内で行えて後に渡してるから、自民側から事前に話を回せばいいだけでは。
なんの証拠もなく、受け渡し側の言い分を丸呑みするという信仰告白であると受け止めます。しかし、こちらはそのような宗教を信じているわけではないので、説得には全く寄与しない言説でした。なお、相手側に強弱はあれ負担を強いるのはすでにして失礼な行為では。
その他にご異存はないようなのでまとめると
信じる根拠が身分だけ、というのは些か前近代的は御発想で素晴らしい奴隷根性であると申し上げたいと思います。懐疑の心ってやつは"身内"に向かんもんですな。議員がどのようなウソをつくのか、まさかご存知ではありますまいに。
合意していたら、そもそも騒ぎなぞにはならんでしょう。それほど
「同人誌ならグレーだから訴えられない」「駿河屋で買って自社で裁断」 被害続く“違法同人誌サイト”、法人運営の悪質手口を関係者に聞いた (1/2)
http://nlab.itmedia.co.jp/nl/articles/1806/30/news002.html
ttp://d-upp.com/
moemax
ttp://doujin-labo.com/mainindex.php
ビーシェアリング
裏バラ本舗
ttp://comic-doujin.com
どこでもどうじん
ttp://d-doujin.com
ttp://kichikuchinko.com
他にもあるのかも
「差別」や「ヘイト」などの表現が出てこないのは モバゲー と NAVER と niconico と Yahoo!JAPAN ※すべて「他者の権利の侵害の禁止」などの記載のみ
「差別」の具体例が出てこないのは AbemaTV と Livedoor と 小説家になろう
「差別」の具体例が一番多いのが Facebook と はてな で11種 ☆はてな優秀!えらい!
・Facebookの「移民ステータス」(移民の滞留資格のことでいいのかな?)
※対象にしたサイトははてなによく上がってきてコメント機能などがあるサイトをできるだけ網羅したつもりです。
※URLがいっぱいあると投稿できないみたいなのでh抜きで書いてます。
ttps://abema.tv/about/terms
第8条(禁止事項)
ttp://helps.ameba.jp/rules/post_104.html
第13条(禁止事項)
4.本条第1項に定める禁止事項とは以下に定めるとおりとします。
ttps://www.facebook.com/communitystandards/objectionable_content/
Facebookが考えるヘイトスピーチとは、人種、民族、国籍、信仰、性的指向、性別、ジェンダー、性同一性、重度の病気や障がいなど、保護特性と呼ばれるものを理由に人々を直接攻撃することです。Facebookでは、移民ステータスに関する保護も提供しています。
ttps://pid.gree.net/?action=term_generic&page=terms_pc
ttp://www.hatena.ne.jp/rule/rule
第6条(禁止事項)
3.他者を差別もしくは誹謗中傷し、他者の名誉もしくは信用を毀損、侮辱し、もしくは業務を妨害する行為、または、そのおそれのある行為
ttp://www.mbga.jp/www/kiyaku.html
第3条(禁止事項)
(2) 公の秩序または善良の風俗を害するおそれのある行為(過度に暴力的な表現、露骨な性的表現、その他反社会的な内容を含み他人に不快感を与える表現を投稿、掲載、公開、送信する行為などを含みます。)。
(3) 当社または第三者の権利(著作権、商標権、特許権等の知的財産権、名誉権、プライバシー権、その他法令上または契約上の権利を広く含みます。)を侵害する行為。
ttp://ex.nicovideo.jp/base/guideline
例)
ttps://note.mu/terms
8.禁止事項
ttps://syosetu.com/site/rule/
第14条 禁止事項
3. 当グループもしくは他者を不当に差別もしくは誹謗中傷し、他者への不当な差別を助長し、又はその名誉もしくは信用を毀損する行為。
ttps://togetter.com/info/terms
4. トゥギャッター若しくは第三者を不当に差別し若しくは誹謗中傷し、又はトゥギャッター若しくは第三者の信用若しくは名誉、プライバシー権、パブリシティ権、肖像権、若しくはその他一切の権利を侵害する行為若しくは侵害するおそれのある行為
ttps://help.twitter.com/ja/rules-and-policies/twitter-rules
ヘイト行為: 人種、民族、出身地、信仰している宗教、性的指向、性別、性同一性、年齢、障碍、深刻な疾患を理由とした他者への暴力行為、脅迫、嫌がらせを助長する投稿を禁じます。
ttps://about.yahoo.co.jp/docs/info/terms/chapter1.html
第1章 総則
7. サービス利用にあたっての順守事項
(2) 社会規範・公序良俗に反するものや、他人の権利を侵害し、または他人の迷惑となるようなものを、投稿、掲載、開示、提供または送信(以下これらを総称して「投稿など」といいます)したりする行為
ttps://support.google.com/youtube/answer/2801939?hl=ja
悪意のある表現とは、次のような特性に基づいて個人や集団に対する暴力を助長したり差別を扇動したりするようなコンテンツを指します。
・宗教
・身体障がい
・性別
・年齢
実際には、こっから先は自分たちも美味しい思いができるわけじゃない、というのが、老化とともに身に迫ってきてるのが大きいんだろうなと思う。
若者向けのサービスやりたいんだけどと相談をされて、そんな市場はありませんよ?だって~~だから(ex.子育て世代にそんなヒマ&金あるかいな、あなた方がボリュームがあると思い込んでいる団塊Jr.世代はもう中年だし金もない など)をデータと共に説明すると、なんていうか、ピリピリっとする。
んで、大抵は若者をターゲットにすることを諦めて、バブル世代以上をターゲットに据えて「親子二代で!」とかお茶を濁したりすることが多い。
まぁでも全員ではないけどね。
こないだ会った人は50代半ばだったけど、まさに「若者向けのつもりで企画したけど市場がないからシニア向けに切り替えようか」という会議で、初めて説明を遮って「年寄り共が手をこまねいてるからこんな辛気臭い話ばっかりになるんだよ!」って怒ってて、まともなバランス感覚のある人も居るんだなぁ、とは思ったけど。あとで聞いたら出来るけどかなり変わり者だって話だったので、まぁ少数派ではあるんだろうなぁ。
女子ドルは細かいことはわからないけどグループ名だけは知ってる、って場合が結構あるのですが(ex.仮面女子・東京女子流・夢見るアドレセンス)、男子アイドルは知名度がほぼありません。
なぜだ。よく言われているジャニーズテレビ支配のせいなのか。それとも女子ドルには女性ファンもつくけど男子ドルにはまず男性ファンがつかないせいか。
その辺の事情はわかりませんが、せっかくなので知ってる限りの近年デビューした知名度が低い男性アイドルを紹介します。
こないだ話題になっていた特典会でベタベタする地下男性アイドルみたいなのだけが男性アイドルではないですからね! 『男性ファンと違って女性ファンは過激なものを求める』ってコメントを見て驚愕したんですよ私は! そんなわけあるか! しかしこんなとんちんかんな意見が出てくるのも超トップ知名度ジャニーズと超過激地下ドルしか知られてないせいだと思うので、ぜひ若手で頑張ってるレベルの高い子たちをご覧ください。
https://www.youtube.com/watch?v=j9dHcSlVL4c
ちょっと前に書いたので詳細はそちらで。
https://anond.hatelabo.jp/20180322225112
ただ惜しむらくは、キャラはマジでいいんですけど、激しく踊りながら歌える人がいないっぽい……。
デビュー曲の披露、完全被せだったり岸くんだけ生歌だったり平野くんだけ生歌だったりと様々なバージョンがありましたが、緊張してるのを差し引いても見ててハラハラしてしまう。
本人たちの言う『世界を目指す』を真に受けてる者としてはもうちょっと頑張ってほしいです。
https://www.youtube.com/watch?v=rx7_YMMCxKw
この子達固定グループじゃないらしいんですが、CD出すからにはデビュー扱いでいいですよね?
ご覧のとおり歌もダンスも上手いし飾り気がない少年っぽさがかっこいいです。
●祭nine
https://www.youtube.com/watch?v=85te9TMwteY
踊りながら歌いながらアクロもする滅茶苦茶タフな人たち。事務所が鬼のようなリリースイベントを組むのでこれ踊ったときにはかなり疲弊してたはず……。そのわりには大変クオリティが高いです。恐ろしいことに生歌なんですよ。
赤・紫・黄色の子が特に歌が上手くてこの曲では彼らしか歌ってませんが、ほかの曲は全員参加します。
●ANTIME
https://www.youtube.com/watch?v=eKhlNQe8qDs
メンバー三人が元ジャニーズジュニア。ジュニア時代からわりと人気のある子たちだったので最初から一定のファンがいました。
落ち着いて聴ける『いい曲』をよく出していますが、ダンスもできる方なのでわりと動きます。
●XOX
https://www.youtube.com/watch?v=jsYTtgVaFq8
読者モデル出身で結成。ひたすらお洒落さとメンバーの顔の良さを堪能するグループ。
歌とダンスは期待してはいけない。ファンの方によると上達してはいるらしいんですが、いいんです、そこが目玉ではないので。
最近中心だったとまんくんが抜けて雰囲気が若干変わりました。新加入の二人もモデルの子。
多少なりとも知っているグループはこのぐらいでした。
あとはスタダのSUPER★DRAGONとかLINEのオーディションで勝ち上がったFlowbackとか、いろいろほかにもいるんですけどコメントつけられるほど詳しくないので控えます。
そして力の入れ方に差はあるにせよ皆さん特典会どんどんやってらっしゃいます。個人的にはアイドルは偶像でいてくれれば満足なので接触はそんなに求めてないんですが、一番手っ取り早くファンを獲得できる手法であることは確かなんですよね。当然事務所がちゃんとしてるところは、握手・トーク・ツーショ以上のことはさせません。
もうそれなりに知名度あるなと思った超特急・DISH//・m!lkは抜きました。m!lkは正直微妙なとこだったんですけど、佐野くん最近俳優で活躍してるから広がってるかなって。
はてブの人気コメントがひどい。いやサービス当初からひどいけど、最近は読むに耐えない内容のものが多すぎる。
2012年くらいまではまだよかったと思う。支持政党や思想に偏る事なく(ないとは言わないが)、記事に対して要旨をまとめていたりきちんとした反駁をしているものが人気コメントに上がってきていた。
はてなブックマーク - 「ルーピー」鳩山に怒り心頭だったオバマ大統領 アジア政策を支えた側近の回顧で明らかに (2012/03/21)
http://b.hatena.ne.jp/entry/jbpress.ismedia.jp/articles/-/34803
当時不人気であった鳩山首相の記事なのでさぞ同意コメントが、と思いきや「この記事はおかしい」「筆者がおかしい」「記事を読んでの意見」とかもきちんと上がってきている。
こういう状態だと、それぞれの立場からの意見があり公平な視点で読むことがしやすい。
(賛成、反対の意見があった上で自分はどちらなのかまた第三の意見なのかという発想ができる)
はてなブックマーク - 麻生財務相「セクハラ罪という罪はない、殺人とは違う」:朝日新聞デジタル (2018年5月4日)
http://b.hatena.ne.jp/entry/s/www.asahi.com/articles/ASL547FDDL54ULFA00P.html
麻生氏はメディアブーストも相まっての失言メーカーである事は昔から知られているし、こういう意見も出るのは納得できる。
(メディアで発言しない方がいい人なんだけど、マイクを向けられちゃうんだろうな)
しかし、
こういうコメントは最近上がってこない。(「全てのコメント」から探してみるとある)
上記の 2 ページを見比べてもらえれば分かりますが、2012年当時と今ではブコメ数もスター数もかなり増加しています。
昨今の Twitter、Facebook などの SNS の影響により気軽にスターをつけたりコメントを書いたりする敷居が下がったのかなと思います。(スマホでリアクションする人も当時と比べると相当に増えたんだろうな)
人が多ければ集まるリアクションもコメントも多いし大衆化するのは仕方がない事ではあるのですが、もう少しどうにか、はてブのシステム的な解決でもよいですし、スターやコメントをつける方々に良識を持ってアクションしてもらいたいなと思います。
(ex. スターやコメントをつけるその文章を、口に出して家族友人や学友同僚に言える意見なのかどうか。)
知性なきスターやコメントはあなたの知性をも下げかねないんじゃないかなと思います。お気をつけください。
また、自分が平常であるかどうかも気にした方が良いと思います。2012年当時の自身のネトウヨ活動を自省した記事がありましたので引用しておきます。
[雑記]かつてネトウヨであった「私」から、今ネトウヨである「あなた」への手紙 (2012-05-26)
https://megalodon.jp/2012-0608-0033-45/d.hatena.ne.jp/akio71/20120526/p1
http://b.hatena.ne.jp/entry/d.hatena.ne.jp/akio71/20120526/p1
自分の家族でもなければ、隣人でもない人間を、一方的に侮蔑し、罵倒し、悪いことが起きれば彼等のせいにし、良い人間は「彼等ではない、自分達の同胞」であるとする。
「日本人」「親日」という、広すぎるくくりで、成果をあげた人間を褒め称え、自分達はなにも努力をせずに、自尊心を満たせること。
いっけん、まっとうに見えるニュースの裏を陰謀論で読み解き、「一足はやく真実に気付いた私達」同士で、悦にいること。
1999年も、2000年も何事もなく過ごしたくせをして、「いずれ来る、反日勢力による危機」という未来に楽しく怯え、「選ばれた私達の手によって、その危機は回避できるのだ」「選ばれた私達だけが、その危機に備えられるのだ」と誇ること。
ネトウヨとは、なんとも楽しく、誇らしく、胸のすく、「溜飲の下がる」遊びでした。
これは、私の、ごく個人的な事情ですが、ネトウヨだった頃の私は、職場で大きなストレスを抱えていました。
ストレスの源をどうにかする方法は「会社を辞める」か「家を出る」しか、当時の私には思いつかず、ネトウヨとして誰か、自分とは縁もゆかりもないがゆえに、完全に自分が正義の側に立てる相手を、あげつらい、笑い、糾弾し、いずれ彼等は滅びるのだと信じ、実際には自分の味方などしてもくれないような相手を「日本人」で「愛国」で「親日」だから信頼できるとすがり、どうにもできない自分の状況のかわりに、わかりやすい異国の弱者を助けたいと、思い上がっていました。
もう、老人会くらいの人か覚えてないと思うけど、昔dankogaiという人がいたんですよ。
perlのハッカーでね、Encode.pm作ったりして貢献されていたんですよ。
すごく本を読むのが早くて、頭がいいもんで、書評をブログを書いていたんですよ。結果、最初の有名ブロガー(アルファブロガー)になったんですよ。
当然perlのハッカーだからperlのソースを書かれてたんですけど、読みづらくてねぇ。perl = 読みづらいを加速させてくれたんじゃないかと思いますよ。
(ex. http://blog.livedoor.jp/dankogai/archives/50502585.html)
人気ブログだったので本とかも出されてね、2000年代のインターネットの重要人物だったんですよ。
それから、4、5年くらい前かなぁ?Twitterの波がグワーって来た頃から更新が減りましてTwitterにすっかり移っちゃったんですな。
さっきみたら去年の7月の更新が最後だったんですな。内容を見たらVALUのリードエンジニアになったとの記事ですね。
サイト行って確認するまでなんのサービスだったかも忘れていました。
まぁ、そんなdankogaiさんなんですけどね、最近はおなじアルファブロガーの池田ノビー先生同様、信者商売をされているようでしてニコニコ動画で自分のチャンネルをやっておられるようです。
さて、そんなdanさんなんですが、結構政権批判ツイートをいいねしておりまして、別に個人の思想なんて自由だとは思うのですが、「dan kogaiさんはこのツイートをいいねしました」で入ってくるもんで、へぇそうなんだと思い、増田らせていただきました。
もう2018年なんですなぁ。
↓
その感想と対立する意見にも理があると思う(ex. まあたけのこの里もいいところがある)
↓
俯瞰してみた場合どちらが妥当か考える(ex. 1個当たりチョコの量で考えたら、やはりきのこの山がお得ではないか)
↓
その俯瞰した視点がそもそも偏っていることを自覚する(ex. チョコの量が多ければ良いとは限らない)
↓
もう黙っているのが無難でないかと考えるが、それも無責任かもしれないと思う(ex. 両陣営からハブられてしまうかも…)
↓
結局当たり障りがないことしか言えない(ex.どっちもそれぞれに美味しいよ)
最終的にはただ「何かを言いました」というアリバイを作るだけのことに、いちいちこのくらい考えるのしんどい。
喋らなくても平和に生きていけるようになりたい。
昨今のアイドルソングは一般ピープルの思い描くような「童貞を肯定し、彼らの妄想を膨らませる曲」が著しく減っていると感じる。
アイドル戦国時代が終焉を迎え、アイドル混沌時代の今。ザ・制服!のようなグループはとても少ない。それぞれのグループがコンセプト(ex.ラップ、祭り、釣り、neo、etc...)を持って活動している。何でもあり。
だからこそ!
一般ピープルも「アイドル」というだけで毛嫌いせず曲を聴いてほしい。ライブにも時間が合えば来てほしい!
地上の48G、ハロプロ系、スタダとかでも、地下のわけわからんグループでもいい。正直、どのグループでもいいから、曲を聴いて欲しい。どこかにはあなたの好きな雰囲気の曲をやっているグループがあるから。
youtubeとかで聞いて。
確かにアイドルオタクには、気持ち悪い人も頭のおかしな人も日本語が通じない人もいる、だからといってアイドルソングを無下にしないで欲しい。
確かに最近のアイドルの中には、自己顕示欲の塊でスキルもないかわいくもないくせにワァーキャーされてイケメンとパコりたいだけの人もいる、だからといってアイドルソングまで下劣なものとして見ないで欲しい。
歌はすごいから。
色々聞いてみて下さい。