Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Проекты > Проекты C++

Ответ
 
Опции темы
Старый 01.12.2008, 20:00   #1
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Счастье Моя первая прога на С++ - Пакостник v1.0

Собсно, это моя первая прога на С++ которую можно и на людях показать
Спасибо тем, кого я без устали доставал тупыми вопросами во время написания проги: HolyDel, Impersonalis, Alcosholic, Jimon, Tadeus, m_512

Название: "Пакостник"
Версия: 1.0
Совместимость с ОС Уиндоуз Уиста: да (тэстировали)
Действие проги: висить себе в ОЗУ через каждые пять минут выдавая прикольные окошечки с ошибками.
Предназначена для: мести нашему учителю информатики, который мне парашу поставил в журнал. Переименованная в svchost.exe и спрятанная от глаз людских при помощи свойства файла "скрытый" может быть и не найдена ламеромъ (или найдена спустя полчаса).
Распространение: бесплатно, без указания имени автора (не дай бог, кто поюзает по назначению и укажет имя афтара )

В аттаче скомпиленный екзешник.
Внизу код (извиняюсь за маразмы в ём, если таковые найдутся):

З.Ы. Мне вот больше всего Case 1 нравится

#include <windows.h>
#include <iostream>
#include <stdio.h>
#include <string>

// Глобальники

int lastmx;
int lastmy;

int positions[100][2];

int vectorx, vectory;

void main();

int MouseX()
{
 POINT mpos;
 GetCursorPos(&mpos);           // Получить текущую позицию мыши (Новое)
 return mpos.x;
}

int MouseY()
{
 POINT mpos;
 GetCursorPos(&mpos);           // Получить текущую позицию мыши (Новое)
 return mpos.y;
}

int MouseXSpeed()
{
	int prommx = MouseX() - lastmx;
	lastmx = MouseX();
	return prommx;
}

int MouseYSpeed()
{
	int prommy = MouseY() - lastmy;
	lastmy = MouseY();
	return prommy;
}

__forceinline void MoveMouse(int x,int y)
{
 SetCursorPos(x,y);
}
using namespace std;

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow)
{

	const long period = 300000;//600000;
	long unsigned lastmessagetime = GetTickCount(); //- period;//napis.c_str()
	int mescount = 0;
	while (1)
			
	{
		// задержко чтобы не жрать всё процессорное время

		Sleep(10);

		if (lastmessagetime + period <= GetTickCount())
		{
			// Выдаём сообщение и обнуляем шчотчик
			

			switch(mescount){
				case 0:
				{
					MessageBoxA(0,"Ты чё, гад, не спишь?", "", 16);
					break; 
				}
				case 1:
				{
					int m=0;
					while (m!=6)
					{
						m = MessageBoxA(0,"Внимание! \nПодтвердите, что вы дерьмо! \nВы дерьмо?", "Свиборг", 48+4);						
						if (m==7)MessageBoxA(0,"Неправильный ответ!", "ТЫ ДЕРЬМО!!!", 16);
					}
					break; 
				}
				case 2:
				{					
					MessageBoxA(0,"Тебе не кажется!", "Свиборг", 16);
					break; 
				}
				case 3:
				{					
					MessageBoxA(0,"Выпей йаду!", "Гном", 16);
					break; 
				}
				default:
				{
					break; 
				}
			}
			lastmessagetime = GetTickCount();
			
			if (mescount < 3)
			{
				// Фак мой моск!
				mescount = mescount + 1;
			}
			else				
			{
				// В рот мне ноги!!
				mescount = 0;
			};

		};
	};

}
Прога безобидная, но ламер вряд ли догадается что к чему.
Вложения
Тип файла: zip Pakostnik.zip (138.6 Кб, 555 просмотров)
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена


Последний раз редактировалось ABTOMAT, 01.12.2008 в 20:06.
(Offline)
 
Ответить с цитированием
Старый 01.12.2008, 21:07   #2
jimon
 
Сообщений: n/a
Ответ: Моя первая прога на С++ - Пакостник v1.0

ABTOMAT
1) в c++ надо избегать переменных вне функций любыми способами
2) __forceinline для такой функции не нужно
3) void main(); не нужно
4) вместо MouseX и MouseY проще написать GetMousePosition которая будет возращать 2д вектор (предварительно класс 2д вектора надо описать)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (01.12.2008)
Старый 01.12.2008, 22:32   #3
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Моя первая прога на С++ - Пакостник v1.0

Экранные координаты лучше хранить (принято) в long
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 01.12.2008, 23:42   #4
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Моя первая прога на С++ - Пакостник v1.0

Сообщение от impersonalis Посмотреть сообщение
Экранные координаты лучше хранить (принято) в long
почему?
ведь они ну никак не могут принять значение выше 65536
(макс разрешение о котором я слышал - это 2000 с чем-то)
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 02.12.2008, 10:59   #5
FDsagizi
Бывалый
 
Аватар для FDsagizi
 
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений
(для 509 пользователей)
Ответ: Моя первая прога на С++ - Пакостник v1.0

>>>1) в c++ надо избегать переменных вне функций любыми способами

Блиц Стаил , тоже сначала так делал. Но потом както сам допер что так делать, только в блице было разумно...
__________________
Жизнь как говориться игра- делать игры моя профессия(с)

Программирование, это религия! Её нужно исповедовать.
(Offline)
 
Ответить с цитированием
Старый 02.12.2008, 11:20   #6
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Моя первая прога на С++ - Пакостник v1.0

Сообщение от ABTOMAT Посмотреть сообщение
почему?
ведь они ну никак не могут принять значение выше 65536
(макс разрешение о котором я слышал - это 2000 с чем-то)
1) спорно (это в простом случае - экран - непосредственное отображение разрешения монитора; а если тебе понадобиться держать квазиэкранную координату? - т.е. позицию объекта относительно 0,0 для объекта, находящегося за N "экранов" от точки начала вывода [проскроленного далеко за границы отображения, но от того не утратившего своего воздействия на логику программы]).
2) чтобы непариться если вдруг перменная будет хранить не позицию а площадь объекта на экране (это не гигантомания, а разумный задел)
3) (и главное) - смотри с какими типами аргументов эти функции юзаются в mfc, winAPI...
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Kopilka3D - моя первая игра snikers Проекты на Blitz3D 4 23.11.2008 19:43
Моя первая прога :) pax Основной форум 16 11.01.2008 00:23
Сказка на ночь... Часть первая. Lamb Юмор 2 28.01.2007 01:27
Первая операционная система. ЛысыЙ_Чук-Иванчук Болтовня 12 24.09.2006 00:43


Часовой пояс GMT +4, время: 12:48.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com