当サイトはアフィリエイト広告を利用しています。

PythonでCUIとGUI両対応のリバーシをつくろう

PythonでCUIとGUI両対応のリバーシをつくろう...1
PythonでCUIとGUI両対応のリバーシをつくろう...2
PythonでCUIとGUI両対応のリバーシをつくろう...3
PythonでCUIとGUI両対応のリバーシをつくろう...4
PythonでCUIとGUI両対応のリバーシをつくろう...5
PythonでCUIとGUI両対応のリバーシをつくろう...6
PythonでCUIとGUI両対応のリバーシをつくろう...7
PythonでCUIとGUI両対応のリバーシをつくろう...8
PythonでCUIとGUI両対応のリバーシをつくろう...9
PythonでCUIとGUI両対応のリバーシをつくろう...10
PythonでCUIとGUI両対応のリバーシをつくろう...1
PythonでCUIとGUI両対応のリバーシをつくろう...2
PythonでCUIとGUI両対応のリバーシをつくろう...3
PythonでCUIとGUI両対応のリバーシをつくろう...4
PythonでCUIとGUI両対応のリバーシをつくろう...5
PythonでCUIとGUI両対応のリバーシをつくろう...6
PythonでCUIとGUI両対応のリバーシをつくろう...7
PythonでCUIとGUI両対応のリバーシをつくろう...8
PythonでCUIとGUI両対応のリバーシをつくろう...9
PythonでCUIとGUI両対応のリバーシをつくろう...10
■ 内容紹介 Pythonで、CUIとGUI両対応のリバーシを作っていく本です。

標準ライブラリーだけを使って実装します。

本の前半はCUI版リバーシの作成で、後半はGUI版リバーシの作成になります。

内部処理は共通していて、実行時引数で切り換えられます。

実行時引数による分岐、コマンドライン入力による座標の受け取りから始めて、リバーシのデータや情報、ルールの実装、CUIでのプレイ、コンピューターとの対戦、GUIの実装と進んでいきます。

■ 目次 ● 前書き ・挨拶 ・スクリーンショット ● 第1章・開発を始めよう ・Pythonとドキュメント ・最終的なファイル構成 ・プロジェクトの準備 ・実行時引数による分岐 ・コンソールからの入力 ● 第2章・データを作ろう ・盤面グループ ・リバーシのデータ ・ゲーム情報の作成 ・ゲーム情報の出力 ● 第3章・人対人のリバーシを作ろう ・進行の管理 ・リバーシのルールの図説 ・進行:石置きテスト ・進行:8方向のマスのリスト ・進行:裏返せるマスのリスト ・進行:石置き ・人対人のループ ● 第4章・人対COMのリバーシを作ろう ・COM:思考 ・COM:盤面評価表 ・COM:次手確認 ・CUIのループの改良 ● 第5章・GUIのウィンドウを表示しよう ・tkinterとは ・GUIの設定 ・ウィンドウ初期化 ・GUI開始時の処理 ● 第6章・テキストエリアとボタンを作ろう ・テキストエリアの作成と関数 ・ボタンの作成と処理 ● 第7章・盤面を表示しよう ・キャンバスの作成と描画 ・描画:描画の全体 ・描画:マスの描画 ・描画:石の描画 ・描画:配置可能/配置マスの描画 ● 第8章・盤面の機能を作ろう ・キャンバスへの石置き ・COMの実行 ・ゲーム終了のメッセージ表示 ・(おまけ)デバッグ用盤面の切り換え ● 後書き
配信開始日
2025年8月15日
サークル

関連同人作品

TinyWar high-speed

TinyWar high-speed

Windows向け、8bit風のRTSです。日本語、英語に対応。1ステージ数分で攻略でき、サクサクと進められます。どんどんクリアして、特殊能力をゲットして、戦いを有利に進めて下さい。8bit風のRTS(リアルタイムストラテジー)です。特徴は次のとおりです。・8bit風(ファミコンで使用可能な色だけでドット絵を描いている)・1ステージ短時間で遊べる、とても展開の速いRTS。・ステージをクリアすると、使える建物や特殊能力が増える。・自動でマップが生成されるので、何度でも遊べる。ルールは次のとおりです。・生産系建物を生成すると、自動でユニットが作られ、敵の街を攻撃開始する。・防御系建物を生成すると、自動でユニットを迎撃する。・歩兵は街を占領可能。全ての街を占領すると、ステージクリア。1ステージ、数分〜10数分で攻略できます。クリアすれば、様々な特殊能力が手に入ります。そして、敵も強くなっていきます。

PythonとPygameで作る レトロ風RPG 全コード

PythonとPygameで作る レトロ風RPG 全コード

