代码拉取完成,页面将自动刷新
同步操作将从 tfcolin/ftbt 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package ftbt
import (
"io"
"os"
)
const (
TST_NORMAL = -1
TST_WIN = 0
TST_LOSS = 1
TST_QUIT = 2
)
var ui UI
var intro string
func LoadIntro (fin_name string) {
if len(fin_name) == 0 {
intro = "No introduction"
} else {
buf, _ := os.ReadFile (fin_name)
intro = string(buf)
}
}
func Init (ui_note UINote, ui_select [2]UISelect, ftech, fmap io.Reader, fintro_name string) bool {
ui.note = ui_note
ui.sel = ui_select
InitMiniPath ()
if LoadDX (ftech) {
return true
}
if LoadTech (ftech) {
return true
}
LoadIntro (fintro_name)
if LoadMap (fmap, ui.note) {
return true
}
if LoadPeople (fmap, ui.note) {
return true
}
return false
}
func DoOneTurn () (status int) {
StartTurnPeople ()
MapUpdataAux ()
for opt := 0; opt < 2; opt ++ {
MapUpdateWeight (opt)
ui.sel[opt].TurnStart (opt)
for {
MapClearPath(true)
obj_loc := ui.sel[opt].SelObj (SOS_PEOPLE, -1, nil)
if obj_loc == -1 {
is_conf := ui.sel[opt].Confirm("Quit?")
if is_conf {
return TST_QUIT
} else {
continue
}
}
if obj_loc == -2 {
is_conf := ui.sel[opt].Confirm("End turn?")
if is_conf {
break
} else {
continue
}
}
ip := gmap[obj_loc].people
if ip != -1 && people[ip].opt == opt {
DoPeople (ip, ui)
if np_in[1 - opt] == 0 {
return opt
}
if np_in[opt] == 0 {
return 1 - opt
}
if np_finish[opt] == np_in[opt] {
break
}
}
}
}
return TST_NORMAL
}
func Do () (st int) {
ui.note.GameStart ()
for {
st = DoOneTurn ()
if st != TST_NORMAL {
break
}
}
if st == TST_QUIT {
ui.note.GameOver (-1)
} else {
ui.note.GameOver (st)
}
return
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。