├── Cross Line ├── Head.h ├── Win.cpp ├── About.cpp ├── Begin.cpp ├── Game.cpp ├── Level.cpp ├── Line.cpp ├── Play.cpp ├── Point.cpp ├── Button.cpp ├── Game_Class.h ├── Button_Image.cpp ├── Cross Line.cpp ├── Level.ini └── Cross Line.vcxproj └── README.md /Cross Line/Head.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RatherHard/Cross-Line/HEAD/Cross Line/Head.h -------------------------------------------------------------------------------- /Cross Line/Win.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RatherHard/Cross-Line/HEAD/Cross Line/Win.cpp -------------------------------------------------------------------------------- /Cross Line/About.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RatherHard/Cross-Line/HEAD/Cross Line/About.cpp -------------------------------------------------------------------------------- /Cross Line/Begin.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RatherHard/Cross-Line/HEAD/Cross Line/Begin.cpp -------------------------------------------------------------------------------- /Cross Line/Game.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RatherHard/Cross-Line/HEAD/Cross Line/Game.cpp -------------------------------------------------------------------------------- /Cross Line/Level.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RatherHard/Cross-Line/HEAD/Cross Line/Level.cpp -------------------------------------------------------------------------------- /Cross Line/Line.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RatherHard/Cross-Line/HEAD/Cross Line/Line.cpp -------------------------------------------------------------------------------- /Cross Line/Play.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RatherHard/Cross-Line/HEAD/Cross Line/Play.cpp -------------------------------------------------------------------------------- /Cross Line/Point.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RatherHard/Cross-Line/HEAD/Cross Line/Point.cpp -------------------------------------------------------------------------------- /Cross Line/Button.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RatherHard/Cross-Line/HEAD/Cross Line/Button.cpp -------------------------------------------------------------------------------- /Cross Line/Game_Class.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RatherHard/Cross-Line/HEAD/Cross Line/Game_Class.h -------------------------------------------------------------------------------- /Cross Line/Button_Image.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RatherHard/Cross-Line/HEAD/Cross Line/Button_Image.cpp -------------------------------------------------------------------------------- /Cross Line/Cross Line.cpp: -------------------------------------------------------------------------------- 1 | #include "Game_Class.h" 2 | 3 | 4 | 5 | int pasin; // 当前关卡 6 | MOUSEMSG msg; // 鼠标消息 7 | wchar_t best_time[100]; // 最佳时间 8 | CPoint my_point[200], my_point_save[200]; // 点信息、点信息保存 9 | CLine my_line[50000]; // 线信息 10 | int my_x_flag, my_y_flag, paper[20][20]; // 纸盘信息 11 | bool point_flag[200]; // 移动标记 12 | int pass_num; // 关卡数 13 | long long times, start_time; // 计时器 14 | 15 | 16 | 17 | int main() 18 | { 19 | srand((unsigned int)time(NULL)); 20 | 21 | initgraph(WIN_WIDTH, WIN_HEIGHT); 22 | setbkmode(TRANSPARENT); 23 | BeginBatchDraw(); 24 | 25 | CGame *inter = new CBegin(); 26 | inter->inter_Face_Running(); //开始游戏 27 | delete inter; 28 | 29 | EndBatchDraw(); 30 | closegraph(); 31 | 32 | return 0; 33 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Cross-Line V1.0 2 | --- 3 | 项目:Cross-Line 4 | 5 | 版本:V1.0 6 | 7 | 作者:RatherHard(QQ:2931404870) 8 | 9 | 时间:2020-7-24 10 | 11 | 环境:VS2017 12 | 13 | 简介:简洁的益智小游戏 14 | 15 | 版权:作者仿造,但代码完全是自己写的,仅用作学习、娱乐,欢迎各位fork! 16 | 17 | 玩法:很简单,用鼠标拖动可移点,使得所有线段各不交叉,则为过关,其中有不同类别的点,大点可移,小点固定,若一线段不与其他线段交叉,则显白色,否则偏棕色,若一可移点所连线段都不与其他线段交叉,则该点显白色,否则偏棕色,固定点始终偏棕色。 18 | ### 文件: 19 | ~~~ 20 | Head.h : 初始化头文件 21 | Cross Line.cpp : 程序开端文件 22 | Game_Class.h : 游戏类头文件 23 | Game.cpp : 游戏类文件 24 | Begin.cpp : 初始界面类实现文件 25 | Level.cpp : 关卡界面类实现文件 26 | Play.cpp : 游戏界面类实现文件 27 | Win.cpp : 过关界面类实现文件 28 | About.cpp : 关于项目类实现文件 29 | Point.cpp : 点的结构类实现文件 30 | Line.cpp : 线的结构类实现文件 31 | Button.cpp : 游戏按钮类实现文件 32 | Button_Image.cpp : 游戏按钮类实现文件 33 | ~~~ 34 | ### 运行效果: 35 | ![play]( https://f.myid.email/87/b9/bc/dddf9c-08f8-9660-72f26953eac1/Files/cross-line-game.png ) 36 | -------------------------------------------------------------------------------- /Cross Line/Level.ini: -------------------------------------------------------------------------------- 1 | [Level1] 2 | Record=--:--:-- 3 | DotCount=4 4 | DotData1=3,3,1 5 | DotData2=3,8,1 6 | DotData3=9,3,1 7 | DotData4=9,8,1 8 | LineCount=6 9 | LineData1=1,2 10 | LineData2=1,3 11 | LineData3=1,4 12 | LineData4=2,3 13 | LineData5=2,4 14 | LineData6=3,4 15 | [Level2] 16 | Record=--:--:-- 17 | DotCount=6 18 | DotData1=2,3,1 19 | DotData2=2,8,1 20 | DotData3=6,1,1 21 | DotData4=6,10,1 22 | DotData5=10,3,1 23 | DotData6=10,8,1 24 | LineCount=6 25 | LineData1=1,4 26 | LineData2=1,5 27 | LineData3=4,5 28 | LineData4=2,3 29 | LineData5=2,6 30 | LineData6=3,6 31 | [Level3] 32 | Record=--:--:-- 33 | DotCount=6 34 | DotData1=2,3,1 35 | DotData2=2,8,1 36 | DotData3=6,1,1 37 | DotData4=6,10,1 38 | DotData5=10,3,1 39 | DotData6=10,8,1 40 | LineCount=9 41 | LineData1=1,4 42 | LineData2=1,5 43 | LineData3=4,5 44 | LineData4=2,3 45 | LineData5=2,6 46 | LineData6=3,6 47 | LineData7=1,2 48 | LineData8=3,4 49 | LineData9=5,6 50 | [Level4] 51 | Record=--:--:-- 52 | DotCount=14 53 | DotData1=2,4,1 54 | DotData2=2,5,1 55 | DotData3=2,6,1 56 | DotData4=2,7,1 57 | DotData5=2,9,0 58 | DotData6=3,10,0 59 | DotData7=3,5,0 60 | DotData8=5,1,0 61 | DotData9=5,6,0 62 | DotData10=7,10,0 63 | DotData11=7,5,0 64 | DotData12=9,1,0 65 | DotData13=9,6,0 66 | DotData14=10,2,0 67 | LineCount=9 68 | LineData1=1,2 69 | LineData2=2,3 70 | LineData3=3,4 71 | LineData4=4,5 72 | LineData5=1,14 73 | LineData6=6,7 74 | LineData7=8,9 75 | LineData8=10,11 76 | LineData9=12,13 77 | [Level5] 78 | Record=--:--:-- 79 | DotCount=12 80 | DotData1=0,0,1 81 | DotData2=0,0,1 82 | DotData3=0,0,1 83 | DotData4=0,0,1 84 | DotData5=0,0,1 85 | DotData6=0,0,1 86 | DotData7=0,0,1 87 | DotData8=0,0,1 88 | DotData9=0,0,1 89 | DotData10=0,0,1 90 | DotData11=0,0,1 91 | DotData12=0,0,1 92 | LineCount=11 93 | LineData1=1,2 94 | LineData2=2,3 95 | LineData3=3,4 96 | LineData4=4,5 97 | LineData5=5,6 98 | LineData6=6,7 99 | LineData7=7,8 100 | LineData8=8,9 101 | LineData9=9,10 102 | LineData10=10,11 103 | LineData11=11,12 104 | [Level6] 105 | Record=--:--:-- 106 | DotCount=15 107 | DotData1=0,0,1 108 | DotData2=0,0,1 109 | DotData3=0,0,1 110 | DotData4=0,0,1 111 | DotData5=0,0,1 112 | DotData6=0,0,1 113 | DotData7=0,0,1 114 | DotData8=0,0,1 115 | DotData9=0,0,1 116 | DotData10=0,0,1 117 | DotData11=0,0,1 118 | DotData12=0,0,1 119 | DotData13=0,0,1 120 | DotData14=0,0,1 121 | DotData15=0,0,1 122 | LineCount=15 123 | LineData1=1,2 124 | LineData2=2,3 125 | LineData3=3,4 126 | LineData4=4,5 127 | LineData5=5,6 128 | LineData6=6,7 129 | LineData7=7,8 130 | LineData8=8,9 131 | LineData9=9,10 132 | LineData10=10,11 133 | LineData11=11,12 134 | LineData12=12,13 135 | LineData13=13,14 136 | LineData14=14,15 137 | LineData15=15,1 138 | [Level7] 139 | Record=--:--:-- 140 | DotCount=12 141 | DotData1=0,0,1 142 | DotData2=0,0,1 143 | DotData3=0,0,1 144 | DotData4=0,0,1 145 | DotData5=0,0,1 146 | DotData6=0,0,1 147 | DotData7=0,0,1 148 | DotData8=0,0,1 149 | DotData9=0,0,1 150 | DotData10=0,0,1 151 | DotData11=0,0,1 152 | DotData12=0,0,1 153 | LineCount=20 154 | LineData1=1,2 155 | LineData2=2,3 156 | LineData3=3,4 157 | LineData4=4,5 158 | LineData5=5,6 159 | LineData6=6,7 160 | LineData7=7,8 161 | LineData8=8,9 162 | LineData9=9,10 163 | LineData10=10,11 164 | LineData11=11,12 165 | LineData12=12,1 166 | LineData13=1,4 167 | LineData14=2,9 168 | LineData15=3,7 169 | LineData16=5,7 170 | LineData17=2,8 171 | LineData18=12,7 172 | LineData19=11,6 173 | LineData20=11,9 174 | [Level8] 175 | Record=--:--:-- 176 | DotCount=15 177 | DotData1=0,0,1 178 | DotData2=0,0,1 179 | DotData3=0,0,1 180 | DotData4=0,0,1 181 | DotData5=0,0,1 182 | DotData6=0,0,1 183 | DotData7=0,0,1 184 | DotData8=0,0,1 185 | DotData9=0,0,1 186 | DotData10=0,0,1 187 | DotData11=0,0,1 188 | DotData12=0,0,1 189 | DotData13=0,0,1 190 | DotData14=0,0,1 191 | DotData15=0,0,1 192 | LineCount=22 193 | LineData1=1,2 194 | LineData2=2,3 195 | LineData3=3,4 196 | LineData4=4,5 197 | LineData5=5,6 198 | LineData6=6,7 199 | LineData7=7,8 200 | LineData8=8,9 201 | LineData9=9,10 202 | LineData10=10,11 203 | LineData11=11,12 204 | LineData12=12,13 205 | LineData13=13,14 206 | LineData14=14,15 207 | LineData15=15,1 208 | LineData16=1,14 209 | LineData17=2,4 210 | LineData18=3,7 211 | LineData19=2,8 212 | LineData20=3,9 213 | LineData21=4,6 214 | LineData22=5,9 215 | [Level9] 216 | Record=--:--:-- 217 | DotCount=20 218 | DotData1=3,3,0 219 | DotData2=3,8,0 220 | DotData3=0,0,1 221 | DotData4=0,0,1 222 | DotData5=0,0,1 223 | DotData6=0,0,1 224 | DotData7=0,0,1 225 | DotData8=0,0,1 226 | DotData9=0,0,1 227 | DotData10=0,0,1 228 | DotData11=0,0,1 229 | DotData12=0,0,1 230 | DotData13=0,0,1 231 | DotData14=0,0,1 232 | DotData15=0,0,1 233 | DotData16=0,0,1 234 | DotData17=0,0,1 235 | DotData18=0,0,1 236 | DotData19=0,0,1 237 | DotData20=0,0,1 238 | LineCount=30 239 | LineData1=1,2 240 | LineData2=2,3 241 | LineData3=3,4 242 | LineData4=4,5 243 | LineData5=5,6 244 | LineData6=6,7 245 | LineData7=7,8 246 | LineData8=8,9 247 | LineData9=9,10 248 | LineData10=10,11 249 | LineData11=11,12 250 | LineData12=12,13 251 | LineData13=13,14 252 | LineData14=14,15 253 | LineData15=15,16 254 | LineData16=16,17 255 | LineData17=17,18 256 | LineData18=18,19 257 | LineData19=19,20 258 | LineData20=20,1 259 | LineData21=1,3 260 | LineData22=3,8 261 | LineData23=9,7 262 | LineData24=5,10 263 | LineData25=12,20 264 | LineData26=18,15 265 | LineData27=14,12 266 | LineData28=7,20 267 | LineData29=8,19 268 | LineData30=0,0 269 | [Level10] 270 | Record=--:--:-- 271 | DotCount=25 272 | DotData1=3,3,0 273 | DotData2=3,8,0 274 | DotData3=9,3,0 275 | DotData4=9,8,0 276 | DotData5=0,0,1 277 | DotData6=0,0,1 278 | DotData7=0,0,1 279 | DotData8=0,0,1 280 | DotData9=0,0,1 281 | DotData10=0,0,1 282 | DotData11=0,0,1 283 | DotData12=0,0,1 284 | DotData13=0,0,1 285 | DotData14=0,0,1 286 | DotData15=0,0,1 287 | DotData16=0,0,1 288 | DotData17=0,0,1 289 | DotData18=0,0,1 290 | DotData19=0,0,1 291 | DotData20=0,0,1 292 | DotData21=0,0,1 293 | DotData22=0,0,1 294 | DotData23=0,0,1 295 | DotData24=0,0,1 296 | DotData25=0,0,1 297 | LineCount=40 298 | LineData1=1,2 299 | LineData2=2,3 300 | LineData3=3,4 301 | LineData4=4,5 302 | LineData5=5,6 303 | LineData6=6,7 304 | LineData7=7,8 305 | LineData8=8,9 306 | LineData9=9,10 307 | LineData10=10,11 308 | LineData11=11,12 309 | LineData12=12,13 310 | LineData13=13,14 311 | LineData14=14,15 312 | LineData15=15,16 313 | LineData16=16,17 314 | LineData17=17,18 315 | LineData18=18,19 316 | LineData19=19,20 317 | LineData20=20,21 318 | LineData21=21,22 319 | LineData22=22,23 320 | LineData23=23,24 321 | LineData24=24,25 322 | LineData25=25,1 323 | LineData26=1,3 324 | LineData27=3,8 325 | LineData28=9,7 326 | LineData29=5,10 327 | LineData30=12,20 328 | LineData31=18,15 329 | LineData32=14,12 330 | LineData33=7,20 331 | LineData34=8,19 332 | LineData35=20,18 333 | LineData36=23,18 334 | LineData37=24,12 335 | LineData38=13,25 336 | LineData39=13,24 337 | LineData40=23,19 338 | -------------------------------------------------------------------------------- /Cross Line/Cross Line.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | 15.0 23 | {2DBB2D6A-0CD0-4317-82C9-D84B5E5D1596} 24 | Win32Proj 25 | CrossLine 26 | 10.0.17763.0 27 | 28 | 29 | 30 | Application 31 | true 32 | v141 33 | Unicode 34 | 35 | 36 | Application 37 | false 38 | v141 39 | true 40 | Unicode 41 | 42 | 43 | Application 44 | true 45 | v141 46 | Unicode 47 | 48 | 49 | Application 50 | false 51 | v141 52 | true 53 | Unicode 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | true 75 | 76 | 77 | true 78 | 79 | 80 | false 81 | 82 | 83 | false 84 | 85 | 86 | 87 | 88 | 89 | Level3 90 | Disabled 91 | true 92 | WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 93 | true 94 | 95 | 96 | Console 97 | true 98 | 99 | 100 | 101 | 102 | 103 | 104 | Level3 105 | Disabled 106 | true 107 | _DEBUG;_CONSOLE;%(PreprocessorDefinitions) 108 | true 109 | 110 | 111 | Console 112 | true 113 | 114 | 115 | 116 | 117 | 118 | 119 | Level3 120 | MaxSpeed 121 | true 122 | true 123 | true 124 | WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 125 | true 126 | 127 | 128 | Console 129 | true 130 | true 131 | true 132 | 133 | 134 | 135 | 136 | 137 | 138 | Level3 139 | MaxSpeed 140 | true 141 | true 142 | true 143 | NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 144 | true 145 | 146 | 147 | Console 148 | true 149 | true 150 | true 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | --------------------------------------------------------------------------------