『Python』で、PC向けゲームを作る本です。簡単に遊べるレトロ風RPGを作ります。ゲーム開発のライブラリは『Pygame』を使います。環境の構築、『Python』の簡単な仕様、『Pygame』の使い方を学んだあと、実際のプログラムに入ります。ゲームは全コードを解説しています。本体のPDFは290ページです。また、付属のサンプルには、ソースコードや、実際に遊べるEXEファイルが入っています。● 簡略化した目次第1章 開発するゲーム第2章 開発環境の構築第3章 Pythonの基本的な文法第4章 Pygameの使い方第5章 main.pyと初期化第6章 データ パッケージ第7章 イメージ パッケージ第8章 ゲーム パッケージ第9章 タイトル シーン パッケージ第10章 マップ シーン パッケージ第11章 バトル シーン パッケージ第12章 その他のプログラム● 詳細な目次第1章 開発するゲーム 1-1 どんなゲームを作るか 1-2 使用する素材 1-3 この本の進行について 1-4 開発するゲームのファイル構成第2章 開発環境の構築 2-1 Pythonの導入 2-2 Visual Studio Codeでの準備 2-3 venvの利用 2-4 Pygameの導入 2-5 PyInstallerの導入 2-6 mypyの導入第3章 Pythonの基本的な文法 3-1 Pythonの特徴 3-2 変数や単純な型 3-3 複数の値を格納する型 3-4 関数 3-5 条件分岐 3-6 繰り返し処理 3-7 例外処理 3-8 モジュール 3-9 クラス 3-10 async/await第4章 Pygameの使い方 4-1 Pygameの基本的な処理 4-2 画像描画 4-3 図形描画 4-4 文字描画 4-5 スプライト 4-6 キー入力 4-7 マウス入力 4-8 音声第5章 main.pyと初期化 5-1 プログラムの開始場所 5-2 初期化 5-3 実行のバッチファイル第6章 データ パッケージ 6-1 データの構成 6-2 保存するデータ1 ゲーム 6-3 保存するデータ2 アイテム 6-4 保存するデータ3 マップ 6-5 保存するデータ4 マップ イベント 6-6 補助的な関数群1 成長 6-7 補助的な関数群2 入出力 6-8 保存しないデータ1 アクション 6-9 保存しないデータ2 アプリケーション 6-10 保存しないデータ3 音声 6-11 保存しないデータ4 バトル 6-12 保存しないデータ5 敵 6-13 保存しないデータ6 シーン第7章 イメージ パッケージ 7-1 描画の構成 7-2 スクリーン 7-3 ユーティリティ 7-4 スプライト1 キャラクター 7-5 スプライト2 マップ 7-6 フォント 7-7 ダイアログ第8章 ゲーム パッケージ 8-1 ゲーム用モジュール 8-2 BGMとSE 8-3 キーなどのイベント 8-4 シーンとシーン管理第9章 タイトル シーン パッケージ 9-1 タイトル シーン用パッケージ 9-2 メイン 9-3 描画1 キャラクター 9-4 描画2 テキスト第10章 マップ シーン パッケージ 10-1 マップ シーン用パッケージ 10-2 メイン 10-3 移動 10-4 イベント管理 10-5 描画1 キャラクター 10-6 描画2 アイテム 10-7 描画3 ミニマップ 10-8 描画4 テキスト 10-9 描画5 その他の表示第11章 バトル シーン パッケージ 11-1 バトル シーン用パッケージ 11-2 メイン 11-3 進行1 メニュー 11-4 進行2 自分の行動 11-5 進行3 敵の行動 11-6 進行4 成長 11-7 描画1 キャラクター 11-8 描画2 その他の表示 11-9 戦闘1 自分の行動 11-10 戦闘2 敵の行動 11-11 戦闘3 ユーティリティ 11-12 エフェクト1 管理 11-13 エフェクト2 行動用 11-14 エフェクト3 その他第12章 その他のプログラム 12-1 サンプル付属のその他のプログラム 12-2 ゲームの実行とEXE化 12-3 mypyの実行 12-4 プログラムの例を選んで実行 12-5 画像ファイルを作って出力

レトロ風RPG フルスクラッチ開発 全コード

レトロ風RPG フルスクラッチ開発 全コード

レトロゲーム風RPGの全コードを掲載して解説した本です。HTML5+JavaScriptで、ライブラリを使わずにゼロから開発しています。サンプルとして『OheyaQuest』という、マップ自動生成タイプのRPGが付属します。実際に遊べるRPGを試しながら、その中身を確認できる技術書です。シンプルなコードなので理解しやすいです。サンプルゲーム『OheyaQuest』の紹介もします。広いマップを自由に旅して、街を回ってアイテムや呪文を集めます。最後は城に行き、闇の王を倒すとクリアです。10分ほどで遊べます。本書を通して、ゲーム開発の勘所をつかんでいただければと思います。● 簡略化した目次第1章 全体像第2章 HTML、CSS、main.js他第3章 ゲーム基本関数第4章 リソース管理関数第5章 タイトル シーン第6章 マップ シーン第7章 イベント シーン第8章 バトル シーン● 詳細な目次第1章 全体像・1-1 作るRPGの仕様・1-2 ファイル構造・1-3 大まかな分類・1-4 js-game/nest.js・1-5 シーンのファイルの構造第2章 HTML、CSS、main.js他・2-1 index.html・2-2 css/main.css・2-3 js-main/main.js・2-4 js-main/utl.dat.js・2-5 js-main/utl.lvl.js第3章 ゲーム基本関数・3-1 js-game/game.core.js・3-2 js-game/game.anim.js・3-3 js-game/game.canvas.js・3-4 js-game/game.view.js第4章 リソース管理関数・4-1 js-game/resouce.image.js・4-2 js-game/resouce.sound.js第5章 タイトル シーン・5-1 js-main/scn.titile.js・5-2 js-main/utl.genMap.js第6章 マップ シーン・6-1 js-main/scn.map..js・6-2 js-main/scn.map.move.js・6-3 js-main/scn.map.drawMap.js・6-4 js-main/scn.map.checkEvnt.js・6-5 js-main/scn.map.drawFullMap.js・6-6 js-main/utl.ui.js・6-7 js-main/utl.ui2.js第7章 イベント シーン・7-1 js-main/scn.event.js第8章 バトル シーン・8-1 js-main/scn.battle..js・8-2 js-main/scn.battle.calc.js・8-3 js-main/scn.battle.menu.js・8-4 js-main/scn.battle.drwBtl.js・8-5 js-main/scn.battle.drwEf.js・8-6 js-main/scn.battle.proc.js

