游戏简介
场景沉浸式游戏,遇到不同的场景,你有不同的选择,历时三天,你就能取得胜利。
代码
1 #include<stdio.h> 2 #include <stdlib.h> 3 #include <windows.h> 4 5 void deathm(); 6 void author(); 7 void runto(); 8 9 int main(void) { 10 11 //作者声明函数 12 author(); 13 14 //变量定义 15 int choice; //玩家选择 16 int choice2; //第二天的玩家选择 17 int hp = 100; //血量 18 int thirst = 0; //口渴度 19 int timeAlive = 0; //存活时间 20 int coins = 0; //硬币功能 21 int case1choice; //case1的选择 22 int case2choice; //case2的选择 23 int case3choice; //case3的选择 24 int deal1; //第一个交易的选项 25 int deal1_1; //第一个交易的交易选项 26 int bottle = 0; //水瓶 27 int j; //循环变量 28 int k; //循环变量 29 int twocase1choice; //第二天的case1选择 30 int twocase2choice; //第二天的case2选择 31 int twocase3choice; //第二天的case3选择 32 int twocase4choice; //第二天的case4选择 33 char name[20]; //求生者的名字 34 35 //游戏规则 36 printf("你的血量是:%d\n", hp); 37 printf("你的口渴度是:%d\n", thirst); 38 printf("存活时间:%d\n", timeAlive); 39 Sleep(1000); 40 //system("cls"); 41 printf("*血量到0极为死亡*\n"); 42 printf("*口渴度到10极为死亡*\n"); 43 printf("*存活时间到3极为成功存活*\n"); 44 Sleep(3000); 45 system("cls"); 46 47 printf("请输入你的名字:"); 48 scanf("%s", name); 49 printf("求生者[%s]开始你的冒险吧!\n", name); 50 51 //游戏剧情 52 printf("在一个月黑风高的夜晚...\n"); 53 printf("突然传来了爆炸声...你醒了...\n"); 54 printf("你发现周围什么都没了...\n"); 55 printf("一群僵尸围着你...你有以下选择\n"); 56 Sleep(1000); 57 58 //任务分支 59 printf("请使用数字1-4选择\n"); 60 printf("1.逃跑到停车场\n"); 61 printf("2.去超市搜刮一波\n"); 62 printf("3.寻找存活的人\n"); 63 printf("4.留在原地不动\n"); 64 printf("请输入:"); 65 //Sleep(5000); 66 scanf_s("%d", &choice); 67 //Sleep(1000); 68 system("cls"); 69 70 switch (choice) { 71 case 1: 72 printf("停车场里有车,但是附近有僵尸\n"); 73 printf("进入输入1,待在停车场请输入2\n"); 74 scanf_s("%d", &case1choice); 75 if (case1choice == 1) { 76 printf("车里躲了一只僵尸\n"); 77 printf("你的血量减少了20"); 78 printf("但是你捡到了1个金币"); 79 coins++; 80 hp -= 20; 81 timeAlive++; 82 thirst++; 83 } 84 else { 85 printf("僵尸太多了,你在逃跑时被抓伤了\n"); 86 printf("你的血量减少了5\n"); 87 hp = hp - 5; 88 timeAlive++; 89 thirst++; 90 } 91 if (hp <= 0) { 92 deathm(); 93 goto jieshu; 94 } 95 printf("\n************************************\n"); 96 printf("你的血量是:%d\n", hp); 97 printf("你的口渴度是:%d\n", thirst); 98 printf("存活时间:%d\n", timeAlive); 99 printf("你携带的水瓶:%d\n", bottle); 100 printf("你的金币:%d", coins); 101 printf("\n************************************\n"); 102 Sleep(5000); 103 system("cls"); 104 break; 105 case 2: 106 printf("僵尸把你包围了,你是要突围还是躲到储藏室\n"); 107 printf("突围输入1,躲藏到储藏室输入2\n"); 108 scanf_s("%d", &case2choice); 109 if (case2choice == 1) { 110 printf("突围失败!但是僵尸去吃别的人的尸体了\n"); 111 printf("你的血量减少了20"); 112 hp -= 20; 113 timeAlive++; 114 thirst++; 115 } 116 else { 117 printf("没有人发现你,但是你踩到了香蕉摔了个跟头\n"); 118 printf("你的血量减少了10\n"); 119 printf("但是你在柜子里发现了1个金币"); 120 coins++; 121 hp -= 10; 122 timeAlive++; 123 thirst++; 124 } 125 if (hp <= 0) { 126 deathm(); 127 goto jieshu; 128 } 129 printf("\n************************************\n"); 130 printf("你的血量是:%d\n", hp); 131 printf("你的口渴度是:%d\n", thirst); 132 printf("存活时间:%d\n", timeAlive); 133 printf("你携带的水瓶:%d\n", bottle); 134 printf("你的金币:%d", coins); 135 printf("\n************************************\n"); 136 Sleep(5000); 137 system("cls"); 138 break; 139 case 3: 140 printf("你的伙伴被感染了,你要救他吗?\n"); 141 printf("救他输入1,当做没看见输入2\n"); 142 scanf_s("%d", &case3choice); 143 if (case3choice == 1) { 144 printf("你成功救了他,没有受到任何伤害\n"); 145 printf("你的血量减少了0"); 146 hp -= 0; 147 timeAlive++; 148 thirst++; 149 } 150 else { 151 printf("他说你是一个冷血!并且咬了你一口\n"); 152 printf("你的血量减少了10\n"); 153 printf("他走的时候掉了1个金币"); 154 hp -= 10; 155 timeAlive++; 156 thirst++; 157 } 158 if (hp <= 0) { 159 deathm(); 160 goto jieshu; 161 } 162 printf("\n************************************\n"); 163 printf("你的血量是:%d\n", hp); 164 printf("你的口渴度是:%d\n", thirst); 165 printf("存活时间:%d\n", timeAlive); 166 printf("你携带的水瓶:%d\n", bottle); 167 printf("你的金币:%d", coins); 168 printf("\n************************************\n"); 169 Sleep(5000); 170 system("cls"); 171 break; 172 case 4: 173 printf("你留在了原地不动,你没有任何武器\n"); 174 printf("僵尸已经逼近,你只能坐以待毙...\n"); 175 hp -= 100; 176 if (hp <= 0) { 177 deathm(); 178 goto jieshu; 179 } 180 else { 181 goto success; 182 } 183 printf("\n************************************\n"); 184 printf("你的血量是:%d\n", hp); 185 printf("你的口渴度是:%d\n", thirst); 186 printf("存活时间:%d\n", timeAlive); 187 printf("你携带的水瓶:%d\n", bottle); 188 printf("你的金币:%d", coins); 189 printf("\n************************************\n"); 190 Sleep(5000); 191 system("cls"); 192 break; 193 default: 194 printf("什么?没僵尸?你的打开方式错了\n"); 195 break; 196 } 197 198 199 //第一天结束的交易 200 printf("这里有个商人,要交易,你要吗?\n"); 201 printf("想交易的话输入1,不想的话输入2\n"); 202 Sleep(1000); 203 if (hp > 0) { 204 scanf("%d", &deal1); 205 if (deal1 == 1) { 206 if (coins >= 1) { 207 printf("************************************\n"); 208 printf("\t我有一个水瓶,我要一个金币"); 209 printf("\n************************************\n"); 210 printf("要的话请输入1,终止交易输入2\n"); 211 scanf("%d", &deal1_1); 212 if (deal1_1 == 1) { 213 printf("水瓶给你了,以后合作!\n"); 214 coins--; 215 bottle++; 216 } 217 } 218 else { 219 printf("看来你没钱给跟我交易,穷小子\n"); 220 } 221 222 } 223 } 224 Sleep(1000); 225 226 //水瓶使用 227 if (bottle >= 1) { 228 printf("你喝了水,口渴度变为0\n"); 229 thirst = 0; 230 } 231 232 system("cls"); 233 234 runto(); 235 236 //第二天任务分支 237 printf("请使用数字1-4选择\n"); 238 printf("1.进入军事基地\n"); 239 printf("2.去打猎找点吃的\n"); 240 printf("3.躲进洞穴里\n"); 241 printf("4.爬上千年古树\n"); 242 243 printf("请输入:"); 244 scanf_s("%d", &choice2); 245 246 Sleep(1000); 247 system("cls"); 248 249 switch (choice) { 250 case 1: 251 printf("军事基地不让你进入,眼看僵尸已经围上来了\n"); 252 printf("输入1FQ进入,输入2快速逃跑\n"); 253 scanf_s("%d", &twocase1choice); 254 if (twocase1choice == 1) { 255 printf("你FQ失败,正在不停的流血\n"); 256 for (j = 0; j < 10; j++) { 257 printf("-1"); 258 hp--; 259 } 260 thirst++; 261 timeAlive++; 262 printf("幸好你在墙角发现了1个金币\n"); 263 } 264 else { 265 printf("你被僵尸抓住了,头被啃了下来\n"); 266 hp -= 100; 267 } 268 if (hp <= 0) { 269 deathm(); 270 goto jieshu; 271 } 272 else { 273 goto success; 274 } 275 printf("\n************************************\n"); 276 printf("你的血量是:%d\n", hp); 277 printf("你的口渴度是:%d\n", thirst); 278 printf("存活时间:%d\n", timeAlive); 279 printf("你携带的水瓶:%d\n", bottle); 280 printf("你的金币:%d", coins); 281 printf("\n************************************\n"); 282 Sleep(5000); 283 system("cls"); 284 break; 285 case 2: 286 printf("你看到一只小狼崽,你是杀了它吃还是放过它\n"); 287 printf("上去杀了小狼输入1,放过它输入2\n"); 288 scanf_s("%d", &twocase2choice); 289 if (twocase2choice == 1) { 290 printf("小狼反过来咬了你一口,你正在不停的失血\n"); 291 for (k = 0; k < 10; k++) { 292 printf("-2"); 293 hp -= 2; 294 } 295 thirst++; 296 timeAlive++; 297 } 298 else { 299 printf("你转头离开了,并且发现了1个金币\n"); 300 printf("你没有受到任何伤害\n"); 301 thirst++; 302 timeAlive++; 303 } 304 if (hp <= 0) { 305 deathm(); 306 goto jieshu; 307 } 308 else { 309 goto success; 310 } 311 printf("\n************************************\n"); 312 printf("你的血量是:%d\n", hp); 313 printf("你的口渴度是:%d\n", thirst); 314 printf("存活时间:%d\n", timeAlive); 315 printf("你携带的水瓶:%d\n", bottle); 316 printf("你的金币:%d", coins); 317 printf("\n************************************\n"); 318 Sleep(5000); 319 system("cls"); 320 break; 321 case 3: 322 printf("洞穴里一片漆黑,你还要躲进去吗?\n"); 323 printf("躲进去输入1,离开输入2\n"); 324 scanf_s("%d", &twocase3choice); 325 if (twocase3choice == 1) { 326 printf("你进入了洞穴,但是被僵尸抓伤了\n"); 327 printf("血量减少了40\n"); 328 hp -= 40; 329 thirst++; 330 timeAlive++; 331 } 332 else { 333 printf("你离开了洞穴,周围一片漆黑...\n"); 334 printf("突然飞出来了一个骷髅头,你被砸中了\n"); 335 printf("血量减少了20\n"); 336 hp -= 20; 337 thirst++; 338 timeAlive++; 339 } 340 if (hp <= 0) { 341 deathm(); 342 goto jieshu; 343 } 344 else { 345 goto success; 346 } 347 printf("\n************************************\n"); 348 printf("你的血量是:%d\n", hp); 349 printf("你的口渴度是:%d\n", thirst); 350 printf("存活时间:%d\n", timeAlive); 351 printf("你携带的水瓶:%d\n", bottle); 352 printf("你的金币:%d", coins); 353 printf("\n************************************\n"); 354 Sleep(5000); 355 system("cls"); 356 break; 357 case 4: 358 printf("千年古树很陡峭,你不会爬树,还要上去吗\n"); 359 printf("上去输入1,在树旁边睡下输入2\n"); 360 scanf_s("%d", &twocase4choice); 361 if (twocase4choice == 1) { 362 printf("你从树上摔了下来,你一直在流血,还好止住了\n"); 363 printf("血量减少了50\n"); 364 hp -= 50; 365 thirst++; 366 timeAlive++; 367 } 368 else { 369 printf("树边有遮挡物,很安全你没被发现\n"); 370 printf("血量减少了0\n"); 371 thirst++; 372 timeAlive++; 373 } 374 if (hp <= 0) { 375 deathm(); 376 goto jieshu; 377 } 378 else { 379 goto success; 380 } 381 printf("\n************************************\n"); 382 printf("你的血量是:%d\n", hp); 383 printf("你的口渴度是:%d\n", thirst); 384 printf("存活时间:%d\n", timeAlive); 385 printf("你携带的水瓶:%d\n", bottle); 386 printf("你的金币:%d", coins); 387 printf("\n************************************\n"); 388 Sleep(5000); 389 system("cls"); 390 break; 391 default: 392 printf("什么?没僵尸?你的打开方式错了\n"); 393 break; 394 } 395 396 //goto语句,结束提醒 397 jieshu: 398 Sleep(1000); 399 printf("\n************************************\n"); 400 printf("游戏已经结束,感谢游玩!\n"); 401 printf("\n************************************\n"); 402 printf("感谢求生者[%s]体验本游戏", name); 403 printf("\n************************************\n"); 404 Sleep(5000); 405 if (timeAlive >= 3) { 406 success: 407 printf("\n************************************\n"); 408 printf("你成功的存活到了第3天,感谢游玩!"); 409 printf("\n************************************\n"); 410 printf("感谢求生者[%s]体验本游戏", name); 411 printf("\n************************************\n"); 412 Sleep(5000); 413 } 414 415 } 416 417 void deathm() { 418 419 //死亡提示 420 printf("\n************************************\n"); 421 printf("\t你已经死亡!"); 422 printf("\n************************************\n"); 423 Sleep(1000); 424 } 425 426 void author() { 427 428 //作者申明 429 printf("\n************************************\n"); 430 printf("\t丧失求生-永恒制作"); 431 printf("\n************************************\n"); 432 Sleep(1000); 433 } 434 435 void runto() { 436 437 //跑路 438 printf("跑路中...跑路中...\n"); 439 printf("好累...好累...\n"); 440 printf("白天到了,下一步干什么\n"); 441 }
备注:游戏非常有趣,但代码却很简单,C语言入门的同学就可以拿来练手。很久之前在贴吧(C语言吧)见得,对作者佩服得五体投地啊!