@@ -91,12 +91,12 @@ digraph {
9191        }
9292
9393        scratchjr [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/scratchjr.jpg"  /></TD></TR><TR><TD>The Official<br/>ScratchJr Book (2015)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1593276710/"  ]
94-          
94+ 
9595        codinggamesinscratch [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/codinggamesinscratch.jpg"  /></TD></TR><TR><TD>Coding Games<br/>in Scratch<br/>(2015)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1465439358/"  ]
9696        superscratchprogadv [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/superscratchprogadv.jpg"  /></TD></TR><TR><TD>Super Scratch<br/>Programming Adventure!<br/>(2013)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1593275315/"  ]
9797        learntoprogramwithscratch [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/learntoprogramwithscratch.jpg"  /></TD></TR><TR><TD>Learn to Program<br/> with Scratch<br/>(2014)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1593275439/"  ]
9898        helpyoukidswithcomputercoding [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/helpyoukidswithcomputercoding.jpg"  /></TD></TR><TR><TD>Help Your Kids<br/>with Computer Coding<br/>(2015)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/146541956X/"  ]
99-          
99+ 
100100        inventgamepython3 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/inventgamepython3.jpg"  /></TD></TR><TR><TD>Invent Your Own<br/>Computer Games with<br/>Python 3rd Ed (2015)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1503212300/"  ]
101101        makinggamespython [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/makinggamespython.jpg"  /></TD></TR><TR><TD>Making Games with<br/>Python & Pygame (2012)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1469901730/"  ]
102102        learntoprogramwithminecraft [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/learntoprogramwithminecraft.jpg"  /></TD></TR><TR><TD>Learn to Program<br/>with Minecraft (2015)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1593276702/"  ]
@@ -133,10 +133,10 @@ digraph {
133133        csapp3 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/csapp3.jpg"  /></TD></TR><TR><TD>深入理解计算机系统<br/>(原书第3版)<br/>(2016)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26912767/"  ]
134134        caaqa5 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/caaqa5.jpg"  /></TD></TR><TR><TD>计算机体系结构<br/>(2012)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/20452387/"  ]
135135        mos4 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/mos4.jpg"  /></TD></TR><TR><TD>现代操作系统(第3版)<br/>(2009)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/3852290/"  ]
136-          
136+ 
137137        clrs3 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/clrs3.jpg"  /></TD></TR><TR><TD>算法导论(原书第3版)<br/>(2012)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/20432061/"  ]
138138        algorithms4 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/algorithms4.jpg"  /></TD></TR><TR><TD>算法(第4版)<br/>(2012)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/19952400/"  ]
139-          
139+ 
140140        concretemaths2 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/concretemaths2.jpg"  /></TD></TR><TR><TD>具体数学<br/>(2013)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/21323941/"  ]
141141        computationalscieng [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/computationalscieng.jpg"  /></TD></TR><TR><TD>Computational Science<br/>and Engineering (2007)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/0961408812/"  ]
142142
@@ -174,7 +174,7 @@ digraph {
174174        tcpl2 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/tcpl2.jpg"  /></TD></TR><TR><TD>C程序设计语言<br/>(2004)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/1139336/"  ]
175175
176176        cppprimer5 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/cppprimer5.jpg"  /></TD></TR><TR><TD>C++ Primer 中文版<br/>(第 5 版)<br/>(2013)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/25708312/"  ]
177-         tcpppl4 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/tcpppl4.jpg"  /></TD></TR><TR><TD>C++程序设计语言<br/>(2010 )</TD></TR></TABLE>> URL =" https://book.douban.com/subject/4604591 /"  ]
177+         tcpppl4 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/tcpppl4.jpg"  /></TD></TR><TR><TD>C++  程序设计语言<br/>(原书第 4 版)<br/>(2016 )</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26857943 /"  ]
178178        cppstandardlibrary2 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/cppstandardlibrary2.jpg"  /></TD></TR><TR><TD>C++标准库(第2版)<br/>(2015)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26419721/"  ]
179179        boostcpplibraries2 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/boostcpplibraries2.jpg"  /></TD></TR><TR><TD>The Boost C++<br/>Libraries 2nd Ed (2014)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1937434362/"  ]
180180        cppconcurrencyinaction [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/cppconcurrencyinaction.jpg"  /></TD></TR><TR><TD>C++并发编程实战<br/>(2015)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26386925/"  ]
@@ -201,7 +201,7 @@ digraph {
201201        programminginlua4 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/programminginlua4.jpg"  /></TD></TR><TR><TD>LUA程序设计(第2版)<br/>(2008)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/3076942/"  ]
202202        luaprogramminggems [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/luaprogramminggems.jpg"  /></TD></TR><TR><TD>Lua Programming<br/>Gems (2008)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/8590379841/"  ]
203203
204-         mvcsharpstepbystep8 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/mvcsharpstepbystep8.jpg"  /></TD></TR><TR><TD>Visual C# 从入门到精通(第8版) <br/>()</TD></TR></TABLE>> URL="https://book.douban.com/"]
204+         mvcsharpstepbystep8 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/mvcsharpstepbystep8.jpg"  /></TD></TR><TR><TD>Visual C# 从入门到精通(第8版) <br/>(2016 )</TD></TR></TABLE>> URL="https://book.douban.com/subject/26937762 /"]
205205        csharpindepth3 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/csharpindepth3.jpg"  /></TD></TR><TR><TD>深入理解C# (第3版)<br/>(2014)</TD></TR></TABLE>> URL="https://book.douban.com/subject/25843328/"]
206206        clrviacsharp4 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/clrviacsharp4.jpg"  /></TD></TR><TR><TD>CLR via C# (第4版)<br/>(2015)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26285940/"]
207207
@@ -212,7 +212,7 @@ digraph {
212212        cppbegin ->  tcpppl4
213213        cppprimer5 ->  cpplibrary [arrowhead =normal, style =solid]
214214        tcpppl4 ->  cpplibrary
215-          
215+ 
216216        cpplibrary ->  cppstandardlibrary2 [arrowhead =normal, style =solid]
217217        cppstandardlibrary2 ->  effectivestl
218218        cppstandardlibrary2 ->  cppconcurrencyinaction ->  boostcpplibraries2
@@ -340,7 +340,7 @@ digraph {
340340
341341        windowsgp2 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/windowsgp2.jpg"  /></TD></TR><TR><TD>Windows游戏编程大师技巧<br/>(2012)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/20282993/"  ]
342342        gamecodingcomplete4 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/gamecodingcomplete4.jpg"  /></TD></TR><TR><TD>游戏编程权威指南<br/>(2016)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26787109/"  ]
343-   
343+ 
344344        introtogdprodev [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/introtogdprodev.jpg"  /></TD></TR><TR><TD>Introduction to Game<br/>Design, Prototyping,<br/>and Development (2014)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/0321933168/"  ]
345345        unityinaction [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/unityinaction.jpg"  /></TD></TR><TR><TD>Unity5实战<br/>(2016)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26877872/"  ]
346346
@@ -395,13 +395,13 @@ digraph {
395395        cocos2dx ->  cocos2dxbyexample2 ->  gpintermediate
396396
397397        gpintermediate ->  gpalgorithmstechniques ->  gameprogrammingpatterns [arrowhead =normal, style =solid]
398-         gameprogrammingpatterns ->  gpgoldenrules ->  gpmisc  
398+         gameprogrammingpatterns ->  gpgoldenrules ->  gpmisc
399399        gpintermediate ->  crossplatformgp ->  androidndkgdcookbook
400400        gpintermediate ->  buildingfpsgameunity ->  unityvrprojects
401401        gpintermediate ->  agumentedreality ->  practicalaugmentedreality
402402
403403        {
404-             rank =same ; gpgoldenrules; gpmisc  
404+             rank =same ; gpgoldenrules; gpmisc
405405        }
406406        gpmisc ->  gpgemsbest
407407        gpgemsbest ->  gpgems
@@ -435,11 +435,11 @@ digraph {
435435            " 3dgameenginearchitecture"   [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/3dgameenginearchitecture.jpg"  /></TD></TR><TR><TD>3D Game Engine<br/>Architecture<br/>(2004)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/012229064X/"  ]
436436            gameenginedesign2 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/gameenginedesign2.jpg"  /></TD></TR><TR><TD>3D Game Engine<br/>Design<br/>2nd Ed (2006)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/0122290631/"  ]
437437        }
438-          
438+ 
439439        gameenginegems1 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/gameenginegems1.jpg"  /></TD></TR><TR><TD>Game Engine<br/>Gems 1 (2010)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/0763778885/"  ]
440440        gameenginegems2 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/gameenginegems2.jpg"  /></TD></TR><TR><TD>Game Engine<br/>Gems 2 (2011)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1568814372/"  ]
441441        gameenginegems3 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/gameenginegems3.jpg"  /></TD></TR><TR><TD>Game Engine<br/>Gems 3 (2016)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1498755658/"  ]
442-          
442+ 
443443        gamescriptingmastery [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/gamescriptingmastery.jpg"  /></TD></TR><TR><TD>游戏脚本高级编程<br/>(2006)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/1927405/"  ]
444444        languageimplpatterns [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/languageimplpatterns.jpg"  /></TD></TR><TR><TD>编程语言实现模式<br/>(2012)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/10482195/"  ]
445445        garbagecollectionhandbook [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/garbagecollectionhandbook.jpg"  /></TD></TR><TR><TD>垃圾回收算法手册:<br/>自动内存管理的艺术<br/>(2016)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26740958/"  ]
@@ -548,7 +548,7 @@ digraph {
548548
549549        magiccg [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/magiccg.jpg"  /></TD></TR><TR><TD>The Magic of<br/>Computer Graphics (2011)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1568815778/"  ]
550550
551-         cgbegin ->  " 3dgpdx12"   
551+         cgbegin ->  " 3dgpdx12" 
552552        cgbegin ->  { rt3drendering; oglguide9 }
553553
554554        { " 3dgpdx12"  ; rt3drendering; oglguide9 } ->  cgtheory
@@ -582,7 +582,7 @@ digraph {
582582        lod ->  " 3denginedesignvirtualglobes" 
583583        texturingmodeling3 ->  polygonmeshprocessing ->  isosurfaces
584584        npr ->  npcg
585-          
585+ 
586586        polygonmeshprocessing ->  npr [style =invis]
587587
588588        {
@@ -712,7 +712,7 @@ digraph {
712712        aibegin ->  { aiforgd; proggameaibyexample; unityaigp2 } ->  aiintermediate
713713        aiintermediate ->  behavioralmathforgameai ->  aimisc
714714        aima3 ->  aimisc
715-         aimisc ->  aigpwisdom  
715+         aimisc ->  aigpwisdom
716716        aigpwisdom ->  aigpwisdom2 ->  aigpwisdom3 ->  aigpwisdom4
717717        aigpwisdom4 ->  gameaipro ->  gameaipro2
718718
@@ -757,7 +757,7 @@ digraph {
757757        multiplayergp ->  networkprog
758758        multiplayergp ->  multiplayermisc
759759
760-         serverprog ->  progposixthreads ->  advancedprogunixenv3 ->  linuxsystemprog2  
760+         serverprog ->  progposixthreads ->  advancedprogunixenv3 ->  linuxsystemprog2
761761        networkprotocol ->  tcpipillustratedv1_2 ->  tcpipillustratedv2 ->  tcpipillustratedv3
762762        networkprog ->  unixnetworkprogv1_3 ->  unixnetworkprogv2_2 ->  linuxnetworkinternals
763763
0 commit comments