HTML5とJavaScriptで作る 落ち物パズルゲーム 全コード

HTML5とJavaScriptで作る 落ち物パズルゲーム 全コード

『テトリス』や『ぷよぷよ』に類似した落ち物パズルゲームの全コードを掲載して解説した本です。HTML5+JavaScriptで、フルスクラッチで開発しています。サンプルとして『Cthulhu Drop』という、落ち物パズルゲームが付属します。実際に遊べる落ち物パズルゲームを試しながら、その中身を確認できる技術書です。シンプルなコードなので理解しやすいです。サンプルゲーム『Cthulhu Drop』の紹介もします。横2列、縦1〜3列のブロックが落ちてきます。落下物は時計回り、反時計回りに回転できます。落下後、重力に従ってブロックは落下します。そして、縦横斜めに3ブロック以上連続していると消去できます。また、消えたブロックに隣接する同種のブロックも消滅します。連鎖が終了するまで、消え続けます。本書を通して、ゲーム開発の勘所をつかんでいただければと思います。● 簡略化した目次第1章 全体像第2章 HTML、CSS、main.js他第3章 タイトル シーン第4章 ドロップ シーン第5章 描画処理第6章 ゲーム処理第7章 ゲーム基本関数第8章 リソース管理関数● 詳細な目次第1章 全体像・1-1 作る「落ち物パズルゲーム」の仕様・1-2 キー操作・1-3 ファイル構造・1-4 大まかな分類・1-5 js-game/nest.js・1-6 シーンのファイルの構造第2章 HTML、CSS、main.js他・2-1 index.html・2-2 css/main.css・2-3 js-main/main.js第3章 タイトル シーン・3-1 js-main/scn.titile.js第4章 ドロップ シーン・4-1 js-main/scn.drop.js第5章 描画処理・5-1 js-main/draw-core.js・5-2 js-main/draw-dropping.js・5-3 js-main/draw-ef.js・5-4 js-main/screenshot.js第6章 ゲーム処理・6-1 js-main/drop-core.js・6-2 js-main/drop-input.js・6-3 js-main/drop-utl.js・6-4 js-main/drop-stuff.js・6-5 js-main/drop-erase.js・6-6 js-main/drop-erase-search.js・6-7 js-main/drop-erase-expand.js第7章 ゲーム基本関数・7-1 js-game/game.core.js・7-2 js-game/game.anim.js・7-3 js-game/game.canvas.js・7-4 js-game/game.view.js・7-5 js-game/game.ui.js第8章 リソース管理関数・8-1 js-game/resouce.image.js・8-2 js-game/resouce.font.js・8-3 js-game/resouce.sound.js

HTML5とJavaScriptで作る タワーディフェンス 全コード

HTML5とJavaScriptで作る タワーディフェンス 全コード

「タワーディフェンス」ゲームの全コードを掲載して解説した本です。HTML5+JavaScriptで、ライブラリを使わずに開発しています。サンプルとして『Defense++』と『アマビエディフェンス』という、2本のタワーディフェンス ゲームが付属します。実際に遊べるタワーディフェンス ゲームを試しながら、その中身を確認できる技術書です。シンプルなコードなので理解しやすいです。本書を通して、ゲーム開発の勘所をつかんでいただければと思います。● 簡略化した目次第1章 全体像第2章 HTML、CSS、main.js他第3章 タイトル シーン第4章 ディフェンス シーン第5章 ゲーム処理第6章 描画処理第7章 ゲーム基本関数第8章 リソース管理関数● 詳細な目次第1章 全体像・1-1 作る「タワーディフェンス」の仕様・1-2 大まかな分類・1-3 js-game/utl.js第2章 HTML、CSS、main.js他・2-1 index.html・2-2 CSS・2-3 js-main/main.js・2-4 js-main/globalData-GD.js・2-5 js-main/globalData-UD.js・2-6 シーンの構造第3章 タイトル シーン・3-1 js-main/scn.titile.js第4章 ディフェンス シーン・4-1 js-main/scn.defense.js・4-2 js-main/scn.defense-initBtn.js第5章 ゲーム処理・5-1 Defense・5-2 Enemy・5-3 Tower・5-4 Bullet第6章 描画処理・6-1 基本・6-2 Enemy, Tower, Bullet第7章 ゲーム基本関数・7-1 js-game/game.core.js・7-2 js-game/game.anim.js・7-3 js-game/game.canvas.js・7-4 js-game/game.view.js・7-5 js-game/game.ui.js・7-6 js-game/game.screenshot.js第8章 リソース管理関数・8-1 js-game/resouce.image.js・8-2 js-game/resouce.font.js

