SlideShare a Scribd company logo
.NET MVP によるドキドキ・ライブコーディング! 小島の分
•
•
•
•
•
• http://www.microsoft.com/ja-jp/dev/campaign/csharp/story.aspx
•
3
C丼
•
•
.NET MVP によるドキドキ・ライブコーディング! 小島の分
1.
2.
3.
1.
2.
.NET MVP によるドキドキ・ライブコーディング! 小島の分
•
•
.NET MVP によるドキドキ・ライブコーディング! 小島の分
.NET MVP によるドキドキ・ライブコーディング! 小島の分
•
•
•
•
•
石野さん のことだから…
まさかとは思うけど、
他プレイヤーの GetPutCard
メソッドを書き換えて勝てって
意味かも (謎)?
•
• http://www.codeproject.com/Articles/37549/CLR-Injection-Runtime-Method-Replacer
public static void 取り替え(this MethodInfo メソッド1, MethodInfo メソッド2)
{
unsafe {
var メソッドへのポインター1 = メソッド1.MethodHandle.Value.ToPointer();
var メソッドへのポインター2 = メソッド2.MethodHandle.Value.ToPointer();
*((int*)new IntPtr(((int*)メソッドへのポインター1 + 1)).ToPointer()) =
*((int*)new IntPtr(((int*)メソッドへのポインター2 + 1)).ToPointer());
}
}
unsafe! だめじゃん!!
メソッドが取り替えられないなら
インスタンスを取り替えてしまえば
良いじゃない
.NET MVP によるドキドキ・ライブコーディング! 小島の分
こうして…
こうだ!!
異物混入!!!
全勝!
.NET MVP によるドキドキ・ライブコーディング! 小島の分
class 偽鈴木 : 偽プレイヤー
{
public override string GetPalyerName()
{ return "どうみても本物の鈴木"; }
public override string GetPalyerImageName()
{ return "suzuki.png"; }
}
class 偽石野 : 偽プレイヤー
{
public override string GetPalyerName()
{ return "疑いようのない真の石野"; }
public override string GetPalyerImageName()
{ return "ishino.png"; }
}
public 裏工作をするプレイヤー()
{
偽装工作.開始(ゲーム);
自分のことは棚に上げてイカサマされたときに訴える();
}
void 自分のことは棚に上げてイカサマされたときに訴える()
{
const int 最大のパスの回数 = 3;
Application.Current.MainWindow.Closing += (sender, e) => {
if (GetPutCardが呼ばれた回数 < 最大のパスの回数)
MessageBox.Show("イカサマだ!!", "或るプレイヤーからの訴え",
MessageBoxButton.OK, MessageBoxImage.Warning);
};
}
•
•
.NET MVP によるドキドキ・ライブコーディング! 小島の分
•
•
• 最後の札、はしっこの札 (AかK)、次も自分が持ってる: 出す
• 次が自分じゃない札:
• とにかく止められるとき (パスできるとき) は止めてパス
• パス3回だったら
「その札より後ろにある自分の札の枚数 - その札より後ろにある自分以外の
札の枚数」がなるべく多くなるやつを出す
それぞれの出せる札で
この基準で評価点をつけ、
評価点が最高の札を出す
•
•
1. 7から遠い札ほど高評価 (出しても相手に有利になりにくい)
2. その札より後ろに自分の札があった場合
• 「後ろに自分の札までの距離」が近いほど高評価とする
評価が或る程度以上高け
れば、パスできてもパス
せずに出す
.NET MVP によるドキドキ・ライブコーディング! 小島の分
珍現象発生!!
•
石野さんの勝ち!
•
石野さんの勝ち!
•

More Related Content

PPTX
メタプログラミング C#
PPTX
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
PDF
C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020
PDF
appengine ja night #4 Transaction Puzzlers
PPT
C++0x in programming competition
PDF
Juliaで並列計算
ODP
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
PPTX
メタプログラミング C#
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020
appengine ja night #4 Transaction Puzzlers
C++0x in programming competition
Juliaで並列計算
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜

