当前位置:   article > 正文

用chitgpt生成C语言贪吃蛇代码

chitgpt
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>int main()
  4. {
  5. // 初始化游戏
  6. int i, j;
  7. int score = 0;
  8. int level = 1;
  9. int speed = 200;
  10. int food_x = 0;
  11. int food_y = 0;
  12. int size = 3;
  13. int snake_x[60] = {0};
  14. int snake_y[60] = {0};
  15. int dir = 0; // 初始化屏幕
  16. system("cls");
  17. for (i = 0; i < 20; i++) {
  18. for (j = 0; j < 30; j++) {
  19. printf(" ");
  20. }
  21. printf("\n");
  22. } // 初始化蛇的位置
  23. snake_x[0] = 15;
  24. snake_y[0] = 10;
  25. for (i = 1; i < size; i++) {
  26. snake_x[i] = snake_x[i - 1] - 1;
  27. snake_y[i] = snake_y[i - 1];
  28. } // 生成食物
  29. food_x = rand() % 20;
  30. food_y = rand() % 30; // 开始游戏
  31. while (1) {
  32. // 画出屏幕
  33. system("cls");
  34. for (i = 0; i < 20; i++) {
  35. for (j = 0; j < 30; j++) {
  36. if (i == 0 || i == 19 || j == 0 || j == 29) {
  37. printf("*");
  38. }
  39. else {
  40. int flag = 0;
  41. for (int k = 0; k < size; k++) {
  42. if (i == snake_x[k] && j == snake_y[k]) {
  43. printf("@");
  44. flag = 1;
  45. break;
  46. }
  47. }
  48. if (flag == 0) {
  49. if (i == food_x && j == food_y) {
  50. printf("$");
  51. }
  52. else {
  53. printf(" ");
  54. }
  55. }
  56. }
  57. }
  58. printf("\n");
  59. } // 获取用户输入
  60. if (kbhit()) {
  61. char ch = getch();
  62. if (ch == 'a' && dir != 2) {
  63. dir = 1;
  64. }
  65. else if (ch == 'd' && dir != 1) {
  66. dir = 2;
  67. }
  68. else if (ch == 'w' && dir != 4) {
  69. dir = 3;
  70. }
  71. else if (ch == 's' && dir != 3) {
  72. dir = 4;
  73. }
  74. } // 游戏逻辑
  75. for (i = size - 1; i > 0; i--) {
  76. snake_x[i] = snake_x[i - 1];
  77. snake_y[i] = snake_y[i - 1];
  78. }
  79. switch (dir) {
  80. case 1:
  81. snake_y[0]--;
  82. break;
  83. case 2:
  84. snake_y[0]++;
  85. break;
  86. case 3:
  87. snake_x[0]--;
  88. break;
  89. case 4:
  90. snake_x[0]++;
  91. break;
  92. } // 判断游戏是否结束
  93. if (snake_x[0] == 0 || snake_x[0] == 19 || snake_y[0] == 0 || snake_y[0] == 29) {
  94. printf("游戏结束,您的得分为:%d\n", score);
  95. break;
  96. }
  97. for (i = 1; i < size; i++) {
  98. if (snake_x[0] == snake_x[i] && snake_y[0] == snake_y[i]) {
  99. printf("游戏结束,您的得分为:%d\n", score);
  100. break;
  101. }
  102. } // 判断蛇是否吃到食物
  103. if (snake_x[0] == food_x && snake_y[0] == food_y) {
  104. size++;
  105. food_x = rand() % 20;
  106. food_y = rand() % 30;
  107. score += 10;
  108. if (score % 50 == 0) {
  109. level++;
  110. speed -= 50;
  111. }
  112. } Sleep(speed);
  113. } return 0;
  114. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/343998
推荐阅读
相关标签
  

闽ICP备14008679号