洞窟探検ゲームを作ろう JavaScript 全コード

洞窟探検ゲームを作ろう JavaScript 全コード

ダンジョンを探検するアクションゲームの全コードを掲載して解説した本です。HTML5+JavaScriptで、ライブラリを使わずに開発しています。サンプルのコードが付いており、実際に遊ぶことができます。遊んだり、改造したりしながら、ゲームの中身を確認できる技術書です。● ゲームの特徴・画面をタップして、その方向にキャラクターが移動する。・迷路の要素を含んだダンジョンを自動的に生成する。・鍵を取って、ゴールの扉まで移動するとクリアという、イベント要素が入っている。・イベントが起きると、ドット絵のダイアログを表示する。・移動速度やアルゴリズムの違う敵が、ダンジョン内を徘徊している。・敵に当たると死亡する。・レトロゲーム風に、ドットのみで構成された画面を表示する。・外部ライブラリを使わない。● 目次第1部:枠組み・第1章:ゲームの構造と素材・第2章:HTML、CSS、main.js他・第3章:ゲームの基本処理第2部:ゲーム本体・第4章:タイトル シーン・第5章:ゲームのデータ・第6章:ダンジョン生成1 アルゴリズム・第7章:ダンジョン生成2 コード・第8章:敵・第9章:移動処理・第10章:マップ シーン1 初期化・第11章:マップ シーン2 移動とイベント・第12章:マップ シーン3 描画第3部:基本処理・第13章:基本処理・第14章:リソース・第15章:ユーティリティ・第16章:UI部品

無限世界SRPG

無限世界SRPG

自動生成されるワールドを攻略していくローグライクSRPGです。ワールドマップと戦闘マップが1:1の世界を旅しながら、仲間を見つけて敵を倒し、世界征服をしていってください。Windows向けです。特徴は次のとおりです。・オープンワールド・自動生成ワールドマップ・継続成長それぞれについて詳しく説明します。● オープンワールド主人公はワールドマップを自由に歩き回り、敵に発見されると戦闘が始まります。ワールドマップと戦闘マップの比率は「1:1」、つまり同じサイズです。ワールドマップに配置されている敵が、そのまま戦闘マップに配置されます。戦闘が始まると、ワールドマップの一部が切り取られて、その範囲内で戦闘が行われます。ワールドマップには街があり、守備兵がいます。また、街から放たれた討伐軍が、主人公たちを追っています。どこで敵に発見されるかで、不利な戦闘(周りを囲まれている)になったり、有利な戦闘(個別撃破)になったりします。ワールドマップには、主人公の仲間がちらばっています。敵の追撃を避け、効率よく仲間を集めて軍を強化し、全ての街を攻め落とせば、そのワールドをクリアできます。● 自動生成ワールドマップワールドマップは、アルゴリズムで自動生成されます。レベルが上がるごとに、より大きなワールドマップに挑めるようになります。また、生成シードも選べます。自動生成は、地形を作るだけではありません。街や道の配置、敵や仲間のレイアウトなど、ワールドの攻略要素となる内容を、最適化しながら自動で生み出します。また、主人公の行動に合わせて、街で討伐軍が編成されて出発したり、時空神が追っ手のモンスターを送り込んできたりします。主人公は、世界に散らばる仲間を集めて、街を効率よく落としながら、討伐軍や追っ手のモンスターを倒していきます。● 継続成長主人公は、異世界(異なるワールドマップ)を次々と攻略していきます。新しい世界に来た直後は、最低限の軍隊しか持たない状態で始まります。主人公は世界を旅して、仲間を集め直します。しかし、一度でも得た仲間は、過去の世界での経験を残しています。一度上がったレベルはそのままです。仲間にした瞬間から、強力な力を持っています。当然、主人公のレベルも上がったままです。そのため、新しい世界に来る度に、前回の世界よりも強い状態でゲームは開始します。世界のレベルが上がると、ワールドマップは大きくなり、敵の種類も増えます。より強い主人公たちを操り、より強大な敵に挑めます。

TinySRPG2

TinySRPG2