What's hot (20)

PDF
C++11概要 ライブラリ編
PDF
Juliaによる予測モデル構築・評価
PPTX
C# LINQ ~深く知って、使いまくろう~
PDF
C++0x in programming competition
PDF
Synthesijer hls 20150116
PDF
traitを使って楽したい話
PDF
Metaprogramming in JuliaLang
PDF
ゲーム開発者のための C++11/C++14
PDF
わんくま同盟大阪勉強会#61
PDF
error handling using expected
PDF
20141128 iOSチーム勉強会 My Sweet Swift
PDF
Replace Output Iterator and Extend Range JP
PDF
Bluespec @waseda(PDF)
PDF
お前は PHP の歴史的な理由の数を覚えているのか
PPT
Algorithm 速いアルゴリズムを書くための基礎
PDF
What is template
PDF
templateとautoの型推論
PDF
PHP5.5新機能「ジェネレータ」初心者入門
PDF
C++ ポインタ ブートキャンプ
PDF
C++入門?
C++11概要 ライブラリ編
Juliaによる予測モデル構築・評価
C# LINQ ~深く知って、使いまくろう~
C++0x in programming competition
Synthesijer hls 20150116
traitを使って楽したい話
Metaprogramming in JuliaLang
ゲーム開発者のための C++11/C++14
わんくま同盟大阪勉強会#61
error handling using expected
20141128 iOSチーム勉強会 My Sweet Swift
Replace Output Iterator and Extend Range JP
Bluespec @waseda(PDF)
お前は PHP の歴史的な理由の数を覚えているのか
Algorithm 速いアルゴリズムを書くための基礎
What is template
templateとautoの型推論
PHP5.5新機能「ジェネレータ」初心者入門
C++ ポインタ ブートキャンプ
C++入門?
Ad

Viewers also liked (18)

PPTX
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
PPTX
C# 6.0 Preview
PPTX
C# 3.0 以降
PPTX
C# MVP に聞くC#アレコレ! 小島の分
PPTX
Windows 8 ストア アプリ 開発 Tips
PPTX
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
PPTX
Xamarin ~ iOS/Android/Windows アプリを C# で作ろう~
PDF
20140918 i os8勉強会_performance
PDF
変化する力〜これまでのキャリアを振り返って
PDF
第4回勉強会 単体テストのすすめ
PDF
New Wind of Java
KEY
初めての単体テスト
PPTX
Windows phoneの開発ツール
PPTX
Windows 10 January Technical Preview 日本語版を使ってみた
PDF
これからの開発現場が持つべき最低限の開発フロー #hokunet
PDF
Sevens Algorithm
PDF
酒の肴はC# vNext
PDF
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
C# 6.0 Preview
C# 3.0 以降
C# MVP に聞くC#アレコレ! 小島の分
Windows 8 ストア アプリ 開発 Tips
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
Xamarin ~ iOS/Android/Windows アプリを C# で作ろう~
20140918 i os8勉強会_performance
変化する力〜これまでのキャリアを振り返って
第4回勉強会 単体テストのすすめ
New Wind of Java
初めての単体テスト
Windows phoneの開発ツール
Windows 10 January Technical Preview 日本語版を使ってみた
これからの開発現場が持つべき最低限の開発フロー #hokunet
Sevens Algorithm
酒の肴はC# vNext
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Ad

Similar to .NET MVP によるドキドキ・ライブコーディング! 小島の分 (15)

