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