ファンタジー世界を舞台にした、シミュレーションRPG(SRPG)です。かわいいキャラたちが戦闘を繰り広げます。前作とは独立しているので、単独で遊べます。特徴は次のとおりです。● シンプルで簡単なUI● テンポのよい軽快な動作ゲームには、さまざまなウォー・シミュレーション的な要素が入っています。● 現在のマスで防御力が変わる「地形効果」。● 敵との間にある隣接マスで防御力が変わる「遮蔽地形効果」。● 敵との間にある隣接味方ユニットの防御が加算される「遮蔽ユニット効果」。● ユニットの隣接マスを、敵が通りにくくなるゾーン効果など。前作との違い(パワーアップした所)は、以下の通りです。● 戦闘前に、ユニットの配置が可能に。● マップに1つしか配置できない固有キャラの数が、2→11に増加。● 固有キャラだけでなく、一般ユニットも成長可能に。● ユニットのタイプに、騎兵が追加。● 敵ユニットの種類が、16→27に増加。

TinySRPG

TinySRPG

ファンタジー世界を舞台にした、シミュレーションRPG(SRPG)です。かわいいキャラたちが戦闘を繰り広げます。特徴は次のとおりです。● シンプルで簡単なUI● テンポのよい軽快な動作ゲームには、さまざまなウォー・シミュレーション的な要素が入っています。● 現在のマスで防御力が変わる「地形効果」。● 敵との間にある隣接マスで防御力が変わる「遮蔽地形効果」。● 敵との間にある隣接味方ユニットの防御が加算される「遮蔽ユニット効果」。● ユニットの隣接マスを、敵が通りにくくなるゾーン効果など。

TinySRPG3

TinySRPG3

ファンタジー世界を舞台にした、シミュレーションRPG(SRPG)です。かわいいキャラたちが戦闘を繰り広げます。前作とは独立しているので、単独で遊べます。特徴は次のとおりです。● シンプルで簡単なUI● テンポのよい軽快な動作見た目はかわいいですが、ガチのユーザー向けのウォー・シミュレーション・ゲームです。ゲームには、さまざまなウォー・シミュレーション的な要素が入っています。● 現在のマスで防御力が変わる「地形効果」。● 敵との間にある隣接マスで防御力が変わる「遮蔽地形効果」。● 敵との間にある隣接味方ユニットの防御が加算される「遮蔽ユニット効果」。● ユニットの隣接マスを、敵が通りにくくなるゾーン効果など。SRPGエンジンもこなれてきて高速化しています。戦闘画面やステージ選択画面のリッチ化、敵アルゴリズムやゲーム要素の強化を行なっています。プレイ時間は、20〜30時間ほどです。

Army Defense

Army Defense

ファンタジー世界を舞台にした、自由配置型のタワーディフェンス系ゲームです。地形によって、敵の移動速度が変わるので、上手くユニットを配置してください。また、ステージをクリアすることで、ユニットが追加されたり、攻略に役立つ宝物がゲットできます。さらに、ランダムでステージを生成する「とことん モード」もあり、末永く遊べます。

Army Defense 2

Army Defense 2

ファンタジー世界を舞台にした、自由配置型のタワーディフェンス系ゲームです。地形によって、敵の移動速度が変わるので、上手くユニットを配置してください。不死系の敵には僧侶など、自軍敵軍ユニットの相性もあります。また、ステージをクリアすることで、ユニットが追加されたり、攻略に役立つ宝物がゲットできます。さらに、ランダムでステージを生成する「とことん モード」もあり、末永く遊べます。前作の「Army Defense 1」とは独立したゲームですので、本作のみで遊べます(前作のプログラムをパワーアップした内容になっています)。

Army Defense 3

Army Defense 3

ファンタジー世界を舞台にした、自由配置型のタワーディフェンス系ゲームです。地形によって、敵の移動速度が変わるので、上手くユニットを配置してください。不死系の敵には僧侶など、自軍敵軍ユニットの相性もあります。また、ステージをクリアすることで、ユニットが追加されたり、攻略に役立つ宝物がゲットできます。さらに、ランダムでステージを生成する「とことん モード」もあり、末永く遊べます。前作の「Army Defense 2」とは独立したゲームですので、本作のみで遊べます(前作のプログラムをパワーアップした内容になっています)。

技術書のための:PythonでMarkdownからEPUBをつくる本

技術書のための:PythonでMarkdownからEPUBをつくる本

Pythonのプログラムを書いて、Markdownの原稿から、EPUBを自動生成する本です。 これまで何十冊か同人技術書を出してきましたが、そのノウハウを反映した内容になっています。本書自体も、この本で解説しているプログラムでEPUBを生成したあと、PDFに変換しています。 本書では、次のような方式でEPUBを生成します。 ・YAMLで設定を書き、複数のMarkdownファイルで原稿を書いて、EPUBを生成します。 ・EPUBの目次データなどを自動で作ります。 ・表紙ページや目次ページを自動で追加します。 プログラミング系技術書を作る上級者向けに、次のような機能を備えるようにしています。 ・外部ファイルのコードを自動読み込み、行数指定による部分読み込み。 ・Kindle ダイレクト・パブリッシング用のコード部分の自動成形。 ・フォントのサブセット化。 ・Markdown内のフレーズに対する自動置換。 ・Markdownに自由に追加できる簡易関数の作成。 本体のPDFは130ページです。また、付属のサンプルには、ソースコードが入っています。 ● 目次 第1章 EPUBファイル 第2章 EPUB、KPFの注意事項 第3章 EPUBのCSS 第4章 原稿のファイル構成 第5章 config.yaml 第6章 開発の準備 第7章 プログラムの構成 第8章 プログラムの開始 第9章 設定の読み込み 第10章 ファイル複製 第11章 Markdown変換 第12章 本文構築 周辺処理 第13章 目次構築 第14章 圧縮してEPUB生成 第15章 拡張置換について 第16章 拡張置換用のファイル 第17章 拡張置換の処理 第18章 コードの変換