PPTX
Deep Dive C# 6.0
PDF
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
PPTX
保守しやすいコードの反面教師​ (アンチパターン) その1
PPTX
最速C# 7.x
PPTX
Visual basic14 の話
PPTX
値型と参照型
PPTX
C# 8.0 Preview in Visual Studio 2019 (16.0)
PPTX
Unimaginable code & commentary
PDF
今日からできる!簡単 .NET 高速化 Tips
PPTX
関数型言語&形式的手法セミナー(3)
PPTX
(ゲームじゃない方の)switchで遊びたい話
PPTX
復習も兼ねて!C#6.0-7.0
PPT
レガシーコード改善ガイド読書会 第10章
PPT
オブジェクト指向入門7
PDF
F#によるFunctional Programming入門
Deep Dive C# 6.0
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
保守しやすいコードの反面教師​ (アンチパターン) その1
最速C# 7.x
Visual basic14 の話
値型と参照型
C# 8.0 Preview in Visual Studio 2019 (16.0)
Unimaginable code & commentary
今日からできる!簡単 .NET 高速化 Tips
関数型言語&形式的手法セミナー(3)
(ゲームじゃない方の)switchで遊びたい話
復習も兼ねて!C#6.0-7.0
レガシーコード改善ガイド読書会 第10章
オブジェクト指向入門7
F#によるFunctional Programming入門

More from Fujio Kojima (20)

PDF
AIエージェント勉強会~マイクロソフトの最新技術発表を受けて~ (2025/07)
PDF
ITエンジニア (Developer) 向けAIエージェント勉強会 (2025/06/13)
PDF
Burikaigi 2023「C# Live Coding!」 小島の分
PDF
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
PDF
.NET 6 時代のデスクトップ アプリケーション開発
PDF
BuriKaigi 2022 「C# Live Coding!」 小島の分
PDF
C#勉強会 ~ C#9の新機能 ~
PDF
.NET 5 勉強会 ~.NET Framework から .NET へ~
PDF
.NETラボ 勉強会 2021年1月 「C#で機械学習」
PDF
『議論パターン』 (Discussion Patterns) ~不毛な議論を避け、実り有る議論とするために~
PDF
牛タン会議 2019 @ 仙台 「C# ドキドキ ライブ!!」 小島の分
PDF
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
PDF
機械学習 (AI/ML) 勉強会 #2 IoT編
PDF
機械学習 (AI/ML) 勉強会 #1 基本編
PPTX
BuriKaigi2019 「C# ドキドキ・ライブコーディング」 小島の分
PPTX
機械学習入門
PPTX
C# でニューラルネットワークをスクラッチで書いて機械学習の原理を理解しよう
PPTX
「ふくいソフトウェアコンペティション 2014 大賞受賞者プレゼンテーション」
PPTX
HTML5 on ASP.NET
PPTX
最新C#動向と関数型言語haskell ~命令型静的プログラミングから関数型動的プログラミングへのシフト~
AIエージェント勉強会~マイクロソフトの最新技術発表を受けて~ (2025/07)
ITエンジニア (Developer) 向けAIエージェント勉強会 (2025/06/13)
Burikaigi 2023「C# Live Coding!」 小島の分
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
.NET 6 時代のデスクトップ アプリケーション開発
BuriKaigi 2022 「C# Live Coding!」 小島の分
C#勉強会 ~ C#9の新機能 ~
.NET 5 勉強会 ~.NET Framework から .NET へ~
.NETラボ 勉強会 2021年1月 「C#で機械学習」
『議論パターン』 (Discussion Patterns) ~不毛な議論を避け、実り有る議論とするために~
牛タン会議 2019 @ 仙台 「C# ドキドキ ライブ!!」 小島の分
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
機械学習 (AI/ML) 勉強会 #2 IoT編
機械学習 (AI/ML) 勉強会 #1 基本編
BuriKaigi2019 「C# ドキドキ・ライブコーディング」 小島の分
機械学習入門
C# でニューラルネットワークをスクラッチで書いて機械学習の原理を理解しよう
「ふくいソフトウェアコンペティション 2014 大賞受賞者プレゼンテーション」
HTML5 on ASP.NET
最新C#動向と関数型言語haskell ~命令型静的プログラミングから関数型動的プログラミングへのシフト~

.NET MVP によるドキドキ・ライブコーディング! 小島の分