piecesPerPoint
This commit is contained in:
@@ -31,7 +31,8 @@ typedef RewardFile = {
|
||||
path: String,
|
||||
startingPoints: Int,
|
||||
puzzleWidth: Int,
|
||||
puzzleHeight: Int
|
||||
puzzleHeight: Int,
|
||||
piecesPerPoint: Int
|
||||
};
|
||||
|
||||
typedef Puzzle = {
|
||||
|
@@ -30,11 +30,12 @@
|
||||
((when (= lastHeader "FILES") (Some line))
|
||||
(rewardFiles.push
|
||||
(let [parts (line.split " ")
|
||||
piecesPerPoint (Std.parseInt (parts.pop))
|
||||
puzzleHeight (Std.parseInt (parts.pop))
|
||||
puzzleWidth (Std.parseInt (parts.pop))
|
||||
startingPoints (Std.parseInt (parts.pop))
|
||||
path (parts.join " ")]
|
||||
(objectWith path startingPoints puzzleWidth puzzleHeight))))
|
||||
(objectWith path startingPoints puzzleWidth puzzleHeight piecesPerPoint))))
|
||||
((Some line)
|
||||
(.push
|
||||
(case lastHeader
|
||||
@@ -140,7 +141,7 @@
|
||||
"${label.label} $(* "|" label.points)") "/")")
|
||||
|
||||
(function :String stringifyRewardFile [:RewardFile rewardFile]
|
||||
"${rewardFile.path} ${rewardFile.startingPoints} ${rewardFile.puzzleWidth} ${rewardFile.puzzleHeight}")
|
||||
"${rewardFile.path} ${rewardFile.startingPoints} ${rewardFile.puzzleWidth} ${rewardFile.puzzleHeight} ${rewardFile.piecesPerPoint}")
|
||||
|
||||
(method :Void save []
|
||||
(localVar &mut content "DAILY\n-----\n")
|
||||
@@ -219,6 +220,6 @@
|
||||
(objectWith [labels (for label labels (objectWith [points 0] label))] type))
|
||||
(save))
|
||||
|
||||
(method addRewardFile [path startingPoints puzzleWidth puzzleHeight]
|
||||
(rewardFiles.push (objectWith path startingPoints puzzleWidth puzzleHeight))
|
||||
(method addRewardFile [path startingPoints puzzleWidth puzzleHeight piecesPerPoint]
|
||||
(rewardFiles.push (objectWith path startingPoints puzzleWidth puzzleHeight piecesPerPoint))
|
||||
(save))
|
@@ -154,8 +154,10 @@
|
||||
(set currentRewardFile (nth m.rewardFiles i))
|
||||
(set maxRewardFile i)
|
||||
(when (>= ++i m.rewardFiles.length)
|
||||
(let [lastStartingPoints .startingPoints (nth m.rewardFiles --i)
|
||||
nextStartingPoints (+ lastStartingPoints TOTAL_PIECES)]
|
||||
--i
|
||||
(let [lastStartingPoints .startingPoints (nth m.rewardFiles i)
|
||||
piecesPerPoint .piecesPerPoint (nth m.rewardFiles i)
|
||||
nextStartingPoints (+ lastStartingPoints (Math.ceil (/ TOTAL_PIECES piecesPerPoint)))]
|
||||
(when (> p nextStartingPoints)
|
||||
(set puzzleUnlocked nextStartingPoints))
|
||||
(break)))))
|
||||
@@ -215,7 +217,7 @@
|
||||
(r.shuffle jigsaw.jigs)
|
||||
(localVar spriteGrid (for y (range PUZZLE_HEIGHT) (for x (range PUZZLE_WIDTH) null)))
|
||||
(localVar indexGrid (for y (range PUZZLE_HEIGHT) (for x (range PUZZLE_WIDTH) 0)))
|
||||
(doFor i (range (min TOTAL_PIECES (- p currentRewardFile.startingPoints)))
|
||||
(doFor i (range (min TOTAL_PIECES (* currentRewardFile.piecesPerPoint (- p currentRewardFile.startingPoints))))
|
||||
(let [jig (nth jigsaw.jigs i)
|
||||
pos (ifLet [point (dictGet (the Map<Int,FlxPoint> save.data.storedPositions) i)]
|
||||
point
|
||||
@@ -298,7 +300,7 @@
|
||||
(set entryWindow (new SimpleWindow "" (FlxColor.fromRGBFloat 0 0 0 0.5) FlxColor.WHITE 0.9 0.9))
|
||||
(set entryWindow.cameras [uiCamera])
|
||||
(set entryWindow.textColor FlxColor.LIME)
|
||||
(_makeText "Puzzle #$(+ 1 rewardFileIndex) / ${model.rewardFiles.length}" (- TOTAL_PIECES (- p currentRewardFile.startingPoints)))
|
||||
(_makeText "Puzzle #$(+ 1 rewardFileIndex) / ${model.rewardFiles.length}" (max 0 (- TOTAL_PIECES (* currentRewardFile.piecesPerPoint (- p currentRewardFile.startingPoints)))))
|
||||
(set entryWindow.textColor FlxColor.ORANGE)
|
||||
(map (m.activeDailyEntries) makeText)
|
||||
(set entryWindow.textColor FlxColor.GREEN)
|
||||
|
Reference in New Issue
Block a user