カードが動くタロット占いをつくろう  JavaScriptでアニメーションするWebアプリ

カードが動くタロット占いをつくろう JavaScriptでアニメーションするWebアプリ

Webブラウザー上で「カードが動くタロット占い」を作る本です。 画面上にカードを並べ、シャッフルし、配るものです。最終的に表側になったカードの内容をもとに、占い結果の文章を出力します。 実現方法はいくつかありますが、今回は次のような方針で作ることにしました。 ・使用言語はJavaScript ・canvasに描画する ・Tween方式でアニメーションする ・PC、スマホで使うことを想定して、画面サイズに合わせて初期canvasサイズを変える ・結果の文章は、canvasの外にテキストとして出力させる ・既存のWebサイトに占いページを追加することを想定する ・最終的にライブラリーとしてファイルをまとめる canvasへの描画は、『Pixi.js』を使います。ゲーム用の有名ライブラリーで、WebGLを利用して高速に描画できます。 Tween方式のアニメーションは『Anime.js』を使います。軽量で使いやすいアニメーション用のライブラリーです。DOM要素を動かすだけでなく、オブジェクトのプロパティの値をアニメーションできます。 この2つのライブラリーは、いずれもMIT licenseです。 それではWebブラウザー上で「カードが動くタロット占い」アプリケーションを作っていきましょう。 本体のPDFは95ページです。また、付属のサンプルには、ソースコードが入っています。 ● 簡略化した目次 第1章 開発するプログラム 第2章 開発の準備 第3章 アプリケーションの入り口 第4章 タイトル画面 第5章 カード操作 第6章 占いの結果 第7章 公開の準備 ● 詳細な目次 第1章 開発するプログラム ・1-1 画面の遷移 ・1-2 ファイル構成 第2章 開発の準備 ・2-1 開発環境の準備 ・2-2 Pixi.js ・2-3 Anime.js ・2-4 画像とフォント ・2-5 タロット占いのデータ data-tarot.js 第3章 アプリケーションの入り口 ・3-1 HTMLファイル index.html ・3-2 CSSファイル ・3-3 エントリーポイント main.js ・3-4 縦横サイズ size.js ・3-5 リソースの読み込み preload.js 第4章 タイトル画面 ・4-1 【進行】アプリの進行 proc.js ・4-2 【進行】タイトル画面 proc-01-title.js ・4-3 【UI】テキストボタンを作る ui-button-text.js ・4-4 【UI】フェードアウトとフェードイン ui-fade.js 第5章 カード操作 ・5-1 【進行】カードを積み重ねる proc-02-stack.js ・5-2 【UI】メッセージボックスを作る ui-message-box.js ・5-3 【UI】スプライトボタンを作る ui-button-sprite.js ・5-4 【進行】シャッフル画面 proc-03-shuffle.js ・5-5 【進行】カードの展開 proc-04-spread.js 第6章 占いの結果 ・6-1 【進行】カードの選択 proc-05-select.js ・6-2 【進行】カードの開示 proc-06-open.js ・6-3 【進行】結果の表示 proc-07-result.js 第7章 公開の準備 ・7-1 Web フォントの軽量化 fontmin ・7-2 ライブラリーの出力 vite

猫タロット本  Cat Tarot Book

猫タロット本 Cat Tarot Book

■ 内容紹介 かわいい猫のタロットカードとマンガの本です。大アルカナ22枚を、かわいい猫で描いています。それぞれのカードの解説もおこなっています。 猫をモチーフにした大アルカナ22枚のカードを利用して、占いをしたりできます。 ■ 目次 マンガ タロットカード ・0 - 愚者(The Fool) ・1 - 魔術師(The Magician) ・2 - 女教皇(The High Priestess) ・3 - 女帝(The Empress) ・4 - 皇帝(The Emperor) ・5 - 法王(The Hierophant) ・6 - 恋人(The Lovers) ・7 - 戦車(The Chariot) ・8 - 力(Strength) ・9 - 隠者(The Hermit) ・10 - 運命の輪(Wheel of Fortune) ・11 - 正義(Justice) ・12 - 吊された男(The Hanged Man) ・13 - 死神(Death) ・14 - 節制(Temperance) ・15 - 悪魔(The Devil) ・16 - 塔(The Tower) ・17 - 星(The Star) ・18 - 月(The Moon) ・19 - 太陽(The Sun) ・20 - 審判(Judgement) ・21 - 世界(The World) マンガ ■ 内容 ・大アルカナ イラスト22枚 解説22枚 ・マンガ 5ページ 「体験版」に冒頭15ページを収録しています。 ■ スタッフ ・イラスト/マンガ るてんしと

