Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Grizli3
0 / 0 / 0
Регистрация: 28.10.2013
Сообщений: 13
1

Создание игры "Буквопад"

28.10.2013, 16:51. Просмотров 2041. Ответов 25
Метки нет (Все метки)

Здравствуйте! Сам не особо работал на С#, но учителю понадобилось, а с ним не поспоришь =) Задача вот в чем : сверху экрана летят буквы, сначала с медленной скоростью, которая со временем ускоряется. Игрок должен нажимать на ту букву на клавиатуре, которая есть на экране. Если нажата клавиша с буквой, которой нет на экране - новое очко к счетчику штрафов, если буква на экране "упала" донизу - еще одно штрафное очко. В конце игры выдается количество очков и количество штрафных очков. Как то так =). Все заранее спасибо за любую помощь =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2013, 16:51
Ответы с готовыми решениями:

Создание клиент-серверного приложения игры "Крестики-нолики"
Всем привет! Помогите, пожалуйста, написать клиент-серверное приложение для...

Создание простейшей игры, подобной "Кто хочет стать миллионером"
Доброго времени! Помогите разобраться с составлением структуры простейшей...

Создание игры "Крестики-Нолики"
Доброе время суток.Подскажите пожалуйста,как можно из элемента Panel,построить...

Создание игры "Расстановка 16 букв"
Помогите с созданием приложения. С таким еще не сталкивался. Где и как вообще...

Создание игры "стрелялки"
Я хожу на курсы по C#. Нам задали домашнее задание сделать игру "стрелялку". В...

25
Winhttp22
151 / 122 / 22
Регистрация: 16.02.2013
Сообщений: 820
11.12.2013, 21:23 21
Psilon, да, структура бы лучше подошла, с двумя полями - буква и флаг (char and bool)
Цитата Сообщение от Psilon Посмотреть сообщение
"а давайте в 23 ячейке массива у нас будет скрытый флаг? А почему в 23? А чтоб никто не догадался..."
а это не совсем понял)
0
Psilon
Master of Orion
Эксперт .NET
6000 / 4850 / 902
Регистрация: 10.07.2011
Сообщений: 14,460
Записей в блоге: 5
Завершенные тесты: 4
11.12.2013, 23:20 22
Цитата Сообщение от Winhttp22 Посмотреть сообщение
а это не совсем понял)
G22: Преобразование логических зависимостей в физические

Если один модуль зависит от другого, зависимость должна быть не только
логической, но и физической. Зависимый модуль не должен делать никаких
предположений (иначе говоря, создавать логические зависимости) относительно того
модуля, от которого он зависит. Вместо этого он должен явно запросить у этого
модуля всю необходимую информацию.
короче, создавать многомерный массив только потому, что нам лень выделить отдельную структуру - беда. Всегда можно использовать какой-нибудь KeyValuePair, если самому лень объявить.
0
Winhttp22
151 / 122 / 22
Регистрация: 16.02.2013
Сообщений: 820
12.12.2013, 01:07 23
Grizli3, вот "буквопад"
Буквы падают, и так же исчезают при нажатии соответствующей клавиши. "До ума" дальше уже сам доводи (счетчик делай и тд.), это просто как пример

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
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
 
namespace bykvopad
{
    /// <summary>
    /// Description of MainForm.
    /// </summary>
    public partial class MainForm : Form
    {
        public MainForm()
        {
            //
            // The InitializeComponent() call is required for Windows Forms designer support.
            //
            InitializeComponent();
            
            //
            // TODO: Add constructor code after the InitializeComponent() call.
            //
        }
        Object o=new Object();
        char[] Letter_array=new char[26];
        Random rand=new Random();
        
        void Button1Click(object sender, EventArgs e)
        {
            for (int i = 97; i < 123; i++) {
                Letter_array[i-97]=(char)i;
            }
            timer1.Enabled=true;
            
        }
        
        void Timer1Tick(object sender, EventArgs e)
        {
            lock(o){
                string str="";
                int space=rand.Next(39);
                for (int i = 0; i < space; i++) {
                    str+=" ";
                }   
                int arr=rand.Next(26);
                str+=Letter_array[arr].ToString();
                listBox1.Items.Insert(0,str);
            }
        }
        
        void MainFormKeyPress(object sender, KeyPressEventArgs e)
        {
            lock(o){
                int list_count=listBox1.Items.Count;
                for (int i = 0; i < list_count; i++) {
                    if(listBox1.Items[i].ToString().IndexOf(e.KeyChar)!=-1){
                        listBox1.Items.RemoveAt(i);
                        break;
                    }
                }
            }
        }
    }
}
0
Вложения
Тип файла: rar bykvopad.rar (4.3 Кб, 12 просмотров)
Winhttp22
151 / 122 / 22
Регистрация: 16.02.2013
Сообщений: 820
12.12.2013, 01:12 24
без файла ресурсов не компилится -
Среда SharpDevelop
0
Вложения
Тип файла: rar bykvopad.rar (5.8 Кб, 7 просмотров)
Grizli3
0 / 0 / 0
Регистрация: 28.10.2013
Сообщений: 13
12.12.2013, 17:10  [ТС] 25
Winhttp22, хм, выполненно прикольно, движение не через изменение координат, а через буквы на строчке и затем созданием новой строчки на месте предыдущей со сдвигом предыдущей вниз..... Но вот не особо подходит. Должна увеличиваться скорость падания со временем, да и буквы не должны улетать ниже экрана, а в листбоксе идет скролл =) В принципе, поработать можно, но так как я нуп в этом деле, а времени всего ночь, придеться что-нить кумекать с битмапами =) Но за идею спасибо! =)
0
Winhttp22
151 / 122 / 22
Регистрация: 16.02.2013
Сообщений: 820
12.12.2013, 21:27 26
Цитата Сообщение от Grizli3 Посмотреть сообщение
Должна увеличиваться скорость падания со временем, да и буквы не должны улетать ниже экрана, а в листбоксе идет скролл =)
это легко сделать, убрать скролл, и увеличение скорости добавить. Я вижу вы хотели, чтобы я вам готовое уже все сделал? Увы, такого не будет Я лишь привел пример, и его легко можно доработать, чтобы он соответсвовал вашим требованиям.
Лепите с битмапами, там больше работы, но тоже можно сделать) Оценку вы получать будете, а не я)
0
12.12.2013, 21:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2013, 21:27

Игра "Змейка", ошибка "Globals.Close не объявлен", неправильная логика игры
Нашёл в интернете код игры &quot;змейка&quot; и саму скомпилированную игру. Но есть...

Реализация Игры "Жизнь" из книги Уэзерелл Ч. "Этюды для программистов"
Кто нибудь встречал ее нга с#??? Если у кого-то есть, вы не могли бы выложить...

Написание игры "виселица" или любой другой не сложной игры
нужна помощь в написании игры &quot;виселица&quot; или любой другой не сложной игры на с#...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru