タグ

プログラミングに関するkarmenのブックマーク (19)

  • ゲームループとキー操作の改良 - 人工知能に関する断創録

    今まではキーイベントハンドラ keyPressed() に直接移動するコードを書いてました。こうしてしまうとキーを押し続けた場合、「ととととと」と勇者が速く移動してしまいます。 そこで、今回はキー操作を改良して「とっ、とっ、とっ」と勇者がゆっくり移動できるようにしてみます。キークラスオブジェクトを作ってキーの状態を保存しておき、ゲームループでそのキーを読み取って移動するという方法で実現できます。 この手法はゲームでキー操作を受け付けるときよく使われるようです。C言語でゲームを作る場合は、Windows APIにGetAsyncKeyState()やGetKeyboardState()という関数が用意されているのですが、Javaにはないため自作する必要があります。 rpg09.jar アクションキークラス まずキーの押された状態を記録するアクションキークラスを使います。これは横スクロールアク

    ゲームループとキー操作の改良 - 人工知能に関する断創録
    karmen
    karmen 2017/08/29
    ゲームエンジンを作るときの下回り。悩んだ時検索で答えが出るのは良い時代とも言えるが、昔のゲーム用のパソコンはこの辺の処理はパソコンメーカーがやってくれていたんだよな・・・。
  • やってみよう数値シミュレーション

    [ index | prev | next] URL= www.ibe.kagoshima-u.ac.jp/~mizuno/sim/ 1.初めに 人は現実世界のモデルを模索してきました。しかし、モデルの振舞を シミュレーション(模擬実験)できないと正しさを確かめることも、有効に使うこともできません。例えば、万有引力の法則と呼ばれるモデルでは、数式による計算で天体観測から得られたケプラーの法則を導出でき ることから正しさを確認できます。さらに計算機を使った数値シミュレーションで人工衛星や惑星探査機の軌道予測も可能です。 短い時間や、短い距離での変化は簡単なモデルで表現できることが多いので、物理法則の多くが微分をつかった方程式の形で表現されています。このようなモデルから微小なものが 集まった大きなものの振る舞いを知るには膨大な計算が必要です。紙の上で計算できるのは、簡単に積分できる、とても条件

    やってみよう数値シミュレーション
    karmen
    karmen 2016/04/01
    電極を例にとった初歩的な数値シミュレーションの解説。
  • Googleは10億個のファイル・20億行のコード・合計86TBでできている

    by Michael Himbeault Googleエンジニアリング・マネージャーであるレイチェル・ポートヴィンさんが、「The Motivation for a Monolithic Codebase」と題した講演の中で、Googleのシステムが86TB(テラバイト)でできていることを明かしました。 Google Is 2 Billion Lines of Code—And It's All in One Place | WIRED http://www.wired.com/2015/09/google-2-billion-lines-codeand-one-place/ 講演ムービーはコレ。話は5つのテーマに分けて行われていて、Googleのリポジトリについての話は1番目、3分過ぎから始まります。 The Motivation for a Monolithic Codebase W

    Googleは10億個のファイル・20億行のコード・合計86TBでできている
    karmen
    karmen 2015/09/26
    もっと出来上がったシステムの上で胡座をかいた商売なのかなと想像してたけど、これが現実だとすると火事場やデスマーチなんて吹いたら飛ぶ分量の仕事量だな。
  • 麻雀 和了判定(役の判定)アルゴリズム

    麻雀 和了判定(役の判定) アルゴリズム 最終更新日:2008/4/9 麻雀の和了判定を高速に行う方法について説明する。 和了の判定は通常バックトラック法を用いて行うが、バックトラック法は面子候補の組み合わせを総当たりで調べるため、処理に時間がかかるという問題がある。 1回実行するだけの場合は処理時間が問題になることはないが、思考ルーチンなどで繰り返し判定処理を行うような場合に、高速に処理できることが要求される。この記事では、そのような場合にインデックスを用いると高速に判定を行えること説明する。 まず、通常法方法を説明した後、インデックスを用いた方法を紹介する。 通常の方法(バックトラック法) 手牌を1つの雀頭と4つの面子に分けることができれば和了の形となる。(七対子と国士無双は例外) 雀頭と4つの面子を構成する牌が重ならない場合は、どのような順番で取り出しても判定することができる。しかし

    karmen
    karmen 2015/09/11
    役判定の前に先ず上がり判定がある。簡単なことからコツコツ積み上げたい。これも意外と面倒。
  • 第10回 麻雀の役を判定する:ITpro

    図1に示す(1)から(3)までの麻雀(マージャン)の手牌があります。「あがり牌」はすべて山からツモったものとし,リーチはかけていません。またドラやハイテイ*1なども関係ないものとします。これらの役を判定して,親の場合の点数を計算するプログラムを作ってください。 「ややこしや~ややこしや~」というのは野村萬斎ですが,思わずそううなってしまうことがプログラミングをしているとよくあります。今回の麻雀の役判定は,考えれば考えていくほどややこしく,そうしたものの代表と言えるでしょう。排他処理や優先順位が複雑にからんでいて一筋縄ではいきません。 今回はややこしい組み合わせを解決する方法を考えてみます。麻雀になじみのない方も,ちょっとしたパズル気分で試してみてください。 麻雀の役を考える 麻雀を知らない方のためにルールをおおざっぱに説明しておきましょう*2。麻雀の牌には,大きく分けて「萬子(マンズ)」「

    第10回 麻雀の役を判定する:ITpro
    karmen
    karmen 2015/09/11
    麻雀の役判定ってプログラムでやると意外と面倒くさい。簡単な説明でも4ページあって全部網羅出来ていないって・・・。
  • Exporting from a DLL Using DEF Files

    A module-definition or DEF file (*.def) is a text file containing one or more module statements that describe various attributes of a DLL. If you are not using the __declspec(dllexport) keyword to export the DLL's functions, the DLL requires a DEF file. A minimal DEF file must contain the following module-definition statements: The first statement in the file must be the LIBRARY statement. This st

    Exporting from a DLL Using DEF Files
    karmen
    karmen 2014/10/28
    VC++で作ったDLLをVBで使おうとするとDEFファイルによるEXPORTの記述が必要になるのよな。
  • https://support.microsoft.com/ja-jp/help/166129

    すべて Microsoft 製品 Microsoft 365 Office Windows Surface Xbox セール サポート ソフトウェア Windows アプリ OneDrive Outlook Skype OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ VR & 複合現実 エンタメ Xbox Game Pass Ultimate Xbox Live Gold Xbox とゲーム PC ゲーム Windows ゲーム 映画テレビ番組 法人向け Microsoft Azure Microsoft Dynamics 365 Microsoft 365 Microsoft Industry データ プラットフォーム Power Platform 法人向けを購入する Developer & IT .NET Visual Studio

    karmen
    karmen 2014/10/22
    プログラムを組むことでいつか人間の仕事は楽になって行くと以前は信じていたものだけど、そのせいで職が無くなって喰うのがしんどくなって行くとは思わなかったな。VC++からのプリンタ制御メモ。
  • 長文日記

    karmen
    karmen 2014/02/13
    学生時代は夢中だったけど仕事では縁のなかった3Dプログラミング。しかし今やるしか無いと思い立ったらこういう記事を発掘しました。
  • Androidアプリにアプリ内課金を実装してみよう

    Androidアプリにアプリ内課金を実装してみよう:Android Marketアプリ内課金サービス徹底解説(2)(1/4 ページ) 7ステップでアプリ内課金を実装 前回の「Androidでアプリ内課金を始めるための基礎知識」では、アプリ内課金の概要とメッセージ、セキュリティの概要に関して説明しました。今回は実装方法とリファレンスに関して説明します。 Android Marketのアプリ内課金は、課金リクエスト送信とトランザクション管理を、分かりやすくシンプルなインターフェイスで提供します。ここでは、例としてアプリ内課金サンプルアプリ「Dungeons」を使用し、主要なタスクを通じてアプリ内課金を実装する方法を説明します。 実際にアプリ内課金を実装する前に、連載第1回の「Android Marketのアプリ内課金サービスとは」を読んでおいてください。また、次回記事の「設計・実装における8つ

    Androidアプリにアプリ内課金を実装してみよう
    karmen
    karmen 2014/01/11
    アプリ内課金で夢の印税生活!しかしコンテンツは自分で考えなくては。
  • Micro-Max

    Newly released beta version! There now is a Winboard version that can handle bigger boards, and a Fairy-Max engine that can run under it (download) The GUI knows the rules of Capablanca Chess, while Fairy-Max can play a wide variety of board sizes and piece types, as it allows user-defined pieces. My original aim was to write a chess program smaller than 1024 characters. I could not do it, so far.

    karmen
    karmen 2013/10/04
    とても短いコードのコンピュータチェス。将棋の参考に。
  • 棋譜の表記方法|よくある質問|日本将棋連盟

    1・・・到達地点の筋 2・・・到達地点の段 3・・・駒の種類 4・・・駒の相対位置(複数ある場合) 5・・・駒の動作(複数ある場合) 6・・・成・不成・打 駒の相対位置 右=指す側から見て右側の駒を動かした場合 左=指す側から見て左側の駒を動かした場合 駒の動作 上=1段以上、上に動く 寄=1マス以上、横に動く 引=1段以上、下に動く 記入例 新聞・・雑誌などでは、筋を算用数字、段を漢数字で記載しますが、日将棋連盟の棋譜記録の際は、すべて算用数字で記載するようになっております。したがいまして、頁でも、すべて算用数字にて説明させていただきます。 到達地点に同種類で1枚の駒しか動かせない場合、4・5・6の駒の相対位置・動作などは記入しません。 例・・・76歩 誤・・・76歩直不成 相手の1手前の指し手と同地点に移動した場合(=その駒を取った場合)、「同」と記入。 例・・・同歩 誤・・・7

    棋譜の表記方法|よくある質問|日本将棋連盟
    karmen
    karmen 2013/10/02
    ブクマした2013年10月2日現在省略形のファッキンな仕様と格闘中。省略形のほうがプロトコルとしては美しいんだけどな。
  • 将棋の海外伝播などについてのブログ

    昨日(8/19)の当ブログへのアクセスログを見ていて、当ブログの今年の1月16日のエントリー「有力なコンピュータチェスのオープンソース開発者が将棋に参入を表明」で紹介したTord Romstad 氏の提案を受け、USI(Universal Shogi Interface)プロトコルに対応した将棋GUIソフト「将棋所」が公開されたのを知った。動作環境OSはWindowsXP/2000とのこと。とりあえず一報のみ。詳細は以下を。 将棋GUIソフト「将棋所」のページ Tord Romstat 氏の、USI Draft に関する shogi-l におけるやりとりをまとめてみた。日語は筆者による要約なので、できるだけ原文にあたられたい。 Re: First draft of the Universal Shogi Interface (USI) (by David J Bush, Jan 24,

    将棋の海外伝播などについてのブログ
    karmen
    karmen 2013/09/25
    将棋のUIを作ったので次は通信。読み始めたものの、自分の力量では手に負えない。されど世界規格になるだろうから無視出来ない。いつか取りかかるためのブクマ。
  • 85DATA-ゼビウスを作る!

    karmen
    karmen 2013/08/08
    いにしえの軽量化テクニック
  • プログラミングはコミュニケーションだ:下流から見たIT業界:エンジニアライフ

    この業界で長年仕事をしていると、ほれぼれするようなソースコードを見ることがあります。 JR系列のSIerに呼ばれて、とある業界団体が管理する観光スポット紹介サイトの改修を手がけたことがあります。PC用、携帯用のページはすでにあるから、それに加えてPDA用のページを作るというプロジェクトでした。面白みのない地味な印象のサイトでしたが、ソース解析を進めていくと、なかなか面白い仕組みになっているのがわかってきました。ブラウザからのリクエストが全部同じURLへ集まるようになっているのです。そのURLで呼び出されるServletが、要求されたページの種類ごとに別のURLにディスパッチするようにできている。 これは有効な方法だと直感できました。まずなんといってもサーバ側のクラスが構造化されます。画面の要求する機能とは別の論理でクラスを構成することができる。それにサイトのURLを一元的に管理できます。ブ

    プログラミングはコミュニケーションだ:下流から見たIT業界:エンジニアライフ
    karmen
    karmen 2013/04/29
    プログラムと言うのは同じように書くと同じように動く。それなのに過程を他人に伝えるのは案外難しい。コピーでは答えしか伝えられないから。
  • RPGとは【Report Program Generator】 - 意味/解説/説明/定義 : IT用語辞典

    karmen
    karmen 2013/02/05
    RPGといってゲームしか知らないヤツはこれ読んで反省な。
  • 「BASICの海へ」──「MZ-80」伝説のマニュアル、シャープが公開 Twitterがきっかけ

    「ようこそBASICランドへ」「BASICの海へ、いざ出帆」「DATAさん、お手をどうぞ、READより」──往年の8ビット機「MZ-80」のBASICマニュアルをシャープがこのほどTwitterを通じて公開した。イラストを多用してBASICについて説明する楽しい内容で、当時のコンピュータ少年が熱中した伝説のだ。「当時の熱意みたいなのをいっしょに感じてもらえたらいいなと思います」という同社からの「ささやかなクリスマスプレゼント」となっている。 公開されたのは「MZ-80 SERIES SYSTEM PROGRAM」と「MZ-80 SERIES BASIC解説」の各PDFファイル。1978年に登場したMZ-80のシステムプログラムとBASIC(SP-5030)を解説している。 BASICのマニュアル「MZ-80 SERIES BASIC解説」は豊富なイラストと分かりやすい文章で知られ、表紙の

    「BASICの海へ」──「MZ-80」伝説のマニュアル、シャープが公開 Twitterがきっかけ
    karmen
    karmen 2012/12/26
    これを読むと「今の自分の仕事がまだまだ」と謙虚な気持ちになれます。
  • O'Reilly Japan - Home

    オライリー学習プラットフォームでテックチームにさらなる力を テックチームの知識は十分でしょうか? オライリー学習プラットフォームにアクセスすることで、その問題は解決します。オライリーはフォーチュン100のうち60社以上から信頼されています。われわれといっしょに学び、成長しましょう。テックチームのレベルアップを支援します。 もっと詳しく知る

    karmen
    karmen 2012/11/23
    表紙の動物が好きです。オライリー公式。
  • 11歳の天才少女プログラマーも注目! HTML5ゲームエンジン - 週刊アスキー

    HTML5で、小学生でも簡単にゲームを作れてしまう、ゲームエンジン『enchant.js』(関連サイト)。オープンソースかつ無料での利用が可能で、enchant.jsで作られたゲームはすでに数多くリリースされています。このenchant.jsがいま、どれくらいすごいことになっているのか、開発元の株式会社ユビキタスエンターテインメントの清水亮代表取締役社長兼CEOにうかがいました。聞き手は角川アスキー総合研究所の遠藤 諭ゼネラルマネージャー。 なお、10月25日(木)から27日(土)まで、お台場・日科学未来館で開催される『デジタルコンテンツEXPO』(関連サイト)で、実際にenchant.jsを体験できます。ぜひご来場ください! ■アメリカでも大歓迎された、HTML5ゲームエンジン『enchant.js』 遠藤 先週、アメリカに行かれていたんですよね。 清水 一週間で5回ほど講演したんです

    11歳の天才少女プログラマーも注目! HTML5ゲームエンジン - 週刊アスキー
    karmen
    karmen 2012/10/25
    enchant.jsというとクマがちょこまか動くつまらないもののイメージだったけど、ここ数ヶ月で印象がかなり変わりました。
  • 9leap : トップページ - どこでも遊べる、投稿型ゲームサイト

    Warning: Unknown: write failed: No space left on device (28) in Unknown on line 0 Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0

    9leap : トップページ - どこでも遊べる、投稿型ゲームサイト
    karmen
    karmen 2011/06/20
    HTMLとJavaScriptによるゲームのコンテスト
  • 1