「小説家になろう」で書いた小説がコミカライズされた話

「小説家になろう」で書いた小説がコミカライズされた話

■ 内容紹介 PDFで154ページです。体験版は最初の21ページを掲載しています。 「小説家になろう」で書いた小説『部活の先輩の、三つ編み眼鏡の美少女さんが、ネットスラングに興味を持ちすぎてツライ』がコミカライズされた話をまとめたものです。 原作を書いていた当時のこと、それから10年の変遷、コミカライズが来た話や、コミカライズの作業、公開されたあとの話などをまとめています。 また、マンガ版に対応した原作小説も収録しています。 ■ 簡略化した目次 ● 前書き ● 第1章 小説家になろうで小説を書いた ● 第2章 プロデビューと挫折 ● 第3章 コミカライズの打診 ● 第4章 マンガの監修 ● 第5章 原作からの改編部分 ● 第6章 ビジネス、情報公開 ● 第7章 マンガ公開後の動き ● 第8章 新しい戦い ● マンガの原作版「マンガの話数に対応した原作」 ● マンガ原作:1話目「賢者タイム」「PCショップでお買い物」 ● マンガ原作:2話目「セクロス」「水着のお買い物」 ● マンガ原作:3話目「男の娘」「映画館デート」 ● マンガ原作:4話目「らめぇ」「フィギュアのお買い物」 ● マンガ原作:5話目「ふぇぇ」「氷室漢方実験所」 ● マンガ原作:6話目「片栗粉X」「禁書図書館」 ● 後書き ● 前書き ● 第1章 小説家になろうで小説を書いた ・当時の私 ・「小説家になろう」での挑戦 ・その後の「小説家になろう」 ● 第2章 プロデビューと挫折 ・プロデビュー ・挫折 ・すり合わせの難しさ ・出版社による違い ・ぐだぐだ期 ● 第3章 コミカライズの打診 ・ヒナプロジェクトからのメール ・私の中での方針 ● 第4章 マンガの監修 ・監修の作業 ・テキストのプロット ・ラフや仕上げ ● 第5章 原作からの改編部分 ・原作からマンガにする際の改変 ・メディアの制約 ・キャラクターデザイン ● 第6章 ビジネス、情報公開 ・ビジネス、情報公開 ・業界による情報公開の違い ・情報公開時期の背景 ● 第7章 マンガ公開後の動き ・ルールの変更 ・公開前後の広報 ・公開2ヶ月 ・マンガ化について ● 第8章 新しい戦い ・脳のリセット ・ゼロからの挑戦 ● マンガの原作版 ・マンガの話数に対応した原作 ● マンガ原作:1話目 ・Aパート「賢者タイム」 ・Bパート「PCショップでお買い物」 ● マンガ原作:2話目 ・Aパート「セクロス」 ・Bパート「水着のお買い物」 ● マンガ原作:3話目 ・Aパート「男の娘」 ・Bパート「映画館デート」 ● マンガ原作:4話目 ・Aパート「らめぇ」 ・Bパート「フィギュアのお買い物」 ● マンガ原作:5話目 ・Aパート「ふぇぇ」 ・Bパート「氷室漢方実験所」 ● マンガ原作:6話目 ・Aパート「片栗粉X」 ・Bパート「禁書図書館」 ● 後書き

マンガでわかるPython

マンガでわかるPython

■ 内容紹介 マンガでわかりやすく、プログラミング言語Pythonの基本を解説した本です。 アプリのインストールや、プログラミングとはどういうものなのか、から始めて、基本的な文法を順を追って説明していきます。 プログラミング初心者や入門者向けの内容です。マンガで説明するだけでなく、プログラムの処理などを、分かりやすく色付けしたり、矢印で説明したりしています。 400ページ以上の内容で、Pythonの基本を学ぶことができます。 ■ 目次 ● 第1章「プロローグ」 1-1「新人教育」 ● 第2章「まずは下準備」 2-1「プログラムって何?」 2-2「開発環境を作ろう」 2-3「簡単なプログラムの実行」 2-4「今後の方針」 ● 第3章「基本の基本を知ろう」 3-1「処理順とインデント」 3-2「コメント」 3-3「プログラムの要素1」 3-4「関数」 3-5「値」 3-6「演算子」 3-7「プログラムの要素2」 3-8「変数と代入」 3-9「インポート」 3-10「pip」 3-11「自作モジュール」 ● 第4章「データ型」 4-1「データ型」 4-2「整数と小数点数」 4-3「テキスト」 4-4「真偽値と比較演算子」 4-5「None」 ● 第5章「複数の値のデータ型」 5-2「リスト」 5-2「リストとテキストの変換」 5-3「タプル」 5-4「辞書」 5-5「集合」 ● 第6章「条件分岐をしよう」 6-1「if文」 6-2「if文2」 6-3「複数の比較」 6-4「いろいろな比較」 ● 第7章「繰り返し処理をしよう」 7-1「while文」 7-2「for文」 7-3「enumerate関数」 7-4「range関数」 7-5「辞書と組み合わせる」 7-6「リストやfor文の入れ子」 7-7「break文とcontinue文」 7-8「リスト内包表記」 ● 第8章「関数を作ろう」 8-1「関数を作る」 8-2「pass」 8-3「デフォルト値とキーワード引数」 8-4「アンパックと可変引数」 8-5「lambda式」 ● 第9章「エラーとエラー制御」 9-1「エラーが出た」 9-2「エラーを見てバグを直す」 9-3「エラーがまた出た」 9-4「エラー制御」 ● 第10章「ファイルの読み書きをしよう」 10-1「CWDとプログラムのパス」 10-2「プログラムのパスと名前」 10-3「パスの操作」 10-4「テキストファイルの読み込み」 10-5「テキストファイルの書き込み」 10-6「CSVの読み書き」 10-7「●●ONの読み書き」 10-8「ファイル一覧」 10-9「複製や削除など」 ● 第11章「エピローグ」 11-1「まとめ」 11-2「この先」 11-3「社長への報告」

