AlexanderP
1

Игра Лягушка

10.08.2010, 12:37. Показов 2644. Ответов 2
Метки нет (Все метки)

Вот собственно игра заключается в том чтобы перевести человечка на другую сторону дороги 5 полос по которым ездят машины с разными скоростями
* - игрок
> - машина
Проблема в том что я не могу сделать так чтобы когда перемещаешь игрока двигалась и машина, начинаешь двигать игрока машина встаёт и не двигается. Кто то мне сказал что нужно функцию с временем какую то использовать я вообще не знаю что это)) вот мой код(он ужасен сам знаю=D ):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include <stdafx.h>
#include <windows.h>
//#include "cyr_io.h"
#include <string.h>
#include <conio.h>
#include <stdio.h>
#include "iostream"
#include <stdlib.h>
#include <time.h>
#include <math.h>
using namespace std;
 
 
int main()
{
    HANDLE display;
    display=GetStdHandle(STD_OUTPUT_HANDLE);
 
    char mat[6][15];
    COORD car;
    car.X=0;
    car.Y=2;
 
    int i,j;
 
    for (i=0;i<6;i++)
    for (j=0;j<15;j++)
        mat[i][j]='.';
    mat[0][0]='*';
    
    mat[car.Y][car.X] ='>';
    
    int x=0,y=0;
 
    int c=0;
    
    int rep=1;
    
    while (true)
    {   
        if ( kbhit() )
        switch ( getch() )
        {
            case 80 :
            mat[x][y]='.';
            mat[++x][y]='*';
            rep=1;
                break;
            case 72:
            mat[x][y]='.';
            mat[--x][y]='*';
            rep=1;
                break;
            case 77:
            mat[x][y]='.';
            mat[x][++y]='*';
            rep=1;
                break;
            case 75:
            mat[x][y]='.';
            mat[x][--y]='*';
            rep=1;
                break;
        }
 
        if (mat[x][2] == car.X) cout<<"GAME OVER";      
        
        if ( c>100 )
        {
            c=0;
            
            mat[car.Y][car.X] ='.';
            
            if ( car.X < 14 )
            {
                car.X++;
                //SetConsoleCursorPosition(display, car);
                //cout<<'>';
                mat[car.Y][car.X] ='>';
                
            } else
            //if (car.X > 14)
            {
                //SetConsoleCursorPosition(display, car);
                //cout<<'<';
                car.X--;
                mat[car.Y][car.X] ='<';
            }
            
            rep=1;
        }
        
        if ( rep )
        {
            system("cls");
        
            for (i=0;i<6;i++)
            {
                for (j=0;j<15;j++)
                printf(" %c", mat[i][j]);
                printf("\n");
            }
            rep=0;
        }
        
        Sleep(10);
        c++;    
 
    }
}
И ещё вопрос вот я сделал допустим так чтобы машинка потом повторно проезжала но она почему то размножатся начинает)) тоесть она едет сначала но оставляет за собой ещё стрелочки ) тоесть нужно сделать чтоб она не дорисовывала а перерисовывала?

Заранее Спасибо.

Добавлено через 1 минуту
И ещё извиняюсь за то что код кинул не как все )) не знаю как так сделать)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.08.2010, 12:37
Ответы с готовыми решениями:

Прыгающая лягушка
Сейчас лягушка стоит в позиции 0 на координатной оси Ox. Она прыгает по следующему алгоритму:...

Определить, сколько комаров лягушка съест через месяц
царевна лягушка съедает ежедневно на 20 комаров больше,чем в предыдущий день и еще 2 комара....

Игра слов, игра Scrabble
Задание: Создать программу для решения задачи построения слова из некоторого множества букв (игра...

Игра Кости, игра с компьютером
Всем привет! Делаю консольную игру Кости. Условия такие: 1) Перед игрой все игроки бросают...

2
Эксперт С++
5827 / 3478 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
10.08.2010, 12:39 2
Цитата Сообщение от AlexanderP Посмотреть сообщение
И ещё извиняюсь за то что код кинул не как все )) не знаю как так сделать)
Читай @ Просвещайся
2
AlexanderP
10.08.2010, 12:43 3
Всё, исправил)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.08.2010, 12:43
Помогаю со студенческими работами здесь

Лягушка скачет по экрану
Помогите пожалуйста реализовать на с++ Builder. Лягушка скачет по экрану.

Как сделать так, чтобы при нажатии на кнопку "Новая игра" игра начиналась заново?
Как сделать так, чтобы при нажатии на кнопку &quot;Новая игра&quot; игра начиналась заново? unit1.cpp void...

Программа-игра «Болото и лягушка»
Описание: Дано поле NxM клеток (размеры задаются произвольно) - участки болота. Некоторые клетки -...

Лягушка
Никак не могу обработать прогу:cry: N-лягушка живет на болоте, на котором в ряд растут бесконечно...

лягушка)
с использованием Visual Basic .NET: лягушка съедает на 20% больше комаров чем в предыдущий день и...

Рисование: лягушка, корона
Доброе время суток, уважаемые программисты Помогите пожалуйста нарисовать в Паскале: Заранее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru