赞
踩
伪代码:
1.数据定义 2.打印赛道 3.开始比赛 4.输出比赛结果 1.数据定义{ 1.1赛道长度NUMBER 70 //宏定义 //全局 1.2定义一个字符串赛道 tracks[NUMBER] 1.3定义兔子的当前步数tmyrabbit 1.4定义乌龟的当前步数mytortoise } 2.打印赛道 { 2.1打印字符 '-' //表示赛道 长度为NUMBER 70 2.2 赛道初始化为 ' ' } 3.开始比赛 do{ for(int i = 0; i < NUMBER ; i++){ 1.调用兔子跑函数 2.调用乌龟跑函数 3,if判断位置相同输出 } }whlie(再来一次 【兔子 < 70 && 乌龟 < 70】 ) 4.输出比赛结果 { 3.判断输赢 3.1 if(兔子 >=70 && 兔子 > 乌龟) 3.1(1)兔子 赢,比赛结束 else if ( 兔子 == 70 && 乌龟 == 70) 平局 else 3.1.(2)乌龟赢,比赛结束 }
C语言实现代码:
#include <stdlib.h> #include <stdio.h> #include <time.h> #include <windows.h> #define NUMBER 70 char tracks[NUMBER]; int tmyrabbit; int mytortoise; void track(char * mytrack, char symbol); //初始化赛道 void showtrack(char * mytrack); // 打印赛道 int rabbit(); //兔子执行函数 int tortoise(); // 乌龟执行函数 void winorlost(int num1, int num2); int main() { //设置随机数 srand(time(NULL)); int gametime=1; //模块1 初始化赛道 track(tracks, '-'); //模块2 打印赛道 showtrack(tracks); //初始化 空格 track(tracks, ' '); do { //for循环执行 for (int i = 0; i < NUMBER; i++) { //模块3 兔子函数 rabbit(); //模块4 乌龟调用函数 tortoise(); if (tmyrabbit == mytortoise) { printf("\a");//作为咬到了一起 } gametime++; Sleep(1000); } } while (tmyrabbit < 70 && mytortoise < 70); winorlost(tmyrabbit, mytortoise); return 0; } void track(char * mytrack, char symbol) { //初始化 for (int i = 0; i < NUMBER; i++) { *mytrack = symbol; *mytrack++; } } void showtrack(char * mytrack) { //打印 printf("BIUbang\n"); printf("比赛开始了!\n"); printf("%s\n",mytrack ); } int rabbit() { int a = 1 + rand() % 10; //处理概率事件 switch (a) { case 1: case 2: tmyrabbit = tmyrabbit; break; case 3: case 4: tmyrabbit += 9; break; case 5: tmyrabbit -= 12; break; case 6: case 7: case 8: tmyrabbit += 1; break; case 9: case 10: tmyrabbit -= 2; break; } if (tmyrabbit<0) { tmyrabbit = 0; } for (int i = 0; i <= tmyrabbit; i++) { if (i = tmyrabbit) { for (int j = 0; j < tmyrabbit; j++) { printf(" "); } printf("T"); printf("\n"); } } return tmyrabbit; } int tortoise() { int a = 1 + rand() % 10; //处理概率事件 switch (a) { case 1: case 2: case 3: case 4: case 5: mytortoise += 3; break; case 6: case 7: case 8: mytortoise += 1; break; case 9: case 10: mytortoise -= 6; break; } if (mytortoise < 0) { mytortoise = 0; } for (int i = 0; i <= mytortoise; i++) { if (i = mytortoise) { for (int j = 0; j < mytortoise; j++) { printf(" "); } printf("G"); printf("\n"); } } return mytortoise; } void winorlost(int num1, int num2) { if (num1 >= 70 && num1 >num2) { printf("兔子赢:)"); }else if (num1 == 70 && num2 == 70) { printf("^平局^"); } else { printf("乌龟赢:)"); } }
实现效果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。