PythonでPDFの面付けをしよう Ver 1.0

PythonでPDFの面付けをしよう Ver 1.0

PythonでPDFの面付けをするプログラムを書く本です。 コピー誌を作る際に、A4の原稿をA5サイズに縮小して、A3用紙に好きな順に並べたいことはないでしょうか。 そうした際に、自在に縮小してページに並べるためのプログラムを作ります。 全16ページですので、すぐに読めます。コードは同梱しているので、すぐに使えます。 元のWebサービスは「クロクロ・ツールズ PDF面付け」で検索するとたどり着けます。こちらはさらに多機能で、無料で利用できます。 ■ 目次 ● 1. 準備とファイル構成 動作 準備 ファイル構成 ● 2. mainとutil ● 3. 縮小 ● 4. 面付け

Godotでこれどうやるの?  Godotをコードから見ていこう

Godotでこれどうやるの? Godotをコードから見ていこう

■ 内容紹介 Godotをコードから見ていく本です。 Godotで開発をしている時に、調べた情報や、作った関数などをまとめて解説しています。 内部処理のコードが中心です。 実際に、私がゲームを作る時に使ったコードを引用したり、本書用に改良したりしています。 各章の主な内容は次のとおりです。 ● 第1章 Godotのコードの特徴 基本オブジェクトであるNodeとRefCountedの違い、定数の活用、型の分類、静的型付けの挙動、シグナルと接続について解説していきます。 ● 第2章 ノードの処理を工夫してトーストを作る ノードの操作から始まり、最終的にstatic関数として呼び出すトースト機能を実装します。 ● 第3章 Pythonのデータクラスを模倣する ゲームのデータを短く書くために、リフレクションを使って配列や辞書からインスタンスを生成する関数を作ります。 ● 第4章 awaitを全て待つ処理を作る GDScriptにおけるawaitの概要を解説して、全てのawaitを待つawait_all()を自作していきます。 ● 第5章 テクスチャの分割や合成をおこなう テクスチャアトラスを使った分割取得や、サブビューポートを使った合成をあつかいます ● 第6章 リッチテキストラベルでMarkdownの表示を作る MarkdownからBBCodeへの変換を実装して、RichTextLabelをMarkdown対応にしていきます。また、GDScriptのテキストドライバーとテキストサーバーについて解説します。 ■ 目次 ● 前書き ・挨拶 ・各章の主な内容 ● 第1章 Godotのコードの特徴 ・NodeとRefCounted ・定数、内部クラス、enum、シンボルストリング ・スカラー型、ベクトル型、参照型 ・静的型付け ・シグナルと接続 ● 第2章 ノードの処理を工夫してトーストを作る ・ノードの入れ替え ・ノードの削除 ・ノードを探す ・static関数内でルートや現在のシーンを得る ・static関数から自身のシーンをインスタンス化する ・static関数からトーストを作る ● 第3章 Pythonのデータクラスを模倣する ・配列からクラスをインスタンス化 ・利用例1 ゲームのデータを記述 ・利用例2 ネストしたゲームのデータを記述 ・辞書からクラスをインスタンス化 ・利用例 辞書でゲームのデータを記述 ● 第4章 awaitを全て待つ処理を作る ・Godotのawaitとは ・ノード内とstatic内のタイマー ・awaitを全て待つ関数を作る ・awaitを全て待つ関数を使う ● 第5章 テクスチャ画像の分割や合成をおこなう ・テクスチャ画像の分割 アトラスで画像の一部を得る ・テクスチャ画像の合成 サブビューポートの利用 ・スクリーンショットを保存 ● 第6章 リッチテキストラベルでMarkdownの表示を作る ・正規表現による置換 ・関数を引数にした正規表現による置換 ・GodotのBBCode ・MarkdownからBBCodeへの変換 ・リンクのクリック機能を追加する ・テキスト表示の罠 ● 付録 サンプル作成手順 ・サンプル作成時の手順 ・VSCodeとの連携 ・Godotエディターから隠したVSCode用のフォルダーを作る ・VSCodeからGodot固有のフォルダーやファイルを隠す ・プロジェクト設定 ・エディター設定 ・VSCodeで開発をおこなっている時の注意 ● 後書き